diff options
Diffstat (limited to 'mediagoblin/gmg_commands/users.py')
-rw-r--r-- | mediagoblin/gmg_commands/users.py | 63 |
1 files changed, 40 insertions, 23 deletions
diff --git a/mediagoblin/gmg_commands/users.py b/mediagoblin/gmg_commands/users.py index 71149497..d1a8b72d 100644 --- a/mediagoblin/gmg_commands/users.py +++ b/mediagoblin/gmg_commands/users.py @@ -14,6 +14,13 @@ # 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/>. +from __future__ import print_function + +import sys + +import six + +from mediagoblin.db.models import LocalUser from mediagoblin.gmg_commands import util as commands_util from mediagoblin import auth from mediagoblin import mg_globals @@ -34,24 +41,25 @@ def adduser(args): #TODO: Lets trust admins this do not validate Emails :) commands_util.setup_app(args) - args.username = unicode(commands_util.prompt_if_not_set(args.username, "Username:")) + args.username = six.text_type(commands_util.prompt_if_not_set(args.username, "Username:")) args.password = commands_util.prompt_if_not_set(args.password, "Password:",True) args.email = commands_util.prompt_if_not_set(args.email, "Email:") db = mg_globals.database users_with_username = \ - db.User.query.filter_by( - username=args.username.lower() + db.LocalUser.query.filter( + LocalUser.username==args.username.lower() ).count() if users_with_username: - print u'Sorry, a user with that name already exists.' + print(u'Sorry, a user with that name already exists.') + sys.exit(1) else: # Create the user - entry = db.User() - entry.username = args.username.lower() - entry.email = unicode(args.email) + entry = db.LocalUser() + entry.username = six.text_type(args.username.lower()) + entry.email = six.text_type(args.email) entry.pw_hash = auth.gen_password_hash(args.password) default_privileges = [ db.Privilege.query.filter( @@ -66,13 +74,14 @@ def adduser(args): entry.all_privileges = default_privileges entry.save() - print "User created (and email marked as verified)" + print(u"User created (and email marked as verified).") def makeadmin_parser_setup(subparser): subparser.add_argument( 'username', - help="Username to give admin level") + help="Username to give admin level", + type=six.text_type) def makeadmin(args): @@ -80,23 +89,26 @@ def makeadmin(args): db = mg_globals.database - user = db.User.query.filter_by( - username=unicode(args.username.lower())).one() + user = db.LocalUser.query.filter( + LocalUser.username==args.username.lower() + ).first() if user: user.all_privileges.append( db.Privilege.query.filter( db.Privilege.privilege_name==u'admin').one() ) user.save() - print 'The user is now Admin' + print(u'The user %s is now an admin.' % args.username) else: - print 'The user doesn\'t exist' + print(u'The user %s doesn\'t exist.' % args.username) + sys.exit(1) def changepw_parser_setup(subparser): subparser.add_argument( 'username', - help="Username used to login") + help="Username used to login", + type=six.text_type) subparser.add_argument( 'password', help="Your NEW supersecret word to login") @@ -107,20 +119,23 @@ def changepw(args): db = mg_globals.database - user = db.User.query.filter_by( - username=unicode(args.username.lower())).one() + user = db.LocalUser.query.filter( + LocalUser.username==args.username.lower() + ).first() if user: user.pw_hash = auth.gen_password_hash(args.password) user.save() - print 'Password successfully changed' + print(u'Password successfully changed for user %s.' % args.username) else: - print 'The user doesn\'t exist' + print(u'The user %s doesn\'t exist.' % args.username) + sys.exit(1) def deleteuser_parser_setup(subparser): subparser.add_argument( 'username', - help="Username to delete") + help="Username to delete", + type=six.text_type) def deleteuser(args): @@ -128,10 +143,12 @@ def deleteuser(args): db = mg_globals.database - user = db.User.query.filter_by( - username=unicode(args.username.lower())).one() + user = db.LocalUser.query.filter( + LocalUser.username==args.username.lower() + ).first() if user: user.delete() - print 'The user %s has been deleted' % args.username + print('The user %s has been deleted.' % args.username) else: - print 'The user %s doesn\'t exist' % args.username + print('The user %s doesn\'t exist.' % args.username) + sys.exit(1) |