2017-05-13 10:31:17 +02:00
|
|
|
"""Accountant runner."""
|
|
|
|
|
2017-05-19 00:05:23 +02:00
|
|
|
# vim: set tw=80 ts=4 sw=4 sts=4:
|
|
|
|
|
2017-05-13 10:31:17 +02:00
|
|
|
from os import path, getcwd
|
|
|
|
|
2017-05-13 10:41:03 +02:00
|
|
|
import click
|
|
|
|
|
2017-05-13 10:31:17 +02:00
|
|
|
from . import create_app
|
|
|
|
|
2017-05-13 10:41:03 +02:00
|
|
|
from .models import db
|
|
|
|
from .models.users import User
|
|
|
|
|
2017-05-13 10:31:17 +02:00
|
|
|
|
|
|
|
config_path = path.join(getcwd(), 'config.cfg') # pylint: disable=invalid-name
|
|
|
|
app = create_app(config_path) # pylint: disable=invalid-name
|
2017-05-13 10:41:03 +02:00
|
|
|
|
|
|
|
|
|
|
|
# Define commands to handle users.
|
|
|
|
@app.cli.group()
|
2017-05-19 11:50:36 +02:00
|
|
|
def users():
|
2017-05-13 10:41:03 +02:00
|
|
|
""" User management. """
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
2017-05-19 11:50:36 +02:00
|
|
|
@users.command()
|
2017-05-13 10:41:03 +02:00
|
|
|
def add(email, password):
|
|
|
|
""" Add a new user. """
|
|
|
|
user = User()
|
|
|
|
user.email = email
|
|
|
|
user.password = User.hash_password(password)
|
|
|
|
|
2017-05-19 13:47:55 +02:00
|
|
|
db.session.add(user) # pylint: disable=no-member
|
2017-05-13 10:41:03 +02:00
|
|
|
|
|
|
|
click.echo("User '%s' successfully added." % email)
|