diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2011-07-04 23:47:13 +0200 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2011-07-04 23:47:13 +0200 |
commit | c85c9dc712f38af1403572f9367edc692306dc02 (patch) | |
tree | a6ff82532754c5784c726bc329a6b81ec3e4ccc4 /mediagoblin/init | |
parent | 0dd0a71f5eb631052aaa2d542454fc3ce3ddbd59 (diff) | |
download | mediagoblin-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__.py | 21 |
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") |