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.redirect('/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("/supermarkets.json") def supermarkets(): return db_handler.get_supermarkets() @app.route("/voronoi_polygons.json") def voronoi_polygons(): d = db_handler.voronoi_polygons() @app.route("/all.json") def all(): rows = db_handler.get_all() 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)