2019-04-28 18:49:02 +02:00
|
|
|
from flask import url_for
|
|
|
|
from flask_migrate import Migrate, MigrateCommand
|
|
|
|
from flask_script import Manager
|
|
|
|
|
2019-04-28 19:28:27 +02:00
|
|
|
from PDMI import server, db
|
2019-04-28 18:49:02 +02:00
|
|
|
|
|
|
|
server.config.from_object('LBI_PiPy.config')
|
|
|
|
|
|
|
|
migrate = Migrate(server, db)
|
|
|
|
manager = Manager(server)
|
|
|
|
|
|
|
|
manager.add_command('db', MigrateCommand)
|
|
|
|
|
|
|
|
|
|
|
|
@manager.command
|
|
|
|
def list_routes():
|
|
|
|
import urllib.parse
|
|
|
|
output = []
|
|
|
|
for rule in server.url_map.iter_rules():
|
|
|
|
options = {}
|
|
|
|
for arg in rule.arguments:
|
|
|
|
if arg == "id":
|
|
|
|
options[arg] = "0"
|
|
|
|
else:
|
|
|
|
options[arg] = f"[{arg}]"
|
|
|
|
methods = ",".join(rule.methods)
|
|
|
|
url = url_for(rule.endpoint, **options)
|
|
|
|
line = urllib.parse.unquote("{:50s} {:20s} {}".format(rule.endpoint, methods, url))
|
|
|
|
output.append(line)
|
|
|
|
for line in sorted(output):
|
|
|
|
print(line)
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
manager.run()
|