Working on archive with per month list of articles and month shortcuts in sidebar. Trying to clean the code a bit up and to reuse more code.
This commit is contained in:
parent
f3f343a2a8
commit
1ce84e67d0
|
@ -267,7 +267,7 @@ def recent_articles(amount):
|
||||||
|
|
||||||
def archive_articles():
|
def archive_articles():
|
||||||
articles = [parse_article(os.path.join(articleDir,item)) for item in os.listdir(articleDir) if not "~" in item]
|
articles = [parse_article(os.path.join(articleDir,item)) for item in os.listdir(articleDir) if not "~" in item]
|
||||||
# print(articles)
|
|
||||||
cMonth = timestamp.tm_mon
|
cMonth = timestamp.tm_mon
|
||||||
cYear = timestamp.tm_year
|
cYear = timestamp.tm_year
|
||||||
# sort articles by date of creation into archive which is structured by subfolders of year and month
|
# sort articles by date of creation into archive which is structured by subfolders of year and month
|
||||||
|
@ -314,22 +314,60 @@ def list_of_months():
|
||||||
monthDir = os.path.join(yearDir,month)
|
monthDir = os.path.join(yearDir,month)
|
||||||
tMonth = time.strptime(month+"/"+year,"%m/%Y")
|
tMonth = time.strptime(month+"/"+year,"%m/%Y")
|
||||||
sMonth = time.strftime("%B",tMonth)
|
sMonth = time.strftime("%B",tMonth)
|
||||||
dArchives[year].append(sMonth)
|
dArchives[year].append(month)#sMonth)
|
||||||
print(dArchives)
|
|
||||||
return dArchives
|
return dArchives
|
||||||
|
|
||||||
|
def list_articles(folder):
|
||||||
|
artDir = folder
|
||||||
|
joined_html = ""
|
||||||
|
articles_dict = {}
|
||||||
|
for name in [os.path.splitext(item)[0] for item in os.listdir(artDir) if not "~" in item]:
|
||||||
|
article = (parse_article(os.path.join(artDir, name + ".txt")))
|
||||||
|
# Bring articles into chronological order
|
||||||
|
t = time.mktime(time.strptime(article['DATE'] + " " + article['TIME'], "%m/%d/%y %H:%M:%S"))
|
||||||
|
articles_dict[str(t)] = article
|
||||||
|
dates_of_creation = [float(value) for value in articles_dict.keys()]
|
||||||
|
dates_of_creation.sort(key=None,reverse=True)
|
||||||
|
for i in range(0, len(dates_of_creation)):
|
||||||
|
|
||||||
|
joined_html += recent_to_html(articles_dict[str(time.strftime(str(dates_of_creation[i])))])
|
||||||
|
|
||||||
|
return joined_html
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def months_to_html(archived_months):
|
||||||
|
html = "<ul>"
|
||||||
|
for year in archived_months:
|
||||||
|
html += "<li>"+str(year)+"</li>"
|
||||||
|
html += "<ul>"
|
||||||
|
for month in archived_months[year]:
|
||||||
|
html += "<li>"+str(month)+"</li>"
|
||||||
|
html += "</ul>"
|
||||||
|
html += "</ul>"
|
||||||
|
return html
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def list_articles():
|
def list_archive(archived_months):
|
||||||
pass
|
html = ""
|
||||||
|
for year in archived_months:
|
||||||
|
html += "<h2>"+str(year)+"</h2>"
|
||||||
|
for month in archived_months[year]:
|
||||||
|
html += "<h3>"+str(month)+"</h3>"
|
||||||
|
html += list_articles(os.path.join(archiveDir,str(year),str(month)))
|
||||||
|
html += ""
|
||||||
|
return html
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def update_blog(subsection):
|
def update_blog(subsection):
|
||||||
""" Joins config defined variables into templates"""
|
""" Joins config defined variables into templates"""
|
||||||
|
|
||||||
if subsection == "recent":
|
if subsection in ("recent","all"):
|
||||||
tplIndex = os.path.join(tplDir,"index.htm")
|
tplIndex = os.path.join(tplDir,"index.htm")
|
||||||
blogIndex = os.path.join(blog_dir,"index.html")
|
blogIndex = os.path.join(blog_dir,"index.html")
|
||||||
elif subsection == "archive":
|
elif subsection in ("archive"):
|
||||||
tplIndex = os.path.join(tplDir,"index.htm")
|
tplIndex = os.path.join(tplDir,"index.htm")
|
||||||
blogIndex = os.path.join(blog_dir,"archive.html")
|
blogIndex = os.path.join(blog_dir,"archive.html")
|
||||||
|
|
||||||
|
@ -340,7 +378,7 @@ def update_blog(subsection):
|
||||||
if subsection == "recent":
|
if subsection == "recent":
|
||||||
sMAIN = join_articles()
|
sMAIN = join_articles()
|
||||||
elif subsection == "archive":
|
elif subsection == "archive":
|
||||||
sMAIN = list_articles()
|
sMAIN = list_archive(list_of_months())
|
||||||
sASIDE = open(os.path.join(tplDir,"aside.htm")).read()
|
sASIDE = open(os.path.join(tplDir,"aside.htm")).read()
|
||||||
|
|
||||||
sRECENT = open(os.path.join(tplDir,"recent.htm")).read()
|
sRECENT = open(os.path.join(tplDir,"recent.htm")).read()
|
||||||
|
@ -366,10 +404,10 @@ def update_blog(subsection):
|
||||||
sRECENT = Template(sRECENT).safe_substitute(pbconf)
|
sRECENT = Template(sRECENT).safe_substitute(pbconf)
|
||||||
sFOOTER = Template(sFOOTER).safe_substitute(pbconf)
|
sFOOTER = Template(sFOOTER).safe_substitute(pbconf)
|
||||||
|
|
||||||
if subsection == "recent":
|
if subsection in ("recent","all"):
|
||||||
sRECENT = Template(sRECENT).safe_substitute({"RECENT_ARTICLES":recent_articles(amountRecent)})
|
sRECENT = Template(sRECENT).safe_substitute({"RECENT_ARTICLES":recent_articles(amountRecent)})
|
||||||
elif subsection == "archive":
|
elif subsection == "archive":
|
||||||
sRECENT = Template(sRECENT).safe_substitute({"RECENT_ARTICLES":list_of_months()})
|
sRECENT = Template(sRECENT).safe_substitute({"RECENT_ARTICLES":months_to_html(list_of_months())})
|
||||||
sASIDE = Template(sASIDE).safe_substitute({"ASIDE_RECENT":sRECENT, "ASIDE_CONTACT":sCONTACT})
|
sASIDE = Template(sASIDE).safe_substitute({"ASIDE_RECENT":sRECENT, "ASIDE_CONTACT":sCONTACT})
|
||||||
|
|
||||||
tplSub = {
|
tplSub = {
|
||||||
|
|
Loading…
Reference in New Issue