From cfac80ebc88b2256317b98a243083637aa6a5b3c Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 10 Sep 2023 11:58:19 +0300 Subject: Add main html page --- .vscode/settings.json | 1 + app/server.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 56 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 5dd7cad..37ad8b8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,4 +3,5 @@ "[python]": { "editor.defaultFormatter": "ms-python.black-formatter" }, + "python.analysis.typeCheckingMode": "basic", } \ No newline at end of file diff --git a/app/server.py b/app/server.py index 5de3018..5818179 100644 --- a/app/server.py +++ b/app/server.py @@ -1,14 +1,66 @@ from typing import Any -import bottle as _bottle # type: ignore +import bottle # type: ignore from tinydb import Query from app.DatabaseManager import database_manager -bottle: Any = _bottle + +def feed_id_to_li(feed_id: str) -> str: + return f'
  • {feed_id}
  • ' + + +def feed_ids_to_ul(feed_ids: list[str]) -> str: + if len(feed_ids) == 0: + return "No feeds (yet). Add feeds by defining them in your Aggrofile. If you did that already, you might have to wait a bit for the data to propagate." + + lis = [feed_id_to_li(feed_id) for feed_id in feed_ids] + return "" + + +@bottle.route("/") +def index(): + if database_manager.db is None: + raise Exception("Database is not initialized") + + Q = Query() + res = database_manager.feeds.all() + feeds_ids = [feed["feed_id"] for feed in res] + + bottle.response.set_header("content-type", "text/html") + page = f""" + + + Aggro – Feed manipulator + + + +

    Aggro

    + Feed manipulator +

    List of feeds served at this address

    + {feed_ids_to_ul(feeds_ids)} + + + """ + + return page @bottle.route("/") -def index(feed_id: str): +def feed(feed_id: str): if database_manager.db is None: raise Exception("Database is not initialized") -- cgit v1.3