aboutsummaryrefslogtreecommitdiff
path: root/pyenc/app/cmdline.py
blob: 101986a934153eb20c24955ef73be1a87f682b21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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('drop-db')
def drop_database():
    from pyenc.app.model import db
    from sqlalchemy import MetaData
    m = MetaData()
    m.reflect(db.engine)
    m.drop_all(db.engine)

@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)