import json import os import flask import db_handler app = flask.Flask(__name__, template_folder='templates', static_folder='static', static_url_path='') @app.route("/") def index(): return flask.render_template('/index.html') @app.route("/chains") def chains(): files = os.listdir(os.path.join(os.getcwd(), 'src', 'static', 'icons')) files.pop(files.index('Unknown.png')) icon_names = set([os.path.splitext(a)[0] for a in files]) chains = db_handler.get_chains() chain_names = set((a['name'] for a in chains)) if icon_names != chain_names: print(f'WARNING ICON MISSING, OR DB ENTRY MISSING') color_by_name = {a['name']: a['color'] for a in chains} return json.dumps(color_by_name) @app.route("/categories") def categories(): categories = db_handler.categories return categories @app.route("/all.json") def all(): category_RADIOACTIVE = flask.request.args.get('Category') # User input is RADIOACTIVE rows = db_handler.get_all(category_RADIOACTIVE) for row in rows: coordinates = [] for coordinate in json.loads(row['polygon'])['coordinates'][0]: coordinates.append([coordinate[1], coordinate[0]]) row['polygon'] = coordinates return json.dumps(rows)