Move the general applicaiton setup commands to a utility module
authorChristopher Allan Webber <cwebber@dustycloud.org>
Sun, 22 May 2011 14:56:33 +0000 (09:56 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Sun, 22 May 2011 14:56:33 +0000 (09:56 -0500)
mediagoblin/gmg_commands/__init__.py
mediagoblin/gmg_commands/shell.py
mediagoblin/gmg_commands/util.py [new file with mode: 0644]

index e585785cf3918618ee478e981e4273e83a05ab14..9ece2ec5a3cf0c2040ee670175cd687fe3969101 100644 (file)
@@ -16,7 +16,7 @@
 
 import argparse
 
-from mediagoblin import util
+from mediagoblin import util as mg_util
 
 
 SUBCOMMAND_MAP = {
@@ -39,8 +39,8 @@ def main_cli():
         else:
             subparser = subparsers.add_parser(command_name)
 
-        setup_func = util.import_component(command_struct['setup'])
-        exec_func = util.import_component(command_struct['func'])
+        setup_func = mg_util.import_component(command_struct['setup'])
+        exec_func = mg_util.import_component(command_struct['func'])
 
         setup_func(subparser)
 
index 5e70d5560bf0b48fa0f602bbcd9e8f76f1772f99..9c0259dee9b4d697d7a9bcdf1cc77dc732a831fc 100644 (file)
 
 
 import code
-import os
 
-from paste.deploy.loadwsgi import NicerConfigParser
-
-from mediagoblin import app
 from mediagoblin import globals as mgoblin_globals
+from mediagoblin.gmg_commands import util as commands_util
 
 
 def shell_parser_setup(subparser):
@@ -45,22 +42,9 @@ Available vars:
 
 def shell(args):
     """
+    Setup a shell for the user
     """
-    # 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_section = dict(parser.items(args.app_section))
-    mgoblin_conf = dict(
-        [(section_name, dict(parser.items(section_name)))
-         for section_name in parser.sections()])
-
-    mgoblin_app = app.paste_app_factory(
-        mgoblin_conf, **mgoblin_section)
+    mgoblin_app = commands_util.setup_app(args)
 
     code.interact(
         banner=SHELL_BANNER,
diff --git a/mediagoblin/gmg_commands/util.py b/mediagoblin/gmg_commands/util.py
new file mode 100644 (file)
index 0000000..41a21a1
--- /dev/null
@@ -0,0 +1,45 @@
+# GNU MediaGoblin -- federated, autonomous media hosting
+# Copyright (C) 2011 Free Software Foundation, Inc
+#
+# 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
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+import os
+
+from paste.deploy.loadwsgi import NicerConfigParser
+
+from mediagoblin import app
+
+
+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_section = dict(parser.items(args.app_section))
+    mgoblin_conf = dict(
+        [(section_name, dict(parser.items(section_name)))
+         for section_name in parser.sections()])
+
+    mgoblin_app = app.paste_app_factory(
+        mgoblin_conf, **mgoblin_section)
+
+    return mgoblin_app