use parser.parse_known_args() instead of parser.parse_args()

This commit is contained in:
Rodney Ewing 2013-08-01 10:23:37 -07:00
parent e7c08e3550
commit aa387fc57e
6 changed files with 36 additions and 36 deletions

View File

@ -92,16 +92,16 @@ def main_cli():
subparser.set_defaults(func=exec_func) subparser.set_defaults(func=exec_func)
args = parser.parse_args() args = parser.parse_known_args()
args.orig_conf_file = args.conf_file args[0].orig_conf_file = args[0].conf_file
if args.conf_file is None: if args[0].conf_file is None:
if os.path.exists('mediagoblin_local.ini') \ if os.path.exists('mediagoblin_local.ini') \
and os.access('mediagoblin_local.ini', os.R_OK): and os.access('mediagoblin_local.ini', os.R_OK):
args.conf_file = 'mediagoblin_local.ini' args[0].conf_file = 'mediagoblin_local.ini'
else: else:
args.conf_file = 'mediagoblin.ini' args[0].conf_file = 'mediagoblin.ini'
args.func(args) args[0].func(args)
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -138,7 +138,7 @@ def assetlink(args):
""" """
Link the asset directory of the currently installed theme and plugins Link the asset directory of the currently installed theme and plugins
""" """
mgoblin_app = commands_util.setup_app(args) mgoblin_app = commands_util.setup_app(args[0])
app_config = mg_globals.app_config app_config = mg_globals.app_config
# link theme # link theme

View File

@ -147,5 +147,5 @@ def run_all_migrations(db, app_config, global_config):
def dbupdate(args): def dbupdate(args):
global_config, app_config = setup_global_and_app_config(args.conf_file) global_config, app_config = setup_global_and_app_config(args[0].conf_file)
run_dbupdate(app_config, global_config) run_dbupdate(app_config, global_config)

View File

@ -96,27 +96,27 @@ def env_import(args):
''' '''
Restore mongo database and media files from a tar archive Restore mongo database and media files from a tar archive
''' '''
if not args.cache_path: if not args[0].cache_path:
args.cache_path = tempfile.mkdtemp() args[0].cache_path = tempfile.mkdtemp()
setup_global_and_app_config(args.conf_file) setup_global_and_app_config(args[0].conf_file)
# Creates mg_globals.public_store and mg_globals.queue_store # Creates mg_globals.public_store and mg_globals.queue_store
setup_storage() setup_storage()
global_config, app_config = setup_global_and_app_config(args.conf_file) global_config, app_config = setup_global_and_app_config(args[0].conf_file)
db = setup_connection_and_db_from_config( db = setup_connection_and_db_from_config(
app_config) app_config)
tf = tarfile.open( tf = tarfile.open(
args.tar_file, args[0].tar_file,
mode='r|gz') mode='r|gz')
tf.extractall(args.cache_path) tf.extractall(args[0].cache_path)
args.cache_path = os.path.join( args[0].cache_path = os.path.join(
args.cache_path, 'mediagoblin-data') args[0].cache_path, 'mediagoblin-data')
args = _setup_paths(args) args = _setup_paths(args[0])
# Import database from extracted data # Import database from extracted data
_import_database(db, args) _import_database(db, args)
@ -224,16 +224,16 @@ def env_export(args):
Export database and media files to a tar archive Export database and media files to a tar archive
''' '''
if args.cache_path: if args.cache_path:
if os.path.exists(args.cache_path): if os.path.exists(args[0].cache_path):
_log.error('The cache directory must not exist ' _log.error('The cache directory must not exist '
'before you run this script') 'before you run this script')
_log.error('Cache directory: {0}'.format(args.cache_path)) _log.error('Cache directory: {0}'.format(args[0].cache_path))
return False return False
else: else:
args.cache_path = tempfile.mkdtemp() args[0].cache_path = tempfile.mkdtemp()
args = _setup_paths(args) args = _setup_paths(args[0])
if not _export_check(args): if not _export_check(args):
_log.error('Checks did not pass, exiting') _log.error('Checks did not pass, exiting')

View File

@ -65,10 +65,10 @@ def shell(args):
""" """
user_namespace = { user_namespace = {
'mg_globals': mg_globals, 'mg_globals': mg_globals,
'mgoblin_app': commands_util.setup_app(args), 'mgoblin_app': commands_util.setup_app(args[0]),
'db': mg_globals.database} 'db': mg_globals.database}
if args.ipython: if args[0].ipython:
ipython_shell(**user_namespace) ipython_shell(**user_namespace)
else: else:
# Try ipython_shell first and fall back if not available # Try ipython_shell first and fall back if not available

View File

@ -32,16 +32,16 @@ def adduser_parser_setup(subparser):
def adduser(args): def adduser(args):
#TODO: Lets trust admins this do not validate Emails :) #TODO: Lets trust admins this do not validate Emails :)
commands_util.setup_app(args) commands_util.setup_app(args[0])
args.username = commands_util.prompt_if_not_set(args.username, "Username:") args[0].username = commands_util.prompt_if_not_set(args[0].username, "Username:")
args.password = commands_util.prompt_if_not_set(args.password, "Password:",True) args[0].password = commands_util.prompt_if_not_set(args[0].password, "Password:",True)
args.email = commands_util.prompt_if_not_set(args.email, "Email:") args[0].email = commands_util.prompt_if_not_set(args[0].email, "Email:")
db = mg_globals.database db = mg_globals.database
users_with_username = \ users_with_username = \
db.User.query.filter_by( db.User.query.filter_by(
username=args.username.lower() username=args[0].username.lower()
).count() ).count()
if users_with_username: if users_with_username:
@ -50,9 +50,9 @@ def adduser(args):
else: else:
# Create the user # Create the user
entry = db.User() entry = db.User()
entry.username = unicode(args.username.lower()) entry.username = unicode(args[0].username.lower())
entry.email = unicode(args.email) entry.email = unicode(args[0].email)
entry.pw_hash = auth.gen_password_hash(args.password) entry.pw_hash = auth.gen_password_hash(args[0].password)
entry.status = u'active' entry.status = u'active'
entry.email_verified = True entry.email_verified = True
entry.save() entry.save()
@ -67,12 +67,12 @@ def makeadmin_parser_setup(subparser):
def makeadmin(args): def makeadmin(args):
commands_util.setup_app(args) commands_util.setup_app(args[0])
db = mg_globals.database db = mg_globals.database
user = db.User.query.filter_by( user = db.User.query.filter_by(
username=unicode(args.username.lower())).one() username=unicode(args[0].username.lower())).one()
if user: if user:
user.is_admin = True user.is_admin = True
user.save() user.save()
@ -91,14 +91,14 @@ def changepw_parser_setup(subparser):
def changepw(args): def changepw(args):
commands_util.setup_app(args) commands_util.setup_app(args[0])
db = mg_globals.database db = mg_globals.database
user = db.User.query.filter_by( user = db.User.query.filter_by(
username=unicode(args.username.lower())).one() username=unicode(args[0].username.lower())).one()
if user: if user:
user.pw_hash = auth.gen_password_hash(args.password) user.pw_hash = auth.gen_password_hash(args[0].password)
user.save() user.save()
print 'Password successfully changed' print 'Password successfully changed'
else: else: