Refactor gmg's cf option into a function
authorElrond <elrond+mediagoblin.org@samba-tng.org>
Sun, 23 Oct 2011 10:47:25 +0000 (12:47 +0200)
committerElrond <elrond+mediagoblin.org@samba-tng.org>
Sun, 23 Oct 2011 10:47:25 +0000 (12:47 +0200)
Many (all?) gmg subcommands take a -cf option to change the
used config file. This options used to be created in each
subcommand's parse_setup. Add a helper function and use it
around.

mediagoblin/gmg_commands/import_export.py
mediagoblin/gmg_commands/migrate.py
mediagoblin/gmg_commands/shell.py
mediagoblin/gmg_commands/users.py
mediagoblin/gmg_commands/util.py

index 05edbfc80f918a2b7932d30f6c7baf304f75fd14..5d39304aa6f52ca1807f86a9bcac81da71e67cb7 100644 (file)
@@ -19,6 +19,7 @@ from mediagoblin.db.open import setup_connection_and_db_from_config
 from mediagoblin.init.config import read_mediagoblin_config
 from mediagoblin.storage.filestorage import BasicFileStorage
 from mediagoblin.init import setup_storage, setup_global_and_app_config
+from mediagoblin.gmg_commands.util import option_add_conffile
 
 import shutil
 import tarfile
@@ -39,9 +40,7 @@ def import_export_parse_setup(subparser):
     # TODO: Add default
     subparser.add_argument(
         'tar_file')
-    subparser.add_argument(
-        '-cf', '--conf_file', default='mediagoblin.ini',
-        help='Config file used to set up environment')
+    option_add_conffile(subparser)
     subparser.add_argument(
         '--mongodump_path', default='mongodump',
         help='mongodump binary')
index 1a597188fb94d5c331b3bd1d15750a140418e221..0871a1714f3eb45ce9ed06325dd156e07b28e890 100644 (file)
@@ -16,6 +16,7 @@
 
 import sys
 
+from mediagoblin.gmg_commands.util import option_add_conffile
 from mediagoblin.db import util as db_util
 from mediagoblin.db.open import setup_connection_and_db_from_config
 from mediagoblin.init.config import read_mediagoblin_config
@@ -25,9 +26,7 @@ from mediagoblin.db import migrations
 
 
 def migrate_parser_setup(subparser):
-    subparser.add_argument(
-        '-cf', '--conf_file', default='mediagoblin.ini',
-        help="Config file used to set up environment")
+    option_add_conffile(subparser)
 
 
 def _print_started_migration(migration_number, migration_func):
index 2a380c7b3568dd7d6ff8099c72a997bffd1d689e..408028d07eb4a19db04948bfafbc94359e832045 100644 (file)
@@ -19,12 +19,11 @@ import code
 
 from mediagoblin import mg_globals
 from mediagoblin.gmg_commands import util as commands_util
+from mediagoblin.gmg_commands.util import option_add_conffile
 
 
 def shell_parser_setup(subparser):
-    subparser.add_argument(
-        '-cf', '--conf_file', default='mediagoblin.ini',
-        help="Config file used to set up environment")
+    option_add_conffile(subparser)
 
 
 SHELL_BANNER = """\
index 5421907db4f8d2552ca84784806c11a6d966cc6e..f6b03bf188d6a7a03e655f92824cd751cf4b8f25 100644 (file)
@@ -15,6 +15,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 from mediagoblin.gmg_commands import util as commands_util
+from mediagoblin.gmg_commands.util import option_add_conffile
 from mediagoblin.auth import lib as auth_lib
 from mediagoblin import mg_globals
 
@@ -29,9 +30,7 @@ def adduser_parser_setup(subparser):
     subparser.add_argument(
         'email',
         help="Email to recieve notifications")
-    subparser.add_argument(
-        '-cf', '--conf_file', default='mediagoblin.ini',
-        help="Config file used to set up environment")
+    option_add_conffile(subparser)
 
 
 def adduser(args):
@@ -64,9 +63,7 @@ def makeadmin_parser_setup(subparser):
     subparser.add_argument(
         'username',
         help="Username to give admin level")
-    subparser.add_argument(
-        '-cf', '--conf_file', default='mediagoblin.ini',
-        help="Config file used to set up environment")
+    option_add_conffile(subparser)
 
 
 def makeadmin(args):
@@ -90,9 +87,7 @@ def changepw_parser_setup(subparser):
     subparser.add_argument(
         'password',
         help="Your NEW supersecret word to login")
-    subparser.add_argument(
-        '-cf', '--conf_file', default='mediagoblin.ini',
-        help="Config file used to set up environment")
+    option_add_conffile(subparser)
 
 
 def changepw(args):
index 168a076082b4fdef79b7a5a46a40b04cce19bb60..02febd2c82ea2ea8c7329bcd685d3bccd7586b92 100644 (file)
@@ -25,3 +25,12 @@ def setup_app(args):
     mgoblin_app = app.MediaGoblinApp(args.conf_file)
 
     return mgoblin_app
+
+
+def option_add_conffile(subparser):
+    """
+    Add the -cf option to a subparser
+    """
+    subparser.add_argument(
+        '-cf', '--conf_file', default='mediagoblin.ini',
+        help="Config file used to set up environment")