Merge remote-tracking branch 'upstream/master' into skeletongobblin
[mediagoblin.git] / mediagoblin / gmg_commands / util.py
index 41a21a1e71934db45ce93fab12b0df057a80510d..63e39ca9523ef48b63aad0048c2d93be48ecc2f8 100644 (file)
@@ -1,5 +1,5 @@
 # GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011 Free Software Foundation, Inc
+# Copyright (C) 2011, 2012 MediaGoblin contributors.  See AUTHORS.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU Affero General Public License as published by
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-import os
-
-from paste.deploy.loadwsgi import NicerConfigParser
-
 from mediagoblin import app
+import getpass
 
 
 def setup_app(args):
     """
     Setup the application after reading the mediagoblin config files
     """
-    # Duplicated from from_celery.py, remove when we have the generic util
-    parser = NicerConfigParser(args.conf_file)
-    parser.read(args.conf_file)
-    parser._defaults.setdefault(
-        'here', os.path.dirname(os.path.abspath(args.conf_file)))
-    parser._defaults.setdefault(
-        '__file__', os.path.abspath(args.conf_file))
+    mgoblin_app = app.MediaGoblinApp(args.conf_file)
 
-    mgoblin_section = dict(parser.items(args.app_section))
-    mgoblin_conf = dict(
-        [(section_name, dict(parser.items(section_name)))
-         for section_name in parser.sections()])
+    return mgoblin_app
 
-    mgoblin_app = app.paste_app_factory(
-        mgoblin_conf, **mgoblin_section)
+def prompt_if_not_set(variable, text, password=False):
+    """
+    Checks if the variable is None and prompt for a value if it is
+    """
+    if variable is None:
+        if not password:
+            variable=raw_input(text + u' ')
+        else:
+            variable=getpass.getpass(text + u' ')
 
-    return mgoblin_app
+    return variable