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:
parent
ddf20bbe69
commit
a6157c1f1e
1 changed files with 21 additions and 9 deletions
30
main.py
30
main.py
|
@ -4,20 +4,32 @@ from jinja2 import TemplateNotFound
|
||||||
import json
|
import json
|
||||||
import pathlib
|
import pathlib
|
||||||
|
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
app = Flask(__name__)
|
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("/assets/<path:path>")
|
||||||
@app.route('/<path:path>.html')
|
def send_assets(path):
|
||||||
|
return send_from_directory("assets", path)
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/", defaults={"path": "index"})
|
||||||
|
@app.route("/<path:path>.html")
|
||||||
def catch_all(path):
|
def catch_all(path):
|
||||||
try:
|
try:
|
||||||
services = json.loads((pathlib.Path(__file__).parent / "services.json").read_text())
|
services = json.loads(
|
||||||
return render_template(f'{path}.html', services=services)
|
(pathlib.Path(__file__).parent / "services.json").read_text()
|
||||||
|
)
|
||||||
|
return render_template(f"{path}.html", services=services)
|
||||||
except TemplateNotFound:
|
except TemplateNotFound:
|
||||||
return "404 Not Found", 404
|
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)
|
||||||
|
|
Loading…
Reference in a new issue