From fa952847d51990675eefa2994f66b33162ac3c41 Mon Sep 17 00:00:00 2001 From: Christian Heller <c.heller@plomlompom.de> Date: Wed, 22 Jan 2025 20:19:09 +0100 Subject: [PATCH] Add dat file reload button. --- ledger.py | 11 +++++++++-- templates/_base.tmpl | 4 +++- templates/index.tmpl | 3 --- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ledger.py b/ledger.py index 89d5ca2..22e051a 100755 --- a/ledger.py +++ b/ledger.py @@ -221,6 +221,8 @@ class Handler(PlomHttpHandler): def do_POST(self) -> None: # pylint: disable=invalid-name,missing-function-docstring + if self.pagename == 'reload': + self.server.load() self.redirect(Path('')) def do_GET(self) -> None: @@ -247,9 +249,14 @@ class Server(PlomHttpServer): def __init__(self, path_dat: Path, *args, **kwargs) -> None: super().__init__(PATH_TEMPLATES, (SERVER_HOST, SERVER_PORT), Handler) + self._path_dat = path_dat + self.load() + + def load(self) -> None: + """Read into ledger file at .path_dat.""" self.dat_lines = [ - DatLine(line) - for line in path_dat.read_text(encoding='utf8').splitlines()] + DatLine(line) + for line in self._path_dat.read_text(encoding='utf8').splitlines()] self.bookings: list[Booking] = [] booking_lines: list[DatLine] = [] last_date = '' diff --git a/templates/_base.tmpl b/templates/_base.tmpl index 268fb64..5d80c44 100644 --- a/templates/_base.tmpl +++ b/templates/_base.tmpl @@ -12,7 +12,9 @@ table.warning tbody tr td, tr.warning td { background-color: #ff8888; } </style> </head> <body> -<a href="/">home</a> · <a href="/raw">raw</a> · <a href="/balance">balance</a> +<form action="/reload" method="POST"> +<a href="/">home</a> · <a href="/raw">raw</a> · <a href="/balance">balance</a> · <input type="submit" value="reload" /> +</form> <hr /> {% block content %}{% endblock %} </body> diff --git a/templates/index.tmpl b/templates/index.tmpl index 43be0f4..886a01c 100644 --- a/templates/index.tmpl +++ b/templates/index.tmpl @@ -7,8 +7,5 @@ {% endblock %} {% block content %} -<form action="/" method="POST"><input type="submit" value="A" /></form> -<form action="/" method="GET"><input type="submit" value="B" /></form> -<hr/> {{ macros.table_dat_lines(dat_lines, single=false, raw=false) }} {% endblock %} -- 2.30.2