diff options
Diffstat (limited to 'build_rss.py')
-rwxr-xr-x | build_rss.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/build_rss.py b/build_rss.py new file mode 100755 index 0000000..f8eb4ba --- /dev/null +++ b/build_rss.py @@ -0,0 +1,51 @@ +#!/usr/bin/python3 + +from feedgen.feed import FeedGenerator +import os +import re +import operator +from datetime import datetime + +leader='https://kenkellner.com/blog/' + +links = os.listdir('build') +links.remove('index.html') +links.remove('feed.xml') + +src = [] +for i in links: + src.append('src/'+i.replace('.html','.Rmd')) + +dates = [] +for i in src: + for line in open(i): + if 'date: ' in line: + dates.append(line.split(': ')[1].strip('\n')) + +titles = [] +for i in src: + for line in open(i): + if 'title: ' in line: + titles.append(line.split(': ')[1].strip('\n')) + +dates, links, titles = zip(*sorted(zip(dates, links, titles))) + +fg = FeedGenerator() +fg.id(leader) +fg.link(href=leader+'feed.xml', rel='self') +fg.title('Ken Kellner\'s Blog') +fg.subtitle(' ') +fg.language('en') + +for i in range(len(dates)): + fe = fg.add_entry() + fe.title(titles[i]) + fe.id(leader+links[i]) + fe.link(href=leader+links[i]) + fe.author({'name': 'Ken Kellner', 'email': 'contact@kenkellner.com'}) + fe.description('') + date_raw = dates[i]+' -0500' + fe.published(datetime.strptime(date_raw, '%Y-%m-%d %z')) + +fg.rss_str(pretty=True) +fg.rss_file('build/feed.xml') |