Updating profile info works

This commit is contained in:
BarsTiger
2023-05-12 17:02:42 +03:00
parent aadb0d6f08
commit 5e165af00f
18 changed files with 137 additions and 9 deletions

View File

@@ -1,21 +1,22 @@
import os
from cursesmenu import CursesMenu
from cursesmenu.items import FunctionItem
from typing import Callable, Any
from modules.config import sessions
from modules.config.models import SessionConfig
from ...callbacks.get_code import get_code_callback
def generate_get_code_menu() -> CursesMenu:
def generate_sessions_list(menu_name: str, callback: Callable[..., Any]) -> CursesMenu:
submenu = CursesMenu(
title='Sessions'
title=menu_name,
subtitle='name - phone - id - profile name - username'
)
for session_name in sessions.keys():
if os.path.isfile(f'{session_name}.session'):
submenu.items.append(FunctionItem(
f'{session_name} - {SessionConfig(**sessions[session_name])}',
function=get_code_callback,
function=callback,
args=[session_name]
))

View File

View File

@@ -1,7 +1,8 @@
from ...menu import menu
from cursesmenu import CursesMenu
from modules.custom_items.DynamicSubmenu import DynamicSubmenuItem
from .generator import generate_get_code_menu
from ..common_generators.valid_sessions_generator import generate_sessions_list
from ...callbacks.get_code import get_code_callback
get_code_submenu = CursesMenu(
@@ -10,6 +11,7 @@ get_code_submenu = CursesMenu(
get_code_submenu_item = DynamicSubmenuItem(
text='Get confirmation code',
generator=generate_get_code_menu,
generator=generate_sessions_list,
args=['Get code for', get_code_callback],
menu=menu
)

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.update_info import update_info_callback
def get_submenu_item(parent_menu: CursesMenu):
return DynamicSubmenuItem(
text='Update account info',
generator=generate_sessions_list,
args=['Update info for', update_info_callback],
menu=parent_menu
)