import click from flask.cli import AppGroup app_group = AppGroup('user', help="Testt") @app_group.command('enc') @click.argument('fqdn') def enc(fqdn): from pyenc import enc enc.run_enc(fqdn) @app_group.command('init-db') def initialize_database(): from pyenc.app import model model.db.create_all() # model.db.session.add(model.Misc(key='db-version', value='0.1')) # model.db.session.add(model.Misc(key='default-table', value='production')) # model.db.session.commit() @app_group.command('enumerate-classes') @click.argument('environment') def enumerate_classes(environment): from pyenc import enumerate_classes as enumerate_classes_ environment_name = environment # TODO path should be an argument path_base = '/var/lib/machines/busting/etc/puppetlabs/code/environments/' enumerate_classes_.run( path_base=path_base, environment_name=environment_name) def init_app(app): """Add command line options to current flask app.""" app.cli.add_command(app_group)