66 lines
1.7 KiB
Python
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.")
|