WIP (not working) : désactivation async et passage à full qt
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
import asyncio
|
||||
import sys
|
||||
from pathlib import Path
|
||||
import logging
|
||||
import base64
|
||||
import threading
|
||||
|
||||
from PySide6.QtCore import QTimer
|
||||
from PySide6.QtGui import QIcon
|
||||
from PySide6.QtWidgets import QMainWindow
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
import logging
|
||||
import base64
|
||||
|
||||
from src.conf import ConfManager
|
||||
from src.download import DownloadManager
|
||||
from src.handler import WebHandler
|
||||
@@ -42,19 +43,20 @@ class MainWindow(QMainWindow):
|
||||
self.setCentralWidget(self.site_window)
|
||||
|
||||
# connection des signaux
|
||||
self.site_window.on_cookie_added.connect(lambda cookie: asyncio.ensure_future(self.download_manager.add_cookie(cookie)))
|
||||
self.site_window.on_cookie_added.connect(self.download_manager.add_cookie)
|
||||
self.logger.debug("Signaux connectés")
|
||||
|
||||
# initialisation du gestionnaire de téléchargement
|
||||
self.dm_loop = None
|
||||
QTimer.singleShot(0, self.setup_async_tasks)
|
||||
QTimer.singleShot(0, self.setup_tasks)
|
||||
|
||||
self.logger.info("Fenêtre principale initialisée avec succès")
|
||||
|
||||
def setup_async_tasks(self):
|
||||
# Lancer les tâches asyncio une fois que l'application est prête
|
||||
self.logger.debug("Configuration des tâches asynchrones")
|
||||
self.dm_loop = asyncio.ensure_future(self.download_manager.loop_queue())
|
||||
def setup_tasks(self):
|
||||
# Lancer les tâches une fois que l'application est prête
|
||||
self.logger.debug("Configuration des tâches")
|
||||
self.dm_loop = threading.Thread(target=self.download_manager.loop_queue, daemon=True)
|
||||
self.dm_loop.start()
|
||||
self.logger.debug("File d'attente de téléchargement démarrée")
|
||||
|
||||
def handle_files(self, file_paths):
|
||||
@@ -89,3 +91,14 @@ class MainWindow(QMainWindow):
|
||||
self.logger.error(f"Erreur lors de la lecture ou de l'encodage du fichier {file_path}: {e}")
|
||||
else:
|
||||
self.logger.warning(f"Le fichier {file_path} n'existe pas")
|
||||
|
||||
def closeEvent(self, event, /):
|
||||
self.download_manager.pause = True
|
||||
self.download_manager.stop = True
|
||||
self.download_manager.waiter.set()
|
||||
|
||||
self.download_manager.close_thread_workers()
|
||||
|
||||
self.dm_loop.join(timeout=1)
|
||||
|
||||
event.accept()
|
||||
|
||||
Reference in New Issue
Block a user