Source code for flexget.plugins.cli.web
from flexget import options
from flexget.event import event
from flexget.terminal import console
from flexget.utils.database import with_session
from flexget.webserver import WeakPassword, change_password, generate_token, get_user
@with_session
def do_cli(manager, options, session=None):
if options.action == 'passwd':
try:
change_password(password=options.password, session=session)
except WeakPassword as e:
console(e.value)
return
console('Updated password')
if options.action == 'gentoken':
token = generate_token(session=session)
console(f'Generated new token {token}')
if options.action == 'showtoken':
user = get_user()
console(f'Token: {user.token}')
[docs]
@event('options.register')
def register_parser_arguments():
parser = options.register_command('web', do_cli, help='Manage web server settings')
subparsers = parser.add_subparsers(dest='action', metavar='<action>')
pwd_parser = subparsers.add_parser('passwd', help='change password for web server')
pwd_parser.add_argument('password', metavar='<new password>', help='New Password')
subparsers.add_parser('gentoken', help='Generate a new api token')
subparsers.add_parser('showtoken', help='Show api token')