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.
This commit is contained in:
Kumi 2024-04-17 10:45:28 +02:00
parent ddf20bbe69
commit a6157c1f1e
Signed by: kumi
GPG key ID: ECBCC9082395383F

30
main.py
View file

@ -4,20 +4,32 @@ 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')
@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)
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__':
app.run(port=9810)
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)