From f07c7b74eef19eb5d684ee74a4b6cba96f3d5c6e Mon Sep 17 00:00:00 2001 From: Thomas Peetz Date: Sun, 19 Jan 2025 17:49:13 +0100 Subject: [PATCH] prepare progress bar for download --- python/kontor/database/__init__.py | 3 ++- python/kontor/gui/main_window.py | 2 +- python/kontor/main.py | 8 ++++---- python/requirements.txt | 1 + 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/python/kontor/database/__init__.py b/python/kontor/database/__init__.py index 031799b..54c296b 100644 --- a/python/kontor/database/__init__.py +++ b/python/kontor/database/__init__.py @@ -19,6 +19,7 @@ from .comic import Comic, Artist, Publisher, Issue, StoryArc, TradePaperback, Vo from .metadata import MetaDataTable, MetaDataColumn from .tysc import Card, CardSet, Sport, Team, FieldPosition, Rooster, Player, Vendor from .media import MediaFile, MediaArticle, MediaVideo +from ..gui.progress import ProgressUpdate class KontorDB: @@ -305,7 +306,7 @@ class KontorDB: link.review = 0 session.commit() - def download_file(self, dry_run=False): + def download_file(self, dry_run=False, update: ProgressUpdate=None): self.log.info(f"download marked files of media_file") __session__ = sessionmaker(self.engine) with __session__() as session: diff --git a/python/kontor/gui/main_window.py b/python/kontor/gui/main_window.py index 64c0d74..0996d02 100644 --- a/python/kontor/gui/main_window.py +++ b/python/kontor/gui/main_window.py @@ -143,7 +143,7 @@ class MainWindow(QMainWindow): self.log.info("download videos for table MediaFile") self.statusBar.showMessage("download videos for table MediaFile", 3000) self.status_progress.setEnabled(True) - self.kontor_db.download_file() + self.kontor_db.download_file(False, self.progress_update) self.status_progress.setEnabled(False) self.refresh() diff --git a/python/kontor/main.py b/python/kontor/main.py index 3375319..2f2e469 100644 --- a/python/kontor/main.py +++ b/python/kontor/main.py @@ -4,10 +4,10 @@ from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from kontor.controllers.media import Media -from .core.exc import KontorError -from .database.base import Base -from .controllers.clibase import CliBase -from .controllers.database import Database +from kontor.core.exc import KontorError +from kontor.database.base import Base +from kontor.controllers.clibase import CliBase +from kontor.controllers.database import Database # configuration defaults CONFIG = init_defaults('kontor', 'mariadb', 'media') diff --git a/python/requirements.txt b/python/requirements.txt index f6e0136..76bba2b 100644 --- a/python/requirements.txt +++ b/python/requirements.txt @@ -6,3 +6,4 @@ mariadb sqlalchemy PySide6 beautifulsoup4 +