|
2 | 2 | """
|
3 | 3 | CLI to manage redash.
|
4 | 4 | """
|
5 |
| -import json |
6 |
| - |
7 |
| - |
8 |
| -import click |
9 |
| -from flask.cli import FlaskGroup, run_command |
10 |
| - |
11 |
| -from redash import create_app, settings, __version__ |
12 |
| -from redash.cli import users, groups, database, data_sources, organization |
13 |
| -from redash.monitor import get_status |
14 |
| - |
15 |
| - |
16 |
| -def create(group): |
17 |
| - app = create_app() |
18 |
| - group.app = app |
19 |
| - return app |
20 |
| - |
21 |
| - |
22 |
| -@click.group(cls=FlaskGroup, create_app=create) |
23 |
| -def manager(): |
24 |
| - "Management script for redash" |
25 |
| - |
26 |
| - |
27 |
| -manager.add_command(database.manager, "database") |
28 |
| -manager.add_command(users.manager, "users") |
29 |
| -manager.add_command(groups.manager, "groups") |
30 |
| -manager.add_command(data_sources.manager, "ds") |
31 |
| -manager.add_command(organization.manager, "org") |
32 |
| -manager.add_command(run_command, "runserver") |
33 |
| - |
34 |
| - |
35 |
| -@manager.command() |
36 |
| -def version(): |
37 |
| - """Displays re:dash version.""" |
38 |
| - print __version__ |
39 |
| - |
40 |
| - |
41 |
| -@manager.command() |
42 |
| -def status(): |
43 |
| - print json.dumps(get_status(), indent=2) |
44 |
| - |
45 |
| - |
46 |
| -@manager.command() |
47 |
| -def runworkers(): |
48 |
| - """Start workers (deprecated).""" |
49 |
| - print "** This command is deprecated. Please use Celery's CLI to control the workers. **" |
50 |
| - |
51 |
| - |
52 |
| -@manager.command() |
53 |
| -def check_settings(): |
54 |
| - """Show the settings as re:dash sees them (useful for debugging).""" |
55 |
| - for name, item in settings.all_settings().iteritems(): |
56 |
| - print "{} = {}".format(name, item) |
57 |
| - |
58 |
| - |
59 |
| -@manager.command() |
60 |
| -@click.argument('email', default=settings.MAIL_DEFAULT_SENDER, required=False) |
61 |
| -def send_test_mail(email=None): |
62 |
| - """ |
63 |
| - Send test message to EMAIL (default: the address you defined in MAIL_DEFAULT_SENDER) |
64 |
| - """ |
65 |
| - from redash import mail |
66 |
| - from flask_mail import Message |
67 |
| - |
68 |
| - if email is None: |
69 |
| - email = settings.MAIL_DEFAULT_SENDER |
70 |
| - |
71 |
| - mail.send(Message(subject="Test Message from re:dash", recipients=[email], |
72 |
| - body="Test message.")) |
73 | 5 |
|
| 6 | +from redash.cli import manager |
74 | 7 |
|
75 | 8 | if __name__ == '__main__':
|
76 | 9 | manager()
|
0 commit comments