From bc6a0f176aa0f6842b361cd9d89fa27beb0b95f8 Mon Sep 17 00:00:00 2001 From: Stefan Ritter Date: Tue, 14 Dec 2010 16:16:12 +0100 Subject: Rewritten config parser code --- blogthon.cgi | 129 ++++++++++++----------------------------------------------- 1 file changed, 26 insertions(+), 103 deletions(-) (limited to 'blogthon.cgi') diff --git a/blogthon.cgi b/blogthon.cgi index 47847ed..3a69cf2 100755 --- a/blogthon.cgi +++ b/blogthon.cgi @@ -18,7 +18,7 @@ import sys import time import locale import re -from ConfigParser import ConfigParser +import ConfigParser from cgi import FieldStorage from smtplib import SMTP from hashlib import md5 @@ -41,6 +41,7 @@ def errorpage(string): document_header("xhtml-strict") print "Error!" print "" + print "

Error!



" print tab + string print "" print "" @@ -66,9 +67,8 @@ def document_header(string): print "" print "" - # Parse configuration -configuration = ConfigParser() +configuration = ConfigParser.SafeConfigParser() for config in ["../blogthonrc", "../.blogthonrc", "configuration"]: if os.path.exists(config): @@ -83,60 +83,40 @@ if not config: try: blog_title = configuration.get("personal", "blog_title") -except: - errorpage("\"blog_title\" is missing in configuration!") - -try: blog_subtitle = configuration.get("personal", "blog_subtitle") -except: - errorpage("\"blog_subtitle\" is missing in configuration!") - -try: blog_url = configuration.get("personal", "blog_url") -except: - errorpage("\"blog_url\" is missing in configuration!") - -try: keywords = configuration.get("personal", "keywords") -except: - errorpage("\"keywords\" is missing in configuration!") - -try: entries_dir = configuration.get("personal", "entries_dir") -except: - errorpage("\"entries_dir\" is missing in configuration!") + entries_suffix = configuration.get("personal", "entries_suffix") + staticpages_dir = configuration.get("personal", "staticpages_dir") + plugins_dir = configuration.get("personal", "plugins_dir") + style = configuration.get("look", "style") + language = configuration.get("look", "language") + entries_per_page = configuration.getint("look", "entries_per_page") + monthlist = configuration.get("look", "monthlist") + staticpages = configuration.get("look", "staticpages") + linklist = configuration.get("look", "linklist") + permalinks = configuration.get("look", "permalinks") + comments = configuration.get("look", "comments") + newest_first = configuration.get("look", "newest_first") + new_comment_mail = configuration.get("smtp", "new_comment_mail") + mail_to = configuration.get("smtp", "mail_to") + smtp_host = configuration.get("smtp", "smtp_host") + feed_preview = configuration.get("feed", "feed_preview") +except ConfigParser.Error as error: + errorpage(str(error)) if not os.path.exists(entries_dir): - errorpage("\"entries_dir\" does not exist!") - -try: - entries_suffix = configuration.get("personal", "entries_suffix") -except: - errorpage("\"entries_suffix\" is missing in configuration!") + errorpage("Directory \"" + entries_dir + "\" does not exist!") -try: - staticpages_dir = configuration.get("personal", "staticpages_dir") -except: - errorpage("\"staticpages_dir\" is missing in configuration!") if not os.path.exists(staticpages_dir): - errorpage("\"staticpages_dir\" does not exist!") + errorpage("Directory \"" + staticpages_dir + "\" does not exist!") -try: - plugins_dir = configuration.get("personal", "plugins_dir") -except: - errorpage("\"plugins_dir\" is missing in configuration!") if not os.path.exists(plugins_dir): - errorpage("\"plugins_dir\" does not exist!") + errorpage("Directory \"" + plugins_dir + "\" does not exist!") -try: - style = configuration.get("look", "style") -except: - errorpage("\"style\" is missing in configuration!") - -try: - language = configuration.get("look", "language") -except: - errorpage("\"language\" is missing in configuration!") +if not os.path.exists("linklist"): + errorpage("File \"linklist\" does not exist!") if language == "de": blog_locale = ("Seiten", "Monate", "Links", "Keine Kommentare", "Kommentare", "Alle Einträge anzeigen...", "Name", "Text", "Absenden") @@ -162,63 +142,6 @@ else: else: locale.setlocale(locale.LC_TIME, None) -try: - entries_per_page = configuration.getint("look", "entries_per_page") -except: - errorpage("\"entries_per_page\" is missing in configuration!") - -try: - monthlist = configuration.get("look", "monthlist") -except: - errorpage("\"monthlist\" is missing in configuration!") - -try: - staticpages = configuration.get("look", "staticpages") -except: - errorpage("\"staticpages\" is missing in configuration!") - -try: - linklist = configuration.get("look", "linklist") -except: - errorpage("\"linklist\" is missing in configuration!") -if not os.path.exists("linklist"): - errorpage("\"linklist\" does not exist!") - -try: - permalinks = configuration.get("look", "permalinks") -except: - errorpage("\"permalinks\" is missing in configuration!") - -try: - comments = configuration.get("look", "comments") -except: - errorpage("\"comments\" is missing in configuration!") - -try: - newest_first = configuration.get("look", "newest_first") -except: - errorpage("\"newest_first\" is missing in configuration!") - -try: - new_comment_mail = configuration.get("smtp", "new_comment_mail") -except: - errorpage("\"new_comment_mail\" is missing in configuration!") - -try: - mail_to = configuration.get("smtp", "mail_to") -except: - errorpage("\"mail_to\" is missing in configuration!") - -try: - smtp_host = configuration.get("smtp", "smtp_host") -except: - errorpage("\"smtp_host\" is missing in configuration!") - -try: - feed_preview = configuration.get("feed", "feed_preview") -except: - errorpage("\"feed_preview\" is missing or empty in configuration!") - # Read POST Variables action = FieldStorage() month_display = action.getvalue("m") -- cgit v1.2.3