Logging out works

This commit is contained in:
BarsTiger
2023-05-12 17:16:33 +03:00
parent 5e165af00f
commit d3629bcf63
5 changed files with 36 additions and 1 deletions

View File

@@ -0,0 +1 @@
from .callbacks import log_out_callback

View 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()

View File

@@ -0,0 +1 @@
from .submenu import get_submenu_item

View 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
)

View File

@@ -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 _]