from flask import Flask, render_template, send_from_directory from jinja2 import TemplateNotFound import json import pathlib from argparse import ArgumentParser app = Flask(__name__) @app.route("/assets/") def send_assets(path): return send_from_directory("assets", path) @app.route("/", defaults={"path": "index"}) @app.route("/.html") def catch_all(path): try: services = json.loads( (pathlib.Path(__file__).parent / "services.json").read_text() ) return render_template(f"{path}.html", services=services) except TemplateNotFound: return "404 Not Found", 404 if __name__ == "__main__": parser = ArgumentParser(description="Run the private.coffee web server.") parser.add_argument("--port", type=int, default=9810) parser.add_argument("--debug", action="store_true") args = parser.parse_args() app.run(port=args.port, debug=args.debug)