add check files command
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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}")
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user