RSS feeds maken in Python

Soms is het handig om een RSS feed te genereren als uitvoer van een script. In deze post zal ik toelichten hoe ik dit doe in Python met feedgen.

Feedgen kan geïnstalleerd worden met pip:

pip install feedgen

Vervolgens kunnen we een rss feed maken als volgt:

from feedgen.feed import FeedGenerator

fg = FeedGenerator()
fg.title("Vincent's Site")
fg.id("https://www.vincentlammens.be/blog/")
fg.author( {'name':'Vincent Lammens','email':'vincent@vincentlammens.be'} )
fg.link( href='https://www.vincentlammens.be/blog/', rel='alternate' )
fg.link( href='https://www.vincentlammens.be/feed.xml', rel='self' )
fg.description("A blog about IT and occasionaly other things")
for post in posts:
    fe = fg.add_entry()
    fe.title(post["title"])
    fe.id("https://www.vincentlammens.be"+post["url"])
    fe.link(href="https://www.vincentlammens.be"+post["url"])
    fe.author({'name':'Vincent Lammens','email':'vincent@vincentlammens.be'})
    fe.published(post["date"])
    fe.updated(post["updated"]) if post["updated"] is not None else fe.updated(post["date"])
    fe.content(post["content"])
fg.atom_file(OUTPUT_DIR+'/feed.xml',pretty=True)