Logging out works
This commit is contained in:
1
modules/menu/callbacks/delete/__init__.py
Normal file
1
modules/menu/callbacks/delete/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
from .callbacks import log_out_callback
|
||||||
18
modules/menu/callbacks/delete/callbacks.py
Normal file
18
modules/menu/callbacks/delete/callbacks.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
from modules.decorators.callback import async_callback
|
||||||
|
from modules.client import GeneratedClient
|
||||||
|
from modules.config import sessions
|
||||||
|
from rich import print
|
||||||
|
|
||||||
|
|
||||||
|
@async_callback
|
||||||
|
async def log_out_callback(session_name: str):
|
||||||
|
if input('Do you really want to log out? If you don\'t have access to phone number or you are not logged in '
|
||||||
|
'on other devices/clients, you will loose your account! (y/N) ') not in ['y', 'Y']:
|
||||||
|
return
|
||||||
|
print('Logging out...')
|
||||||
|
await (client := GeneratedClient(name=session_name)).start()
|
||||||
|
await client.log_out()
|
||||||
|
del sessions[session_name]
|
||||||
|
|
||||||
|
print(f'[green]Logged out[/] from {session_name}. Go back in menu to update interface...')
|
||||||
|
input()
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
from .submenu import get_submenu_item
|
||||||
|
|||||||
13
modules/menu/dynamic/delete/submenu.py
Normal file
13
modules/menu/dynamic/delete/submenu.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
from cursesmenu import CursesMenu
|
||||||
|
from modules.custom_items.DynamicSubmenu import DynamicSubmenuItem
|
||||||
|
from ..common_generators.valid_sessions_generator import generate_sessions_list
|
||||||
|
from ...callbacks.delete.callbacks import log_out_callback
|
||||||
|
|
||||||
|
|
||||||
|
def get_submenu_item(parent_menu: CursesMenu):
|
||||||
|
return DynamicSubmenuItem(
|
||||||
|
text='Delete sessions (log out)',
|
||||||
|
generator=generate_sessions_list,
|
||||||
|
args=['Log out from', log_out_callback],
|
||||||
|
menu=parent_menu
|
||||||
|
)
|
||||||
@@ -1,9 +1,11 @@
|
|||||||
from cursesmenu import CursesMenu
|
from cursesmenu import CursesMenu
|
||||||
from ...dynamic import update
|
from ...dynamic import update
|
||||||
|
from ...dynamic import delete
|
||||||
|
|
||||||
|
|
||||||
def get_items_list(menu: CursesMenu):
|
def get_items_list(menu: CursesMenu):
|
||||||
_ = [
|
_ = [
|
||||||
update.get_submenu_item
|
update.get_submenu_item,
|
||||||
|
delete.get_submenu_item
|
||||||
]
|
]
|
||||||
return [x(menu) for x in _]
|
return [x(menu) for x in _]
|
||||||
|
|||||||
Reference in New Issue
Block a user