forked from fossasia/open-event-server
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmanage.py
More file actions
46 lines (40 loc) · 1.38 KB
/
manage.py
File metadata and controls
46 lines (40 loc) · 1.38 KB
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
46
"""Copyright 2015 Rafal Kowalski"""
from app.helpers.data import save_to_db
from app.models.event import Event, get_new_event_identifier
from app import manager
from app import current_app as app
from app.models import db
from app.helpers.data import DataManager
from populate_db import populate
@manager.command
def list_routes():
import urllib
output = []
for rule in app.url_map.iter_rules():
methods = ','.join(rule.methods)
line = urllib.unquote("{:50s} {:20s} {}".format(
rule.endpoint, methods, rule))
output.append(line)
for line in sorted(output):
print line
@manager.command
def add_event_identifier():
events = Event.query.all()
for event in events:
event.identifier = get_new_event_identifier()
save_to_db(event)
@manager.option('-c', '--credentials', help='Super admin credentials. Eg. username:password')
def initialize_db(credentials):
with app.app_context():
populate_data = True
try:
db.create_all()
credentials = credentials.split(":")
DataManager.create_super_admin(credentials[0], credentials[1])
except:
populate_data = False
print "Could not create tables. Either database does not exist or tables already created"
if populate_data:
populate()
if __name__ == "__main__":
manager.run()