Skip to content

Commit 459bbb6

Browse files
committed
Рефакторинг кода
1 parent a0fa735 commit 459bbb6

2 files changed

Lines changed: 32 additions & 23 deletions

File tree

src/core/database/account.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,28 @@ async def update_phone_by_session(session_string: str, new_phone: str, app_logge
104104
logger.exception("Ошибка при обновлении номера")
105105
await app_logger.log_and_display(f"❌ Ошибка обновления номера: {e}")
106106
return False
107+
108+
109+
async def delete_invalid_accounts_from_database(gui_program):
110+
"""
111+
Очистка базы данных от аккаунтов, которые были занесены в базу данных. Перед удалением, аккаунты сохраняются в файл.
112+
:return: None
113+
"""
114+
accounts = []
115+
for record in Account.select(Account.session_string, Account.phone_number):
116+
accounts.append(f"{record.session_string};{record.phone_number}")
117+
118+
logger.info(f"Сохраняем аккаунты в файл: {accounts}")
119+
120+
# Дозаписываем данные в txt файл (режим 'a')
121+
with open('user_data/accounts.txt', 'a', encoding='utf-8') as f:
122+
for account in accounts:
123+
f.write(account + '\n')
124+
125+
# Очищаем базу данных
126+
query = Account.delete()
127+
query.execute()
128+
129+
await gui_program.show_notification( # ✅ Показываем уведомление пользователю
130+
message="✅ Все аккаунты сохранены в user_data/accounts.txt и удалены из базы данных."
131+
)

src/features/account/connect.py

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717

1818
from src.core.configs import BUTTON_HEIGHT, WIDTH_WIDE_BUTTON, api_id, api_hash
1919
from src.core.database.account import (
20-
getting_account, write_account_to_db, delete_account_from_db, update_phone_by_session, Account
20+
getting_account, write_account_to_db, delete_account_from_db, update_phone_by_session, Account,
21+
delete_invalid_accounts_from_database
2122
)
2223
from src.core.utils import Utils
2324
from src.features.proxy.checking_proxy import Proxy
@@ -388,29 +389,12 @@ async def account_connection_menu(self):
388389
max_lines=1
389390
)
390391

391-
async def delete_invalid_accounts_from_database():
392+
async def delete_invalid_accounts_from_databases():
392393
"""
393-
Очистка базы данных от аккаунтов, которые были занесены в базу данных. Перед удалением, аккаунты сохраняются в файл.
394-
:return: None
394+
Очистка базы данных с аккаунтами
395+
:return:
395396
"""
396-
accounts = []
397-
for record in Account.select(Account.session_string, Account.phone_number):
398-
accounts.append(f"{record.session_string};{record.phone_number}")
399-
400-
logger.info(f"Сохраняем аккаунты в файл: {accounts}")
401-
402-
# Дозаписываем данные в txt файл (режим 'a')
403-
with open('user_data/accounts.txt', 'a', encoding='utf-8') as f:
404-
for account in accounts:
405-
f.write(account + '\n')
406-
407-
# Очищаем базу данных
408-
query = Account.delete()
409-
query.execute()
410-
411-
await self.gui_program.show_notification( # ✅ Показываем уведомление пользователю
412-
message="✅ Все аккаунты сохранены в user_data/accounts.txt и удалены из базы данных."
413-
)
397+
await delete_invalid_accounts_from_database(self.gui_program)
414398

415399
async def connecting_number_accounts(_) -> None:
416400
"""Подключение аккаунта Telegram по номеру телефона"""
@@ -638,7 +622,7 @@ async def handle_get_directory_path(e: ft.Event[ft.Button]):
638622
content="Очистить базу данных",
639623
width=WIDTH_WIDE_BUTTON,
640624
height=BUTTON_HEIGHT,
641-
on_click=delete_invalid_accounts_from_database
625+
on_click=delete_invalid_accounts_from_databases
642626
),
643627
await self.gui_program.diver_castom(), # Горизонтальная линия
644628
# "Подключение аккаунта Telegram по номеру телефона.",

0 commit comments

Comments
 (0)