aboutsummaryrefslogtreecommitdiff
path: root/blog/generate_feed.py
diff options
context:
space:
mode:
authornathansmith117 <nathansmith@posteo.com>2025-03-30 21:50:32 -0600
committernathansmith117 <nathansmith@posteo.com>2025-03-30 21:50:32 -0600
commit61cbae386b256bb6adb0adaa52cd00585a0820e2 (patch)
tree90a430ea7308d35d16d918bac398342f0bfe03bc /blog/generate_feed.py
parent45aaca33b67b1dc764b199a9e4c3aebf4892c2a7 (diff)
Made blogging system better
Diffstat (limited to 'blog/generate_feed.py')
-rwxr-xr-xblog/generate_feed.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/blog/generate_feed.py b/blog/generate_feed.py
new file mode 100755
index 0000000..a8eec23
--- /dev/null
+++ b/blog/generate_feed.py
@@ -0,0 +1,49 @@
+#! /usr/bin/python3
+
+import xml.etree.ElementTree as et
+
+def main():
+ tree = et.parse("articles.xml")
+ root = tree.getroot()
+
+ feed_xml = """<?xml version="1.0" encoding="UTF-8" ?>
+<rss version=\"2.0\">
+ <channel>
+ <title>Nathan's shitty blog</title>
+ <description>The coffee powered blog of chaos</description>
+ <link>http://nathansmith117.beevomit.org/blog</link>
+ <image>
+ <url>http://nathansmith117.beevomit.org/images/icon.png</url>
+ <title>Nathan's shitty blog</title>
+ <link>http://nathansmith117.beevomit.org/blog</link>
+ </image>
+ """
+
+ for item in root:
+ with open(item.find("file").text, "r") as fp:
+ feed_xml += """
+ <item>
+ <title>{title}</title>
+ <link>http://nathansmith117.beevomit.org/blog#{name}</link>
+ <pubDate>{date}</pubDate>
+ <description>
+ <![CDATA[
+ {article}
+ ]]>
+ </description>
+ </item>
+ """.format(
+ title=item.find("title").text,
+ name=item.find("name").text,
+ date=item.find("pubDate").text,
+ article=fp.read()
+ )
+
+ feed_xml += """
+ </channel>
+</rss>
+ """
+ print(feed_xml)
+
+if __name__ == "__main__":
+ main()