Init
This commit is contained in:
@@ -112,13 +112,13 @@ class FileStatsType(DataclassWithProperties):
|
||||
speed: int = 0
|
||||
|
||||
@property
|
||||
def percent(self):
|
||||
def percent(self) -> float:
|
||||
if self.total_size == 0:
|
||||
return 0
|
||||
return self.downloaded_size / self.total_size * 100
|
||||
|
||||
@property
|
||||
def eta(self):
|
||||
def eta(self) -> int:
|
||||
if self.speed == 0:
|
||||
return 0
|
||||
return self.total_size / self.speed
|
||||
return int(self.total_size / self.speed)
|
||||
|
||||
@@ -29,7 +29,7 @@ class DownloadManager(QObject):
|
||||
self.base_url = parent.url
|
||||
|
||||
self.max_worker = 3
|
||||
self.chunk_size = 2 * 1024 * 1024
|
||||
self.chunk_size = 512 * 1024
|
||||
self.pause = True
|
||||
self.files: dict[str, FileType] = self.conf.get_value("files", {})
|
||||
self.tasks: dict[FileType, asyncio.Task] = {}
|
||||
@@ -167,6 +167,8 @@ class DownloadManager(QObject):
|
||||
|
||||
last_update_time = current_time
|
||||
last_downloaded_size = stats.downloaded_size
|
||||
else:
|
||||
await asyncio.sleep(0.005)
|
||||
except httpx.HTTPStatusError as e:
|
||||
self.logger.error(f"Erreur HTTP lors du téléchargement de {file.target}: {e.response.status_code} - {e}")
|
||||
file.error = f"Erreur HTTP {e.response.status_code}: {str(e)}"
|
||||
|
||||
@@ -10,13 +10,13 @@ from src.download import DownloadManager
|
||||
|
||||
class WebHandler(QObject):
|
||||
on_message = Signal(dict)
|
||||
on_site_ready = Signal()
|
||||
site_ready = Signal()
|
||||
|
||||
def __init__(self, download_manager, parent=None):
|
||||
super().__init__(parent)
|
||||
self.download_manager: "DownloadManager" = download_manager
|
||||
self.conf = self.download_manager.conf
|
||||
self.site_ready = False
|
||||
self.site_loaded = False
|
||||
|
||||
self.download_manager.status_updated.connect(lambda data: self.on_message.emit({
|
||||
"context": "status_updated",
|
||||
|
||||
@@ -64,7 +64,7 @@ class MainWindow(QMainWindow):
|
||||
Args:
|
||||
file_paths (list): Liste des chemins de fichiers à traiter
|
||||
"""
|
||||
if not self.web_handler.site_ready:
|
||||
if not self.web_handler.site_loaded:
|
||||
QTimer.singleShot(100, lambda: self.handle_files(file_paths))
|
||||
self.logger.info("Site pas prêt, report de l'envoie des fichiers")
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user