from flask import url_for from flask_migrate import Migrate, MigrateCommand from flask_script import Manager from LBI_PiPy import server, db 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()