summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild-feed.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/build-feed.py b/build-feed.py
index 2359344..d6de058 100755
--- a/build-feed.py
+++ b/build-feed.py
@@ -7,7 +7,7 @@ from sys import argv
from urllib.parse import urljoin
from lxml.builder import E
-from lxml.etree import CDATA, indent, tostring
+from lxml.etree import CDATA, XML, indent, tostring
from helpers import (
DATE_FORMATTERS,
@@ -75,6 +75,14 @@ def join(sequence, joiner_factory):
result.append(joiner_factory())
+def piece_list(pieces):
+ ol_list = E.ol(
+ *(XML(f'<li>{touchup_plaintext(p)}</li>') for p in pieces)
+ )
+ indent(ol_list)
+ return ol_list
+
+
CDATA_INDENT = 8*' '
@@ -90,9 +98,7 @@ def cdata_concert(concert, lang):
E.p(formatters['date'](concert.time)),
E.p(formatters['time'](concert.time)),
E.p(*join(concert.address.splitlines(), E.br)),
- E.ol(
- *(E.li(touchup_plaintext(p)) for p in concert.pieces.splitlines())
- ),
+ piece_list(concert.pieces.splitlines()),
*(E.p(line) for line in concert.instructions.splitlines()),
))