aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Ritter <xeno@thehappy.de>2010-12-14 16:16:12 +0100
committerStefan Ritter <xeno@thehappy.de>2010-12-14 16:16:12 +0100
commitbc6a0f176aa0f6842b361cd9d89fa27beb0b95f8 (patch)
treeaed4f01f4205c9af0f8b69aeff8b61e905fdcec4
parentb76a97c26ae4842dac0e380e470543875b9bae3f (diff)
Rewritten config parser code
-rwxr-xr-xblogthon.cgi129
1 files changed, 26 insertions, 103 deletions
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 "<head><title>Error!</title></head>"
print "<body>"
+ print "<h1>Error!</h1><br /><br />"
print tab + string
print "</body>"
print "</html>"
@@ -66,9 +67,8 @@ def document_header(string):
print "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
print "<rss version=\"2.0\">"
-
# 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")