From fe935e5ac78cf4a4c28caf8e0660338002ff5fef Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Sat, 15 Jul 2023 13:27:52 -0400 Subject: drop file extension from generate-feed.py --- generate-feed | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 generate-feed (limited to 'generate-feed') diff --git a/generate-feed b/generate-feed new file mode 100755 index 00000000..4641bb9b --- /dev/null +++ b/generate-feed @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 + +from datetime import datetime + +import lxml.html +from lxml import etree + +document = lxml.html.parse("static-tmp/releases.html").getroot() +releases = document.body.cssselect("#changelog article") + +updated = None +entries = [] + +for release in releases: + title = release.attrib["id"] + try: + time = datetime.strptime(title, "%Y%m%d%H").isoformat() + "Z" + except ValueError: + time = datetime.strptime(title, "%Y.%m.%d.%H").isoformat() + "Z" + if updated is None: + updated = time + content = [etree.tostring(e).decode() for e in release.getchildren()[1:]] + entries.append(f""" + + https://grapheneos.org/releases#{title} + + {title} + {time} + {time} + +
+ {"".join(content)} +
+
+
""") + +feed = f""" + + https://grapheneos.org/releases#changelog + + + + https://grapheneos.org/favicon.ico + GrapheneOS changelog + {updated} + + GrapheneOS + contact@grapheneos.org + https://grapheneos.org/ + {"".join(entries)} + +""" + +with open("static-tmp/releases.atom", "w") as f: + f.write(feed) -- cgit v1.3.1