Making arguments positional and removing the "usage" functions

All these arguments were required and might as well be positional
thusly.  If you don't provide all required positional arguments,
argparser will correct you and request usage.
This commit is contained in:
Christopher Allan Webber 2011-06-22 22:16:37 -05:00
parent 7f4b44710b
commit 8781ddb541

View File

@ -1,23 +1,17 @@
import os
from mediagoblin.gmg_commands import util as commands_util from mediagoblin.gmg_commands import util as commands_util
from mediagoblin.db.open import setup_connection_and_db_from_config
from mediagoblin.auth import lib as auth_lib from mediagoblin.auth import lib as auth_lib
from mediagoblin import mg_globals from mediagoblin import mg_globals
def adduser_usage():
print '\nUsage: adduser -u username -p password -m email'
def adduser_parser_setup(subparser): def adduser_parser_setup(subparser):
subparser.add_argument( subparser.add_argument(
'-u', '--username', 'username',
help="Username used to login") help="Username used to login")
subparser.add_argument( subparser.add_argument(
'-p', '--password', 'password',
help="Your supersecret word to login") help="Your supersecret word to login")
subparser.add_argument( subparser.add_argument(
'-m', '--email', 'email',
help="Email to recieve notifications") help="Email to recieve notifications")
subparser.add_argument( subparser.add_argument(
'-cf', '--conf_file', default='mediagoblin.ini', '-cf', '--conf_file', default='mediagoblin.ini',
@ -26,46 +20,32 @@ 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 :)
if args.username == None : commands_util.setup_app(args)
print 'You must provide an username'
adduser_usage() db = mg_globals.database
elif args.password == None: users_with_username = \
print 'You must provide a password' db.User.find({
adduser_usage() 'username': args.username.lower()
elif args.email == None: }).count()
print 'You must provide an email'
adduser_usage() if users_with_username:
print u'Sorry, a user with that name already exists.'
else: else:
mgoblin_app = commands_util.setup_app(args) # Create the user
entry = db.User()
entry['username'] = unicode(args.username.lower())
entry['email'] = unicode(args.email)
entry['pw_hash'] = auth_lib.bcrypt_gen_password_hash(args.password)
entry['email_verified'] = True
entry.save(validate=True)
db = mg_globals.database print "User Created: Already Verified :)"
users_with_username = \
db.User.find({
'username': args.username.lower()
}).count()
if users_with_username:
print u'Sorry, a user with that name already exists.'
else:
# Create the user
entry = db.User()
entry['username'] = unicode(args.username.lower())
entry['email'] = unicode(args.email)
entry['pw_hash'] = auth_lib.bcrypt_gen_password_hash(args.password)
entry['email_verified'] = True
entry.save(validate=True)
print "User Created: Already Verified :)"
def makeadmin_usage():
print '\nUsage: makeadmin -u username'
def makeadmin_parser_setup(subparser): def makeadmin_parser_setup(subparser):
subparser.add_argument( subparser.add_argument(
'-u', '--username', 'username',
help="Username to give admin level") help="Username to give admin level")
subparser.add_argument( subparser.add_argument(
'-cf', '--conf_file', default='mediagoblin.ini', '-cf', '--conf_file', default='mediagoblin.ini',
@ -73,33 +53,25 @@ def makeadmin_parser_setup(subparser):
def makeadmin(args): def makeadmin(args):
if args.username == None: commands_util.setup_app(args)
print 'You must provide an username'
makeadmin_usage() db = mg_globals.database
user = db.User.one({'username':unicode(args.username.lower())})
if user:
user['is_admin'] = True
user.save()
print 'The user is now Admin'
else: else:
mgoblin_app = commands_util.setup_app(args) print 'The user doesn\'t exist'
db = mg_globals.database
user = db.User.one({'username':unicode(args.username.lower())})
if user:
user['is_admin'] = True
user.save()
print 'The user is now Admin'
else:
print 'The user doesn\'t exist'
def changepw_usage():
print '\nUsage: changepw -u username -p new_password'
def changepw_parser_setup(subparser): def changepw_parser_setup(subparser):
subparser.add_argument( subparser.add_argument(
'-u', '--username', 'username',
help="Username used to login") help="Username used to login")
subparser.add_argument( subparser.add_argument(
'-p', '--password', 'password',
help="Your NEW supersecret word to login") help="Your NEW supersecret word to login")
subparser.add_argument( subparser.add_argument(
'-cf', '--conf_file', default='mediagoblin.ini', '-cf', '--conf_file', default='mediagoblin.ini',
@ -107,22 +79,15 @@ def changepw_parser_setup(subparser):
def changepw(args): def changepw(args):
if args.username == None: commands_util.setup_app(args)
print 'You must provide an username'
adduser_usage() db = mg_globals.database
elif args.password == None:
print 'You must provide a password' user = db.User.one({'username':unicode(args.username.lower())})
adduser_usage() if user:
user['pw_hash'] = auth_lib.bcrypt_gen_password_hash(args.password)
user.save()
print 'Password successfully changed'
else: else:
mgoblin_app = commands_util.setup_app(args) print 'The user doesn\'t exist'
db = mg_globals.database
user = db.User.one({'username':unicode(args.username.lower())})
if user:
user['pw_hash'] = auth_lib.bcrypt_gen_password_hash(args.password)
user.save()
print 'Password successfully changed'
else:
print 'The user doesn\'t exist'