aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/init
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2011-07-04 23:47:13 +0200
committerElrond <elrond+mediagoblin.org@samba-tng.org>2011-07-04 23:47:13 +0200
commitc85c9dc712f38af1403572f9367edc692306dc02 (patch)
treea6ff82532754c5784c726bc329a6b81ec3e4ccc4 /mediagoblin/init
parent0dd0a71f5eb631052aaa2d542454fc3ce3ddbd59 (diff)
downloadmediagoblin-c85c9dc712f38af1403572f9367edc692306dc02.tar.lz
mediagoblin-c85c9dc712f38af1403572f9367edc692306dc02.tar.xz
mediagoblin-c85c9dc712f38af1403572f9367edc692306dc02.zip
Move setting up of staticdirector to init submodule
This duplicates some exceptions, which will be fixed very soon.
Diffstat (limited to 'mediagoblin/init')
-rw-r--r--mediagoblin/init/__init__.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/mediagoblin/init/__init__.py b/mediagoblin/init/__init__.py
index b8ed2456..4bf69158 100644
--- a/mediagoblin/init/__init__.py
+++ b/mediagoblin/init/__init__.py
@@ -15,6 +15,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import jinja2
+from mediagoblin import staticdirect
+
+
+class Error(Exception): pass
+class ImproperlyConfigured(Error): pass
def get_jinja_loader(user_template_path=None):
@@ -31,3 +36,19 @@ def get_jinja_loader(user_template_path=None):
jinja2.PackageLoader('mediagoblin', 'templates')])
else:
return jinja2.PackageLoader('mediagoblin', 'templates')
+
+
+def get_staticdirector(app_config):
+ if app_config.has_key('direct_remote_path'):
+ return staticdirect.RemoteStaticDirect(
+ app_config['direct_remote_path'].strip())
+ elif app_config.has_key('direct_remote_paths'):
+ direct_remote_path_lines = app_config[
+ 'direct_remote_paths'].strip().splitlines()
+ return staticdirect.MultiRemoteStaticDirect(
+ dict([line.strip().split(' ', 1)
+ for line in direct_remote_path_lines]))
+ else:
+ raise ImproperlyConfigured(
+ "One of direct_remote_path or "
+ "direct_remote_paths must be provided")