|
|
@@ -1,6 +1,8 @@
|
|
|
import click
|
|
|
from .database import Database
|
|
|
+from .output import TerminalOutput
|
|
|
from .models import *
|
|
|
+from .utils import Term
|
|
|
|
|
|
|
|
|
@click.group()
|
|
|
@@ -10,6 +12,7 @@ def main(ctx, db_url):
|
|
|
"""Basic CLI project-handling"""
|
|
|
ctx.ensure_object(dict)
|
|
|
ctx.obj['db'] = Database(db_url)
|
|
|
+ ctx.obj['output'] = TerminalOutput()
|
|
|
|
|
|
|
|
|
@main.command()
|
|
|
@@ -18,6 +21,7 @@ def main(ctx, db_url):
|
|
|
def dump(ctx, file):
|
|
|
db = ctx.obj['db']
|
|
|
db.dump(file)
|
|
|
+ click.echo(Term.success(f"Data dumped to {file}"))
|
|
|
|
|
|
|
|
|
@main.command()
|
|
|
@@ -26,6 +30,7 @@ def dump(ctx, file):
|
|
|
def load(ctx, file):
|
|
|
db = ctx.obj['db']
|
|
|
db.load(file)
|
|
|
+ click.echo(Term.success(f"Data loaded from {file}"))
|
|
|
|
|
|
|
|
|
@main.group()
|
|
|
@@ -66,9 +71,9 @@ def new(ctx, **data):
|
|
|
db = ctx.obj['db']
|
|
|
try:
|
|
|
instance = db.add(model, data)
|
|
|
- click.echo(instance)
|
|
|
+ click.echo(Term.success(instance))
|
|
|
except ValueError as e:
|
|
|
- click.echo(e.args[0])
|
|
|
+ click.echo(Term.failure(e.args[0]))
|
|
|
|
|
|
|
|
|
@click.command('list')
|
|
|
@@ -77,7 +82,10 @@ def list(ctx):
|
|
|
"""List content"""
|
|
|
model = ctx.obj['model']
|
|
|
db = ctx.obj['db']
|
|
|
- click.echo(db.list(model))
|
|
|
+ output = ctx.obj['output']
|
|
|
+
|
|
|
+ for i in db.list(model):
|
|
|
+ click.echo(output.output_data(i))
|
|
|
|
|
|
|
|
|
milestone.add_command(new)
|