refactored code
This commit is contained in:
parent
f20a851d9f
commit
d69f0c27a4
100
main.py
100
main.py
|
@ -2,7 +2,8 @@ import configparser
|
|||
from datetime import date
|
||||
import feedparser
|
||||
from mdutils import MdUtils
|
||||
|
||||
from os import path
|
||||
from shutil import copy
|
||||
|
||||
#################
|
||||
# Configuration #
|
||||
|
@ -18,25 +19,14 @@ heading_animation = "fade-right"
|
|||
list_animation = "fade-left"
|
||||
ConvertToHTML = True
|
||||
title = date.today().strftime('%d %B, %Y')
|
||||
feeds = configparser.ConfigParser()
|
||||
og_title = title
|
||||
feed_configuration = ['feeds.ini','covid.ini']
|
||||
archive_configuration = {"feeds.ini":{"id":"daily-dose-list","folder":"archive-daily-dose",'title':"Daily-Dose"},"covid.ini":{"id":"covid-19-list","folder":"archive-covid-19","title":"Covid-19 Sentry"}}
|
||||
update_archive = True
|
||||
|
||||
################
|
||||
# Main Program #
|
||||
###############
|
||||
|
||||
if (pdf and not markdown) or (html and not markdown):
|
||||
print("Markdown should be True to convert to pdf/html")
|
||||
|
||||
if feeds.read("feeds.ini") == []:
|
||||
print("feeds.ini does not exist!")
|
||||
exit(1)
|
||||
else:
|
||||
print("Reading feeds.ini")
|
||||
feeds.read("feeds.ini")
|
||||
|
||||
rss_feeds = [x for x in feeds.keys()]
|
||||
rss_feeds.pop(0)
|
||||
print("Read %s feeds from the configuration file" % str(len(rss_feeds)))
|
||||
#############
|
||||
# Functinos #
|
||||
#############
|
||||
|
||||
def GetPosts(feed):
|
||||
Posts = {}
|
||||
|
@ -115,6 +105,68 @@ def GetPosts(feed):
|
|||
|
||||
return Posts
|
||||
|
||||
def add_today(HomeFile,TagID,folder):
|
||||
title = og_title
|
||||
if path.exists(title+".html") or path.exists(str("./%s/"%folder)+title+".html"):
|
||||
if path.exists(str("./%s/"%folder)+title+".html"):
|
||||
None
|
||||
else:
|
||||
copy(str(title+".html"),folder)
|
||||
else:
|
||||
print("File does not exist!")
|
||||
exit(1)
|
||||
|
||||
|
||||
|
||||
TagToFind = 'ul'
|
||||
TagID = TagID
|
||||
|
||||
soup = None
|
||||
|
||||
with open(HomeFile) as fp:
|
||||
soup = BeautifulSoup(fp,'html.parser')
|
||||
ToUpdate = soup.find(TagToFind,{"id":TagID})
|
||||
FilePath = str("./%s/"%folder) + str(str(title)+".html")
|
||||
|
||||
NewTag = soup.new_tag('li')
|
||||
anchor = soup.new_tag('a',href=str('./%s/'%folder+title+".html"))
|
||||
anchor.string = title
|
||||
NewTag.append(anchor)
|
||||
|
||||
ToUpdate.insert(0,NewTag)
|
||||
|
||||
with open(HomeFile,'w') as fp:
|
||||
fp.write(str(soup))
|
||||
|
||||
################
|
||||
# Main Program #
|
||||
###############
|
||||
|
||||
if (pdf and not markdown) or (html and not markdown):
|
||||
print("Markdown should be True to convert to pdf/html")
|
||||
exit(1)
|
||||
|
||||
if (update_archive and not html):
|
||||
print("HTML is required to update archive")
|
||||
exit(1)
|
||||
|
||||
for config in feed_configuration:
|
||||
|
||||
title = og_title
|
||||
feeds = configparser.ConfigParser()
|
||||
|
||||
if feeds.read(config) == []:
|
||||
print("%s does not exist!"%config)
|
||||
exit(1)
|
||||
else:
|
||||
print("Reading %s"%config)
|
||||
feeds.read(config)
|
||||
|
||||
rss_feeds = [x for x in feeds.keys()]
|
||||
rss_feeds.pop(0)
|
||||
print("Read %s feeds from the configuration file" % str(len(rss_feeds)))
|
||||
print(rss_feeds)
|
||||
|
||||
|
||||
posts = {}
|
||||
for feed in rss_feeds:
|
||||
|
@ -124,7 +176,8 @@ for feed in rss_feeds:
|
|||
#print(posts)
|
||||
|
||||
if markdown:
|
||||
mdfile = MdUtils(file_name=title,title='Daily Dose')
|
||||
mdfile = None
|
||||
mdfile = MdUtils(file_name=title,title=archive_configuration[config]['title'])
|
||||
for feed in posts:
|
||||
mdfile.new_header(level=1,title="From %s" % feed)
|
||||
for idx in range(posts[feed]["NoOfPosts"]):
|
||||
|
@ -169,7 +222,7 @@ if html:
|
|||
soup = BeautifulSoup(fp,'html5lib')
|
||||
|
||||
title = soup.new_tag('title')
|
||||
title.string = "DailyDose"
|
||||
title.string = archive_configuration[config]['title']
|
||||
|
||||
soup.head.append(title)
|
||||
viewport = soup.new_tag("meta",content="width=device-width, initial-scale=1.0")
|
||||
|
@ -198,7 +251,7 @@ if html:
|
|||
ToEdit = soup.find("h1", {"id": ToFindID})
|
||||
ToEdit['data-aos'] = 'fade-right'
|
||||
|
||||
soup.find("h1",{"id":"daily-dose"})['data-aos'] = title_animation
|
||||
soup.find_all("h1")[0]['data-aos'] = title_animation
|
||||
soup.find("h1",{"id":"contents"})['data-aos'] = heading_animation
|
||||
soup.find("h1",{"id":"contents"})['data-aos-anchor-placement'] = "top-bottom"
|
||||
|
||||
|
@ -216,5 +269,8 @@ if html:
|
|||
with open(ofname, "w") as outf:
|
||||
outf.write(str(soup))
|
||||
|
||||
if update_archive:
|
||||
add_today('index.html',archive_configuration[config]["id"],folder=archive_configuration[config]["folder"])
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue