diff options
Diffstat (limited to 'animism-align/cli')
| -rw-r--r-- | animism-align/cli/app/server/web.py | 2 | ||||
| -rw-r--r-- | animism-align/cli/commands/admin/changepassword.py | 23 |
2 files changed, 25 insertions, 0 deletions
diff --git a/animism-align/cli/app/server/web.py b/animism-align/cli/app/server/web.py index 58754a2..f9714cb 100644 --- a/animism-align/cli/app/server/web.py +++ b/animism-align/cli/app/server/web.py @@ -23,6 +23,7 @@ from app.controllers.upload_controller import UploadView from app.controllers.media_controller import MediaView from app.controllers.episode_controller import EpisodeView from app.controllers.venue_controller import VenueView +from app.controllers.user_controller import UserView def create_app(script_info=None): """ @@ -47,6 +48,7 @@ def create_app(script_info=None): MediaView.register(app, route_prefix='/api/v1/') EpisodeView.register(app, route_prefix='/api/v1/') VenueView.register(app, route_prefix='/api/v1/') + UserView.register(app, route_prefix='/api/v1/') index_html = 'index.html' diff --git a/animism-align/cli/commands/admin/changepassword.py b/animism-align/cli/commands/admin/changepassword.py new file mode 100644 index 0000000..fd96aa0 --- /dev/null +++ b/animism-align/cli/commands/admin/changepassword.py @@ -0,0 +1,23 @@ +import click + +@click.command('changepassword') +@click.option('-u', '--username', 'opt_username', required=True, + help='Username to change') +@click.pass_context +def cli(ctx, opt_username): + from getpass import getpass + from app.utils.auth_utils import encrypt_password + from app.sql.common import db, Session, User + + session = Session() + user = session.query(User).filter(User.username == opt_username).first() + if not user: + session.close() + raise ValueError("User does not exists") + + password = encrypt_password(getpass()) + + user.password = password + session.add(user) + session.commit() + session.close() |
