Files
kontor/python/kontor/controllers/media.py
T
2025-01-16 16:50:14 +01:00

66 lines
1.7 KiB
Python

from cement import Controller, ex
from ..database import KontorDB
class Media(Controller):
class Meta:
label = 'media'
stacked_type = 'nested'
stacked_on = 'base'
@ex(
label='update',
help='update title for mediafiles',
)
def update_title(self):
if self.app.pargs.dry_run:
print('print command to shell')
self.app.render({}, 'update.jinja2')
@ex(
label='download',
help='download all marked videos',
arguments=[
(['-d', '--dir'],
{'help': 'directory to store videos',
'action': 'store',
'dest': 'media_dir'})
],
)
def download(self):
data = {
'media_dir': '/data/media',
}
if self.app.pargs.media_dir is not None:
data['media_dir'] = self.app.pargs.media_dir
if self.app.pargs.dry_run:
print('print command to shell')
self.app.render(data, 'download.jinja2')
@ex(
help='add url to database',
arguments=[
(['-u', '--url'],
{'help': 'link to downloadable video',
'action': 'store',
'dest': 'link'})
],
)
def add(self):
data = {
'link_url': None
}
if self.app.pargs.link is not None:
data['link_url'] = self.app.pargs.link
if self.app.pargs.dry_run:
print(f"add url {data['link_url']} to database")
kontor_db = KontorDB(self.app.session, self.app.log)
kontor_db.add_link(self.app.pargs.link, self.app.pargs.dry_run)
else:
print("no url was given.")