add check files command

This commit is contained in:
Thomas Peetz
2025-01-17 17:19:31 +01:00
parent 917e287784
commit 3c4d3ad326
3 changed files with 39 additions and 1 deletions
+18
View File
@@ -59,3 +59,21 @@ class Media(Controller):
else:
print("no url was given.")
@ex(
help='check files if existing',
arguments=[
(['-d', '--dir'],
{'help': 'directory to store videos',
'action': 'store',
'dest': 'media_dir'})
],
)
def check(self):
data = {
'media_dir': '/data/media',
}
if self.app.pargs.media_dir is not None:
data['media_dir'] = self.app.pargs.media_dir
kontor_db = KontorDB(self.app.engine, self.app.config, self.app.log)
kontor_db.check_files()
+13 -1
View File
@@ -322,8 +322,14 @@ class KontorDB:
filename = self.download_url(link)
if filename is None:
link.file_name = filename
link.should_download = 1
else:
download_file = Path(filename)
download_file.with_name(f"{link.id}{download_file.suffix}")
link.file_name = download_file.name
link.should_download = 0
session.commit()
link.cloud_link = download_file.absolute()
session.commit()
def parse_output(self, lines_list):
file_name = ""
@@ -354,3 +360,9 @@ class KontorDB:
return self.parse_output(lines_list)
else:
return None
def check_files(self):
media_dir = Path(self.config.get('media', 'dir'))
if not media_dir.exists():
return
self.log.info(f"check files in {media_dir}")
+8
View File
@@ -62,6 +62,8 @@ class MainWindow(QMainWindow):
self.updateTitleAction.triggered.connect(self.update_title)
self.downloadAction = QAction("&Download Videos", self)
self.downloadAction.triggered.connect(self.download_file)
self.checkFileAction = QAction("&Check files", self)
self.checkFileAction.triggered.connect(self.check_files)
self.exitAction = QAction("&Beenden", self)
self.exitAction.setShortcut("Alt+F4")
self.exitAction.triggered.connect(self.close)
@@ -82,6 +84,7 @@ class MainWindow(QMainWindow):
media_file_menu = QMenu("&MediaFile")
media_file_menu.addAction(self.updateTitleAction)
media_file_menu.addAction(self.downloadAction)
media_file_menu.addAction(self.checkFileAction)
kontor_menu.addMenu(comic_menu)
kontor_menu.addMenu(tysc_menu)
kontor_menu.addMenu(media_file_menu)
@@ -134,6 +137,11 @@ class MainWindow(QMainWindow):
self.statusBar.showMessage("download videos for table MediaFile", 3000)
self.kontor_db.download_file()
def check_files(self):
self.log.info("check files")
self.statusBar.showMessage("check files for table MediaFile", 3000)
self.kontor_db.check_files()
def refresh(self):
self.data[self.tabs.currentIndex()].refresh()