diff options
-rwxr-xr-x | blogthon.cgi | 305 |
1 files changed, 153 insertions, 152 deletions
diff --git a/blogthon.cgi b/blogthon.cgi index 1457a25..b1777b0 100755 --- a/blogthon.cgi +++ b/blogthon.cgi @@ -36,7 +36,8 @@ no_break = re.compile("^\s*(<ul|</ul>|<li|</li>|<ol|</ol>|<table|</table>|<tr|</ line_start_hyphen = re.compile("^-.*$") line_start_plus = re.compile("^\+.*$") -tab = " " +# Indention +ind = " " def generate_uuid(string): string_md5sum = md5(string.encode("utf-8")).hexdigest() @@ -46,14 +47,14 @@ def generate_uuid(string): def errorpage(string): document_header("html") print("<head>") - print(tab + "<title>Error!</title>") - print(tab + "<link rel=\"stylesheet\" type=\"text/css\" href=\"error.css\" />") + print(ind + "<title>Error!</title>") + print(ind + "<link rel=\"stylesheet\" type=\"text/css\" href=\"error.css\" />") print("</head>") print("<body>") - print(tab + "<div class=\"container\">") - print(tab*2 + "<div class=\"title\"><h1>Error!</h1></div>") - print(tab*2 + "<div class=\"text\"><h2>" + string + "</h2></div>") - print(tab + "</div>") + print(ind + "<div class=\"container\">") + print(ind*2 + "<div class=\"title\"><h1>Error!</h1></div>") + print(ind*2 + "<div class=\"text\"><h2>" + string + "</h2></div>") + print(ind + "</div>") print("</body>") print("</html>") sys.exit() @@ -285,12 +286,12 @@ if feed_display == "atom": document_header("atom") print("<link href=\"%s?feed=atom\" rel=\"self\" type=\"application/atom+xml\"/>" % blog_url) - print(tab + "<author>") - print(tab*2 + "<name>%s</name>" % blog_title) - print(tab + "</author>") - print(tab + "<title>%s</title>" % blog_title) - print(tab + "<id>urn:uuid:%s</id>" % blog_title_md5sum) - print(tab + "<updated>%s-%s-%sT%s:%s:%sZ</updated>" % (str(date[0]), month, day, hour, min, sec)) + print(ind + "<author>") + print(ind*2 + "<name>%s</name>" % blog_title) + print(ind + "</author>") + print(ind + "<title>%s</title>" % blog_title) + print(ind + "<id>urn:uuid:%s</id>" % blog_title_md5sum) + print(ind + "<updated>%s-%s-%sT%s:%s:%sZ</updated>" % (str(date[0]), month, day, hour, min, sec)) print("") j = len(entries) if j > 10: j = 10 @@ -298,42 +299,42 @@ if feed_display == "atom": title = str(entries[i][1]).replace(entries_dir, "", 1).replace("." + entries_suffix, "") date = entries[i][0] title_md5sum = generate_uuid(title) - print(tab*2 + "<entry>") - print(tab*3 + "<title>%s</title>" % title) - print(tab*3 + "<link href=\"%s?p=%s\"/>" % (blog_url, title)) - print(tab*3 + "<id>urn:uuid:%s</id>" % title_md5sum) - print(tab*3 + "<updated>%s-%s-%sT%s:%s:%sZ</updated>" % (str(date[0]), month, day, hour, min, sec)) - print(tab*3 + "<summary>") + print(ind*2 + "<entry>") + print(ind*3 + "<title>%s</title>" % title) + print(ind*3 + "<link href=\"%s?p=%s\"/>" % (blog_url, title)) + print(ind*3 + "<id>urn:uuid:%s</id>" % title_md5sum) + print(ind*3 + "<updated>%s-%s-%sT%s:%s:%sZ</updated>" % (str(date[0]), month, day, hour, min, sec)) + print(ind*3 + "<summary>") content = open(str(entries[i][1]), "r") for h in range(0, int(feed_preview)): rss_line = content.readline().strip() if rss_line != "": - print(tab*4 + rss_line) + print(ind*4 + rss_line) content.close() - print(tab*3 + "</summary>") - print(tab*2 + "</entry>") + print(ind*3 + "</summary>") + print(ind*2 + "</entry>") print("</feed>") # Generate rss 2.0 feed elif feed_display == "rss": document_header("rss") - print(tab + "<channel>") - print(tab*2 + "<title>%s</title>" % blog_title) - print(tab*2 + "<link>%s</link>" % blog_url) - print(tab*2 + "<description>%s</description>" % blog_subtitle) + print(ind + "<channel>") + print(ind*2 + "<title>%s</title>" % blog_title) + print(ind*2 + "<link>%s</link>" % blog_url) + print(ind*2 + "<description>%s</description>" % blog_subtitle) date = time.strftime("%a, %d %b %Y %H:%M:%S", time.gmtime(time.mktime(entries[0][0]))) - print(tab*2 + "<pubDate>%s</pubDate>" % date) + print(ind*2 + "<pubDate>%s</pubDate>" % date) print("") j = len(entries) if j > 10: j = 10 for i in range(0, j): title = str(entries[i][1]).replace(entries_dir, "", 1).replace("." + entries_suffix, "") date = time.strftime("%a, %d %b %Y %H:%M:%S %z", time.gmtime(time.mktime(entries[i][0]))) - print(tab*2 + "<item>") - print(tab*3 + "<title>%s</title>" % title) - print(tab*3 + "<link>%s?p=%s</link>" % (blog_url, title)) - print(tab*3 + "<guid>%s?p=%s</guid>" % (blog_url, title)) - print(tab*3 + "<pubDate>%s</pubDate>" % date) + print(ind*2 + "<item>") + print(ind*3 + "<title>%s</title>" % title) + print(ind*3 + "<link>%s?p=%s</link>" % (blog_url, title)) + print(ind*3 + "<guid>%s?p=%s</guid>" % (blog_url, title)) + print(ind*3 + "<pubDate>%s</pubDate>" % date) content = open(str(entries[i][1]), "r") rss_description= "" for h in range(0, int(feed_preview)): @@ -341,23 +342,23 @@ elif feed_display == "rss": if line: rss_description = "%s%s<br />" % (rss_description, line) content.close() - print(tab*3 + "<description><![CDATA[%s]]></description>" % rss_description) - print(tab*2 + "</item>") - print(tab + "</channel>") + print(ind*3 + "<description><![CDATA[%s]]></description>" % rss_description) + print(ind*2 + "</item>") + print(ind + "</channel>") print("</rss>") # Generate regular page else: document_header("html") - print(tab + "<head>") - print(tab*2 + "<title>%s</title>" % blog_title) - print(tab*2 + "<meta charset=\"utf-8\">") - print(tab*2 + "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />") - print(tab*2 + "<meta name=\"keywords\" content=\"%s\" />" % keywords) - print(tab*2 + "<meta name=\"description\" content=\"%s\" />" % blog_title) - print(tab*2 + "<link rel=\"stylesheet\" type=\"text/css\" href=\"styles/%s/%s.css\" />" % (style, style)) - print(tab + "</head>") - print(tab + "<body>") + print(ind + "<head>") + print(ind*2 + "<title>%s</title>" % blog_title) + print(ind*2 + "<meta charset=\"utf-8\">") + print(ind*2 + "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />") + print(ind*2 + "<meta name=\"keywords\" content=\"%s\" />" % keywords) + print(ind*2 + "<meta name=\"description\" content=\"%s\" />" % blog_title) + print(ind*2 + "<link rel=\"stylesheet\" type=\"text/css\" href=\"styles/%s/%s.css\" />" % (style, style)) + print(ind + "</head>") + print(ind + "<body>") print("") # Plugins @@ -366,26 +367,26 @@ else: __import__ (plugin.split("/")[1].replace(".py", "")) # Site header - print(tab*2 + "<div class=\"header\">") - print(tab*3 + "<div class=\"header_title\">") - print(tab*4 + "<a href=\"?\" class=\"header_link\">%s</a>" % blog_title) - print(tab*3 + "</div>") - print(tab*3 + "<div class=\"header_subtitle\">") - print(tab*4 + "<span class=\"header_subtitle\">%s</span>" % blog_subtitle) - print(tab*3 + "</div>") - print(tab*2 + "</div>") + print(ind*2 + "<div class=\"header\">") + print(ind*3 + "<div class=\"header_title\">") + print(ind*4 + "<a href=\"?\" class=\"header_link\">%s</a>" % blog_title) + print(ind*3 + "</div>") + print(ind*3 + "<div class=\"header_subtitle\">") + print(ind*4 + "<span class=\"header_subtitle\">%s</span>" % blog_subtitle) + print(ind*3 + "</div>") + print(ind*2 + "</div>") print("") # RSS feed - print(tab*2 + "<div class=\"rss\">") - print(tab*3 + "<a href=\"?feed=rss\" class=\"rss_link\">rss</a>") - print(tab*2 + "</div>") + print(ind*2 + "<div class=\"rss\">") + print(ind*3 + "<a href=\"?feed=rss\" class=\"rss_link\">rss</a>") + print(ind*2 + "</div>") print("") # Atom feed - print(tab*2 + "<div class=\"atom\">") - print(tab*3 + "<a href=\"?feed=atom\" class=\"atom_link\">atom</a>") - print(tab*2 + "</div>") + print(ind*2 + "<div class=\"atom\">") + print(ind*3 + "<a href=\"?feed=atom\" class=\"atom_link\">atom</a>") + print(ind*2 + "</div>") print("") # Staticpages @@ -393,10 +394,10 @@ else: staticpages = [] staticpages_list = glob(os.path.join(staticpages_dir, "*")) staticpages_list.sort() - print(tab*2 + "<div class=\"pages\">") - print(tab*3 + "<div class=\"pages_title\">%s</div>" % blog_locale[0]) - print(tab*3 + "<div class=\"pages_list\">") - print(tab*4 + "<ul class=\"pages_list\">") + print(ind*2 + "<div class=\"pages\">") + print(ind*3 + "<div class=\"pages_title\">%s</div>" % blog_locale[0]) + print(ind*3 + "<div class=\"pages_list\">") + print(ind*4 + "<ul class=\"pages_list\">") for staticpage in staticpages_list: file = open(staticpage, "r") header = file.readline() @@ -407,77 +408,77 @@ else: link = "?s=%s" % link file.close() title = re.sub("\w+?\/\d+?-", "", staticpage) - print(tab*5 + "<li class=\"pages_list_entry\"><a href=\"%s\" class=\"pages_list_entry\">%s</a></li>" % (link, title)) - print(tab*4 + "</ul>") - print(tab*3 + "</div>") - print(tab*3 + "<div class=\"pages_footer\"></div>") - print(tab*2 + "</div>") + 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(tab*2 + "<div class=\"months\">") - print(tab*3 + "<div class=\"months_title\">%s</div>" % blog_locale[1]) - print(tab*3 + "<div class=\"months_list\">") - print(tab*4 + "<ul class=\"months_list\">") + 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(tab*5 + "<li class=\"months_list_entry\"><a href=\"?m=%s\" class=\"months_list_entry\">%s</a></li>" % (date, date_display)) + 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(tab*4 + "</ul>") - print(tab*3 + "</div>") - print(tab*3 + "<div class=\"months_footer\"></div>") - print(tab*2 + "</div>") + print(ind*4 + "</ul>") + print(ind*3 + "</div>") + print(ind*3 + "<div class=\"months_footer\"></div>") + print(ind*2 + "</div>") print("") # Linklist if linklist == "True": - print(tab*2 + "<div class=\"linklist\">") - print(tab*3 + "<div class=\"linklist_title\">%s</div>" % blog_locale[2]) - print(tab*3 + "<div class=\"linklist_list\">") - print(tab*4 + "<ul class=\"linklist_list\">") + 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\">") try: content = open("linklist", "r") for line in content: if line.strip() is "": print("<br />") else: - print(tab*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*5 + "<li class=\"linklist_list_entry\"><a href=\"%s\" class=\"months_list_entry\">%s</a></li>" % (line.split(" ")[0], line.split(" ", 1)[1].strip())) content.close() except: print("") - print(tab*4 + "</ul>") - print(tab*3 + "</div>") - print(tab*3 + "<div class=\"linklist_footer\"></div>") - print(tab*2 + "</div>") + print(ind*4 + "</ul>") + print(ind*3 + "</div>") + print(ind*3 + "<div class=\"linklist_footer\"></div>") + print(ind*2 + "</div>") print("") - print(tab*2 + "<div class=\"entries\">") + print(ind*2 + "<div class=\"entries\">") print("") # Staticpage if static_display != "": content = open(os.path.join(staticpages_dir, static_display), "r") - print(tab*3 + "<div class=\"entry\">") - print(tab*4 + "<div class=\"entry_title\">%s</div>" % re.sub("^\.", "", re.sub("\d+?-", "", static_display))) - print(tab*4 + "<div class=\"entry_content\">") - print(tab*5 + "<p>") + print(ind*3 + "<div class=\"entry\">") + print(ind*4 + "<div class=\"entry_title\">%s</div>" % re.sub("^\.", "", re.sub("\d+?-", "", static_display))) + print(ind*4 + "<div class=\"entry_content\">") + print(ind*5 + "<p>") for line in content: if no_break.match(line): - print(tab*5 + line.strip()) + print(ind*5 + line.strip()) else: - print(tab*5 + line.strip() + "<br />") - print(tab*5 + "</p>") - print(tab*4 + "</div>") - print(tab*4 + "<div class=\"entry_footer\"></div>") - print(tab*4 + "<div class=\"entry_border_left\"></div>") - print(tab*4 + "<div class=\"entry_border_right\"></div>") - print(tab*4 + "<div class=\"entry_border_top\"></div>") - print(tab*4 + "<div class=\"entry_border_bottom\"></div>") - print(tab*3 + "</div>") + print(ind*5 + line.strip() + "<br />") + print(ind*5 + "</p>") + print(ind*4 + "</div>") + print(ind*4 + "<div class=\"entry_footer\"></div>") + print(ind*4 + "<div class=\"entry_border_left\"></div>") + print(ind*4 + "<div class=\"entry_border_right\"></div>") + print(ind*4 + "<div class=\"entry_border_top\"></div>") + print(ind*4 + "<div class=\"entry_border_bottom\"></div>") + print(ind*3 + "</div>") print("") content.close() @@ -500,24 +501,24 @@ else: if post_display == title.replace(" ", "-") or not post_display: if allentries_display == "1" or entry_counter < entries_per_page: content = open(entry, "r") - print(tab*3 + "<div class=\"entry\">") + print(ind*3 + "<div class=\"entry\">") if permalinks: - print(tab*4 + "<div class=\"entry_title\"><a href=\"?p=%s\" class=\"entry_title\">%s</a></div>" % (title.replace(" ", "-"), title)) + print(ind*4 + "<div class=\"entry_title\"><a href=\"?p=%s\" class=\"entry_title\">%s</a></div>" % (title.replace(" ", "-"), title)) else: - print(tab*4 + "<div class=\"entry_title\">%s</div>" % title) - print(tab*4 + "<div class=\"entry_date\">%s</div>" % date) - print(tab*4 + "<div class=\"entry_content\">") + print(ind*4 + "<div class=\"entry_title\">%s</div>" % title) + print(ind*4 + "<div class=\"entry_date\">%s</div>" % date) + print(ind*4 + "<div class=\"entry_content\">") for line in content: if no_break.match(line): - print(tab*5 + line.strip()) + print(ind*5 + line.strip()) else: - print(tab*5 + line.strip() + "<br />") - print(tab*4 + "</div>") - print(tab*4 + "<div class=\"entry_footer\"></div>") - print(tab*4 + "<div class=\"entry_border_left\"></div>") - print(tab*4 + "<div class=\"entry_border_right\"></div>") - print(tab*4 + "<div class=\"entry_border_top\"></div>") - print(tab*4 + "<div class=\"entry_border_bottom\"></div>") + print(ind*5 + line.strip() + "<br />") + print(ind*4 + "</div>") + print(ind*4 + "<div class=\"entry_footer\"></div>") + print(ind*4 + "<div class=\"entry_border_left\"></div>") + print(ind*4 + "<div class=\"entry_border_right\"></div>") + print(ind*4 + "<div class=\"entry_border_top\"></div>") + print(ind*4 + "<div class=\"entry_border_bottom\"></div>") # Comments... # ... are shown when post_display and comments_file isn't false @@ -525,10 +526,10 @@ else: if post_display: if comments_file: comments_content = open(comments_file[0], "r") - print(tab*3 + "</div>") - print(tab*2 + "</div>") + print(ind*3 + "</div>") + print(ind*2 + "</div>") print("") - print(tab*2 + "<div class=\"comments\">") + print(ind*2 + "<div class=\"comments\">") notfirstline = 0 # Ugly fix for closing comment containers label_count = 0 @@ -536,83 +537,83 @@ else: for line in comments_content: if line_start_hyphen.match(line): if notfirstline == 1: - print(tab*4 + "</div>") - print(tab*3 + "</div>") + print(ind*4 + "</div>") + print(ind*3 + "</div>") notfirstline = 0 - print(tab*3 + "<div class=\"comment\">") + print(ind*3 + "<div class=\"comment\">") # Label for each comment label_count += 1 - print(tab*4 + "<a name=\"%s\"></a>" % str(label_count)) + print(ind*4 + "<a name=\"%s\"></a>" % str(label_count)) - print(tab*4 + "<div class=\"comment_author\">%s</div>" % line.split(".", 1)[1].strip()) + print(ind*4 + "<div class=\"comment_author\">%s</div>" % line.split(".", 1)[1].strip()) elif line_start_plus.match(line): - print(tab*4 + "<div class=\"comment_date\">%s</div>" % line.split(".", 1)[1].strip()) - print(tab*4 + "<div class=\"comment_content\">") + print(ind*4 + "<div class=\"comment_date\">%s</div>" % line.split(".", 1)[1].strip()) + print(ind*4 + "<div class=\"comment_content\">") else: notfirstline = 1 line = line.split(".", 1)[1] - print(tab*5 + line.strip() + "<br />") + print(ind*5 + line.strip() + "<br />") print("") - print(tab*4 + "</div>") - print(tab*3 + "</div>") + print(ind*4 + "</div>") + print(ind*3 + "</div>") comments_content.close() else: - print(tab*3 + "</div>") - print(tab*2 + "</div>") - print(tab*2 + "<div class=\"comments\">") + print(ind*3 + "</div>") + print(ind*2 + "</div>") + print(ind*2 + "<div class=\"comments\">") # Form for adding comments if comments == "True": random_int_a = randint(1,9) random_int_b = randint(1,9) cquizv = random_int_a + random_int_b - print(tab*3 + "<div class=\"submit_comment\">") - print(tab*4 + "<form action=\"\" method=\"post\">") - print(tab*5 + "<input type=\"hidden\" name=\"ctitle\" value=\"%s\" />" % title) - print(tab*5 + "<input type=\"hidden\" name=\"cquizv\" value=\"%s\" />" % str(cquizv)) - print(tab*5 + "<label class=\"submit_comment_name\">%s:</label><input class=\"submit_comment_name_input\" type=\"text\" id=\"cname\" name=\"cname\" />" % blog_locale[6]) - print(tab*5 + "<br /><label class=\"submit_comment_text\">%s:</label><textarea class=\"submit_comment_textarea\" id=\"ctext\" name=\"ctext\"></textarea>" % blog_locale[7]) - print(tab*5 + "<br /><label class=\"submit_comment_quiz\">%s+%s=</label><input class=\"submit_comment_quiz_input\" type=\"text\" id=\"cquiz\" name=\"cquiz\" />" % (str(random_int_a), str(random_int_b))) - print(tab*5 + "<br /><input class=\"submit_comment_button\" type=\"submit\" id=\"submit\" value=\"%s\" />" % blog_locale[8]) - print(tab*4 + "</form>") - print(tab*3 + "</div>") + print(ind*3 + "<div class=\"submit_comment\">") + print(ind*4 + "<form action=\"\" method=\"post\">") + print(ind*5 + "<input type=\"hidden\" name=\"ctitle\" value=\"%s\" />" % title) + print(ind*5 + "<input type=\"hidden\" name=\"cquizv\" value=\"%s\" />" % str(cquizv)) + print(ind*5 + "<label class=\"submit_comment_name\">%s:</label><input class=\"submit_comment_name_input\" type=\"text\" id=\"cname\" name=\"cname\" />" % blog_locale[6]) + print(ind*5 + "<br /><label class=\"submit_comment_text\">%s:</label><textarea class=\"submit_comment_textarea\" id=\"ctext\" name=\"ctext\"></textarea>" % blog_locale[7]) + print(ind*5 + "<br /><label class=\"submit_comment_quiz\">%s+%s=</label><input class=\"submit_comment_quiz_input\" type=\"text\" id=\"cquiz\" name=\"cquiz\" />" % (str(random_int_a), str(random_int_b))) + print(ind*5 + "<br /><input class=\"submit_comment_button\" type=\"submit\" id=\"submit\" value=\"%s\" />" % blog_locale[8]) + print(ind*4 + "</form>") + print(ind*3 + "</div>") else: - print(tab*3 + "<div class=\"submit_border_bottom\"></div>") + print(ind*3 + "<div class=\"submit_border_bottom\"></div>") print("") if comments == "True": comments_file = glob(os.path.join(entries_dir, title + ".comments")) if not comments_file and not post_display: - print(tab*4 + "<div class=\"entry_comment\">") - print(tab*5 + "<a href=\"?p=%s\" class=\"entry_comment\">%s</a>" % (title.replace(" ", "-"), blog_locale[3])) - print(tab*4 + "</div>") - print(tab*3 + "</div>") + print(ind*4 + "<div class=\"entry_comment\">") + print(ind*5 + "<a href=\"?p=%s\" class=\"entry_comment\">%s</a>" % (title.replace(" ", "-"), blog_locale[3])) + print(ind*4 + "</div>") + print(ind*3 + "</div>") print("") elif comments_file and not post_display: comments_content = open(comments_file[0], "r") comments_counter = 0 for line in comments_content: if line.split(".", 1)[0] == "-": comments_counter += 1 - print(tab*4 + "<div class=\"entry_comment\">") - print(tab*5 + "<a href=\"?p=%s\" class=\"entry_comment\">%s (%s)</a>" % (title.replace(" ", "-"), blog_locale[4], str(comments_counter))) - print(tab*4 + "</div>") - print(tab*3 + "</div>") + print(ind*4 + "<div class=\"entry_comment\">") + print(ind*5 + "<a href=\"?p=%s\" class=\"entry_comment\">%s (%s)</a>" % (title.replace(" ", "-"), blog_locale[4], str(comments_counter))) + print(ind*4 + "</div>") + print(ind*3 + "</div>") print("") comments_content.close() else: - print(tab*3 + "</div>") + print(ind*3 + "</div>") print("") content.close() entry_counter += 1 if not month_display and not post_display and not allentries_display and entry_counter == entries_per_page: # Display pagelist - print(tab*3 + "<div class=\"show_all\"><a href=\"?a=1\">%s</a></div>" % blog_locale[5]) + print(ind*3 + "<div class=\"show_all\"><a href=\"?a=1\">%s</a></div>" % blog_locale[5]) - print(tab*2 + "</div>") + print(ind*2 + "</div>") print("") - print(tab + "</body>") + print(ind + "</body>") print("</html>") # vim: set sw=4 tw=0 ts=4 expandtab: |