/
broot
/
flowee
Обзор
Документация
Войти
/
broot
/
flowee
Код
Пакеты
0
Релизы
2
Аналитика
Безопасность
dev
main.py
52 строки
2 KB
broot
Fix orphaned session recovery: correct type, name, and UI refresh
22 июл 2026, 22:58
22 июл 2026, 22:58
7805126
Код
Авторство
О чём код?
"""Точка входа Flowee.""" import sys import os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from core.config import load_config # noqa: E402 # sys.path.insert выше from core.database import connect, init_db # noqa: E402 # sys.path.insert выше from core.timer import TimerCore # noqa: E402 # sys.path.insert выше from ui.main_window import MainWindow # noqa: E402 # sys.path.insert выше from ui.dialogs import RecoveryDialog # noqa: E402 # sys.path.insert выше from PySide2.QtWidgets import QApplication, QDialog # noqa: E402 # sys.path.insert выше def main(): config = load_config() db_path = config.get("db_path", "worklog.db") conn = connect(db_path) init_db(conn) timer = TimerCore(conn, config) app = QApplication(sys.argv) recovered = False # флаг: был ли показан диалог и сделан выбор if timer.has_orphaned_session(): task_id = timer.previous_task_id or timer.active_session_id task_name = "" if task_id: cur = conn.execute("SELECT name FROM tasks WHERE id = ?", (task_id,)) row = cur.fetchone() if row: task_name = row[0] dialog = RecoveryDialog(timer.orphaned_session_type, task_name or "Неизвестная задача") if dialog.exec_() == QDialog.Accepted: choice = dialog.get_choice() timer.resolve_orphaned(choice) recovered = True window = MainWindow(config, timer) if recovered: window.refresh_after_recovery() window.show() sys.exit(app.exec_()) if __name__ == "__main__": main()