summaryrefslogtreecommitdiff
path: root/loadarticle.py
blob: d776ae3747466f6e421cb4ccb2b432dbd6dcbc8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import db
import sys
import datetime

path = input("Enter path to db entry backup: ")
sys.path.append(path)
import dbbak

r = db.DB()
r.add_article(dbbak.db_entry)
print(r.get_all_keys())
print(r.get_article(dbbak.db_entry['url']))

def gen_item(article):
    date = article["date"].split("/")
    date = datetime.date(int(date[2]), int(date[0]), int(date[1]))
    item = [ '<item>', f'<title>{article["title"]}</title>', f'<guid>https://jacobmcdonnell.com/articles/{article["url"]}/</guid>', f'<link>https://jacobmcdonnell.com/articles/{article["url"]}/</link>', f'<pubDate>{date.strftime("%d %b %Y")} 00:00:00 -0500</pubDate>', '<description><![CDATA[', article["desc"],']]></description>', '</item>' ]
    return "\n".join(item)

def gen_rss():
    rss = ['<?xml version="1.0" encoding="utf-8"?>', '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">', '<channel>', '<title>Jacob McDonnell</title>', '<description>Articles from Jacob McDonnell.</description>', '<language>en-us</language>', '<link>https://jacobmcdonnell.com/rss.xml</link>', '<atom:link href="https://jacobmcdonnell.com/rss.xml" rel="self" type="application/rss+xml" />', '<image>', '<title>Jacob McDonnell</title>', '<url>https://jacobmcdonnell.com/favicon.ico</url>', '<link>https://jacobmcdonnell.com/rss.xml</link>', '</image>' ]
    articles = sorted(r.get_all_articles(), reverse=True, key=lambda d: d['id'])
    for article in articles:
        rss.append(gen_item(article))
    rss.append("</channel></rss>")
    rss = "\n".join(rss)
    file = open("static/rss.xml", "w")
    file.write(rss)
    file.close()

rss = input("Do you want to generate a new rss file? [y or n]: ")
if rss == 'y':
    gen_rss()