aboutsummaryrefslogtreecommitdiffstats
path: root/blogthon.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'blogthon.cgi')
-rwxr-xr-xblogthon.cgi95
1 files changed, 64 insertions, 31 deletions
diff --git a/blogthon.cgi b/blogthon.cgi
index f46c311..d73fda0 100755
--- a/blogthon.cgi
+++ b/blogthon.cgi
@@ -26,6 +26,7 @@ from glob import glob
from random import randint
from codecs import getwriter
from optparse import OptionParser
+from operator import itemgetter
# print() will output ascii, but we want utf-8 (python3)
try:
@@ -121,6 +122,8 @@ try:
comments = configuration.get("look", "comments")
newest_first = configuration.get("look", "newest_first")
tags = configuration.get("look", "tags")
+ taglist = configuration.get("look", "taglist")
+ tags_max = configuration.get("look", "tags_max")
new_comment_mail = configuration.get("smtp", "new_comment_mail")
mail_to = configuration.get("smtp", "mail_to")
smtp_host = configuration.get("smtp", "smtp_host")
@@ -161,7 +164,8 @@ if language == "de":
"Text",
"Absenden",
"Neuer Kommentar zu",
- "Jemand hat einen Kommentar zu diesem Beitrag verfasst:"
+ "Jemand hat einen Kommentar zu diesem Beitrag verfasst:",
+ "Tags"
)
locales_de = ("de_DE.UTF-8", "de_DE.@euro", "de_DE")
for i in locales_de:
@@ -183,7 +187,8 @@ else:
"View all entries...",
"name", "text",
"commit", "New comment on",
- "Someone wrote a comment to this entry:"
+ "Someone wrote a comment to this entry:",
+ "tags"
)
locales_en = ("en_US.UTF-8", "en_US.ISO-8859-15", "en_US")
for i in locales_en:
@@ -477,7 +482,6 @@ else:
print(ind + "</head>")
print(ind + "<body>")
- print("")
# Plugins
sys.path.append(plugins_dir)
@@ -534,35 +538,18 @@ else:
print(ind*5 + "<li class=\"pages_list_entry\"><a href=\"%s\" class=\"pages_list_entry\">%s</a></li>" % (link, title))
print(ind*4 + "</ul>")
print(ind*3 + "</div>")
- print(ind*3 + "<div class=\"pages_footer\"></div>")
print(ind*2 + "</div>")
print("")
- # Monthlist
- if monthlist == "True":
- olddate = ""
- print(ind*2 + "<div class=\"months\">")
- print(ind*3 + "<div class=\"months_title\">%s</div>" % blog_locale[1])
- print(ind*3 + "<div class=\"months_list\">")
- print(ind*4 + "<ul class=\"months_list\">")
- for entry in entries:
- date = time.strftime("%m%Y", entry[0])
- date_display = time.strftime("%h %Y", entry[0])
- if not olddate == date:
- print(ind*5 + "<li class=\"months_list_entry\"><a href=\"?m=%s\" class=\"months_list_entry\">%s</a></li>" % (date, date_display))
- olddate = date
- print(ind*4 + "</ul>")
- print(ind*3 + "</div>")
- print(ind*3 + "<div class=\"months_footer\"></div>")
- print(ind*2 + "</div>")
- print("")
+ # Sidebar starts here
+ print(ind*2 + "<div class=\"sidebar\">")
# Linklist
if linklist == "True":
- print(ind*2 + "<div class=\"linklist\">")
- print(ind*3 + "<div class=\"linklist_title\">%s</div>" % blog_locale[2])
- print(ind*3 + "<div class=\"linklist_list\">")
- print(ind*4 + "<ul class=\"linklist_list\">")
+ print(ind*3 + "<div class=\"linklist\">")
+ print(ind*4 + "<div class=\"linklist_title\">%s</div>" % blog_locale[2])
+ print(ind*4 + "<div class=\"linklist_list\">")
+ print(ind*5 + "<ul class=\"linklist_list\">")
try:
if utf8:
content = open("linklist", "r", encoding="utf8")
@@ -572,18 +559,64 @@ else:
if line.strip() is "":
print("<br />")
else:
- print(ind*5 + "<li class=\"linklist_list_entry\"><a href=\"%s\" class=\"months_list_entry\">%s</a></li>" % (line.split(" ")[0], line.split(" ", 1)[1].strip()))
+ print(ind*6 + "<li class=\"linklist_list_entry\"><a href=\"%s\" class=\"linklist_list_entry\">%s</a></li>" % (line.split(" ")[0], line.split(" ", 1)[1].strip()))
content.close()
except:
print("")
- print(ind*4 + "</ul>")
+ print(ind*5 + "</ul>")
+ print(ind*4 + "</div>")
print(ind*3 + "</div>")
- print(ind*3 + "<div class=\"linklist_footer\"></div>")
- print(ind*2 + "</div>")
print("")
+ # Taglist
+ if taglist == "True":
+ print(ind*3 + "<div class=\"taglist\">")
+ print(ind*4 + "<div class=\"taglist_title\">%s</div>" % blog_locale[11])
+ print(ind*4 + "<div class=\"taglist_list\">")
+ print(ind*5 + "<ul class=\"taglist_list\">")
+ tagfile = open(os.path.join(entries_dir, "tags"), "r")
+ content = pickle.load(tagfile)
+ tagfile.close()
+ taglist = []
+ for item in content:
+ taglist.append(item[0])
+ tagcloud = {}
+ for item in taglist:
+ tagcloud.setdefault(item, taglist.count(item))
+ tagcloud = sorted(tagcloud.items(), key=itemgetter(1), reverse=True)
+ count = 0
+ for item, value in tagcloud:
+ print(ind*6 + "<li class=\"taglist_list_entry\"><a href=\"?t=%s\" class=\"taglist_list_entry\">%s</a> <small>(%s)</small></li>" % (item, item, value))
+ count += 1
+ if count > int(tags_max):
+ break
+ print(ind*5 + "</ul>")
+ print(ind*4 + "</div>")
+ print(ind*3 + "</div>")
+
+ # Monthlist
+ if monthlist == "True":
+ olddate = ""
+ print(ind*3 + "<div class=\"monthlist\">")
+ print(ind*4 + "<div class=\"monthlist_title\">%s</div>" % blog_locale[1])
+ print(ind*4 + "<div class=\"monthlist_list\">")
+ print(ind*5 + "<ul class=\"monthlist_list\">")
+ for entry in entries:
+ date = time.strftime("%m%Y", entry[0])
+ date_display = time.strftime("%h %Y", entry[0])
+ if not olddate == date:
+ print(ind*6 + "<li class=\"monthlist_list_entry\"><a href=\"?m=%s\" class=\"monthlist_list_entry\">%s</a></li>" % (date, date_display))
+ olddate = date
+ print(ind*5 + "</ul>")
+ print(ind*4 + "</div>")
+ print(ind*3 + "</div>")
+ print("")
+
+ # Sidebar ends here
+ print(ind*2 + "</div>")
+ print(ind*2 + "")
+
print(ind*2 + "<div class=\"entries\">")
- print("")
# Staticpage
if static_display != "":