privatecoffee-website/main.py
Kumi a6157c1f1e
feat: add CLI for server config
Introduced argument parsing to provide command-line options for configuring the server port and enabling debug mode, enhancing flexibility for local development or deployment needs. The changes include adjusting string quotes for consistency and minor formatting improvements.

This addition allows users to start the web server with custom configurations without modifying the source code directly, making it more convenient to run in different environments or debug as needed.
2024-04-17 10:45:28 +02:00

36 lines
945 B
Python

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/<path:path>")
def send_assets(path):
return send_from_directory("assets", path)
@app.route("/", defaults={"path": "index"})
@app.route("/<path:path>.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)