Throw an error if there are unrecognized arguments
authorRodney Ewing <ewing.rj@gmail.com>
Thu, 1 Aug 2013 18:11:04 +0000 (11:11 -0700)
committerRodney Ewing <ewing.rj@gmail.com>
Fri, 16 Aug 2013 22:30:13 +0000 (15:30 -0700)
mediagoblin/gmg_commands/assetlink.py
mediagoblin/gmg_commands/dbupdate.py
mediagoblin/gmg_commands/import_export.py
mediagoblin/gmg_commands/shell.py
mediagoblin/gmg_commands/users.py
mediagoblin/gmg_commands/util.py

index 49e27e334c702a5725028259d5bb9ba360a3eaf6..dff737ffefc5c4331e03ee31e5386b50a6096341 100644 (file)
@@ -138,6 +138,7 @@ def assetlink(args):
     """
     Link the asset directory of the currently installed theme and plugins
     """
+    commands_util.check_unrecognized_args(args)
     mgoblin_app = commands_util.setup_app(args[0])
     app_config = mg_globals.app_config
 
index fb533d0ae75823ff8e03e356588364b9b0ac695d..b2efa5de4d43bacfaecb84b36a269dd828383672 100644 (file)
@@ -20,6 +20,7 @@ from sqlalchemy.orm import sessionmaker
 
 from mediagoblin.db.open import setup_connection_and_db_from_config
 from mediagoblin.db.migration_tools import MigrationManager
+from mediagoblin.gmg_commands import util as commands_util
 from mediagoblin.init import setup_global_and_app_config
 from mediagoblin.tools.common import import_component
 
@@ -147,5 +148,6 @@ def run_all_migrations(db, app_config, global_config):
 
 
 def dbupdate(args):
+    commands_util.check_unrecognized_args(args)
     global_config, app_config = setup_global_and_app_config(args[0].conf_file)
     run_dbupdate(app_config, global_config)
index 2a624b9617a2b7903ad044870bdf638ceba223a7..1d4ae1f7cd45b75664cc391459bcbcf18d5a41a3 100644 (file)
@@ -16,6 +16,7 @@
 
 from mediagoblin import mg_globals
 from mediagoblin.db.open import setup_connection_and_db_from_config
+from mediagoblin.gmg_commands import util as commands_util
 from mediagoblin.storage.filestorage import BasicFileStorage
 from mediagoblin.init import setup_storage, setup_global_and_app_config
 
@@ -96,6 +97,7 @@ def env_import(args):
     '''
     Restore mongo database and media files from a tar archive
     '''
+    commands_util.check_unrecognized_args(args)
     if not args[0].cache_path:
         args[0].cache_path = tempfile.mkdtemp()
 
@@ -223,6 +225,7 @@ def env_export(args):
     '''
     Export database and media files to a tar archive
     '''
+    commands_util.check_unrecognized_args(args)
     if args.cache_path:
         if os.path.exists(args[0].cache_path):
             _log.error('The cache directory must not exist '
index b19af8375831005b7d3805b05ef111bad91330db..03e08b231b68b33ea4fe2d4d63f3144e3fbdefb5 100644 (file)
@@ -63,6 +63,7 @@ def shell(args):
     """
     Setup a shell for the user either a normal Python shell or an IPython one
     """
+    commands_util.check_unrecognized_args(args)
     user_namespace = {
         'mg_globals': mg_globals,
         'mgoblin_app': commands_util.setup_app(args[0]),
index c2a4dddbaa4601e66da22e5f089fbc04936ea2de..b164e67221aabc43a987fd943cf70e4ac07c1fd2 100644 (file)
@@ -32,6 +32,7 @@ def adduser_parser_setup(subparser):
 
 def adduser(args):
     #TODO: Lets trust admins this do not validate Emails :)
+    commands_util.check_unrecognized_args(args)
     commands_util.setup_app(args[0])
 
     args[0].username = commands_util.prompt_if_not_set(args[0].username, "Username:")
@@ -67,6 +68,7 @@ def makeadmin_parser_setup(subparser):
 
 
 def makeadmin(args):
+    commands_util.check_unrecognized_args(args)
     commands_util.setup_app(args[0])
 
     db = mg_globals.database
@@ -91,6 +93,7 @@ def changepw_parser_setup(subparser):
 
 
 def changepw(args):
+    commands_util.check_unrecognized_args(args)
     commands_util.setup_app(args[0])
 
     db = mg_globals.database
index 6a6853d5d14527098dda4f31083026dc0d1be724..8b05799697f054b43cb295b6a38efd213601860b 100644 (file)
@@ -17,6 +17,7 @@
 
 from mediagoblin import app
 import getpass
+import argparse
 
 
 def setup_app(args):
@@ -36,5 +37,11 @@ def prompt_if_not_set(variable, text, password=False):
             variable=raw_input(text + u' ')
         else:
             variable=getpass.getpass(text + u' ')
-    
+
     return variable
+
+
+def check_unrecognized_args(args):
+    if args[1]:
+        parser = argparse.ArgumentParser()
+        parser.error('unrecognized arguments: {}'.format(args[1]))