[620] Allow for multiple mediagoblin configs to be set in config.ini, use first
authorChristopher Allan Webber <cwebber@dustycloud.org>
Sat, 29 Oct 2011 22:04:19 +0000 (17:04 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Sat, 29 Oct 2011 22:04:19 +0000 (17:04 -0500)
This way we can copy paste.ini into paste_local.ini but not have to
update it to find mediagoblin_local.ini.

mediagoblin/app.py
paste.ini

index ee646282ebea582b00575a7b8784c58b12b3a636..d39469c3981df4fd0d41b13fe0e7bf2e443cf24d 100644 (file)
@@ -178,6 +178,16 @@ class MediaGoblinApp(object):
 
 
 def paste_app_factory(global_config, **app_config):
-    mgoblin_app = MediaGoblinApp(app_config['config'])
+    configs = app_config['config'].split()
+    mediagoblin_config = None
+    for config in configs:
+        if os.path.exists(config) and os.access(config, os.R_OK):
+            mediagoblin_config = config
+            break
+
+    if not mediagoblin_config:
+        raise IOError("Usable mediagoblin config not found.")
+
+    mgoblin_app = MediaGoblinApp(mediagoblin_config)
 
     return mgoblin_app
index 3ce95453c71decf79b7881cf79f6de7000e7c242..a38fbb123963990afdee3d13c9ce1b25caa34d5e 100644 (file)
--- a/paste.ini
+++ b/paste.ini
@@ -14,7 +14,7 @@ use = egg:Paste#urlmap
 [app:mediagoblin]
 use = egg:mediagoblin#app
 filter-with = beaker
-config = %(here)s/mediagoblin.ini
+config = %(here)s/mediagoblin_local.ini %(here)s/mediagoblin.ini
 
 [app:publicstore_serve]
 use = egg:Paste#static