diff options
Diffstat (limited to 'blog/generate_feed.py')
-rwxr-xr-x | blog/generate_feed.py | 49 |
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() |