home · contact · privacy
Minor refactoring. master
authorChristian Heller <c.heller@plomlompom.de>
Wed, 21 Jan 2026 01:40:06 +0000 (02:40 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Wed, 21 Jan 2026 01:40:06 +0000 (02:40 +0100)
src/ledgplom/http.py

index 5ffb60537c36d891e378955160b819246cd3be56..5766433b847b7e81f1ec0427125e71e2246a61f6 100644 (file)
@@ -125,26 +125,23 @@ class _Handler(PlomHttpHandler):
             self.redirect(
                 Path('/', PAGENAME_EDIT_STRUCTURED, self.path_toks[2]))
             return
+        ctx: dict[str, Any] = {}
         if self.pagename.endswith('.js'):
-            self.get_js()
+            if self.pagename.startswith(PAGENAME_EDIT_STRUCTURED):
+                block = self.server.ledger.blocks[int(self.path_toks[2])]
+                ctx['raw_gap_lines'] = [dl.raw for dl in block.gap.lines]
+                ctx['booking_lines'] = (
+                    [block.booking.intro_line.as_dict]
+                    + [tf_line.as_dict
+                       for tf_line in block.booking.transfer_lines]
+                    ) if block.booking else []
+            self.send_http(
+                    bytes(self.server.jinja.get_template(self.pagename
+                                                         ).render(**ctx),
+                          encoding='utf8'),
+                    [('Content-Type', 'text/javascript')])
             return
-        ctx = {'unsaved_changes': self.server.ledger.tainted,
-               'path': self.path}
-        self._send_rendered(self.pagename,
-                            ctx | render_ctx_on_path(self.server.ledger,
-                                                     self.path_toks[1:]))
-
-    def get_js(self) -> None:
-        'Deliver .js module.'
-        ctx = {}
-        if self.pagename == PAGENAME_EDIT_STRUCTURED + '.js':
-            block = self.server.ledger.blocks[int(self.path_toks[2])]
-            ctx['raw_gap_lines'] = [dl.raw for dl in block.gap.lines]
-            ctx['booking_lines'] = (
-                [block.booking.intro_line.as_dict]
-                + [tf_line.as_dict for tf_line in block.booking.transfer_lines]
-                ) if block.booking else []
-        self.send_http(
-            bytes(self.server.jinja.get_template(self.pagename).render(**ctx),
-                  encoding='utf8'),
-            [('Content-Type', 'text/javascript')])
+        ctx['path'] = self.path
+        ctx['unsaved_changes'] = self.server.ledger.tainted
+        ctx |= render_ctx_on_path(self.server.ledger, self.path_toks[1:])
+        self._send_rendered(self.pagename, ctx)