aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/util.py')
-rw-r--r--mediagoblin/util.py33
1 files changed, 29 insertions, 4 deletions
diff --git a/mediagoblin/util.py b/mediagoblin/util.py
index 2865cf11..fdb2c3f5 100644
--- a/mediagoblin/util.py
+++ b/mediagoblin/util.py
@@ -18,17 +18,20 @@ from email.MIMEText import MIMEText
import gettext
import pkg_resources
import smtplib
+import os
import sys
import re
+import urllib
+from math import ceil
+import copy
+
import jinja2
-from mediagoblin.db.util import ObjectId
import translitcodec
+from paste.deploy.loadwsgi import NicerConfigParser
from mediagoblin import globals as mgoblin_globals
+from mediagoblin.db.util import ObjectId
-import urllib
-from math import ceil
-import copy
TESTS_ENABLED = False
def _activate_testing():
@@ -278,6 +281,28 @@ def get_locale_from_request(request):
return locale_to_lower_upper(target_lang)
+def read_config_file(conf_file):
+ """
+ Read a paste deploy style config file and process it.
+ """
+ if not os.path.exists(conf_file):
+ raise IOError(
+ "MEDIAGOBLIN_CONFIG not set or file does not exist")
+
+ parser = NicerConfigParser(conf_file)
+ parser.read(conf_file)
+ parser._defaults.setdefault(
+ 'here', os.path.dirname(os.path.abspath(conf_file)))
+ parser._defaults.setdefault(
+ '__file__', os.path.abspath(conf_file))
+
+ mgoblin_conf = dict(
+ [(section_name, dict(parser.items(section_name)))
+ for section_name in parser.sections()])
+
+ return mgoblin_conf
+
+
def setup_gettext(locale):
"""
Setup the gettext instance based on this locale