Ticket #303: 303_enhancement_deleteuser_command.patch

File 303_enhancement_deleteuser_command.patch, 2.0 KB (added by loic_le.ninan, 10 years ago)

Patch for #303 add a deleteuser command

  • mediagoblin/gmg_commands/__init__.py

    From 29db701bc883958b0bfdad7f8d6899ad0141a0bd Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Lo=C3=AFc=20Le=20Ninan?= <loic.leninan@gmail.com>
    Date: Sat, 7 Jun 2014 23:45:50 +0200
    Subject: [PATCH] #303 : enhancement : add a command to delete users
    
    ---
     mediagoblin/gmg_commands/__init__.py |    4 ++++
     mediagoblin/gmg_commands/users.py    |   20 ++++++++++++++++++++
     2 files changed, 24 insertions(+)
    
    diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py
    index fd546aa..0cb239a 100644
    a b SUBCOMMAND_MAP = {  
    3737        'setup': 'mediagoblin.gmg_commands.users:changepw_parser_setup',
    3838        'func': 'mediagoblin.gmg_commands.users:changepw',
    3939        'help': 'Changes a user\'s password'},
     40    'deleteuser': {
     41        'setup': 'mediagoblin.gmg_commands.users:deleteuser_parser_setup',
     42        'func': 'mediagoblin.gmg_commands.users:deleteuser',
     43        'help': 'Deletes a user'},
    4044    'dbupdate': {
    4145        'setup': 'mediagoblin.gmg_commands.dbupdate:dbupdate_parse_setup',
    4246        'func': 'mediagoblin.gmg_commands.dbupdate:dbupdate',
  • mediagoblin/gmg_commands/users.py

    diff --git a/mediagoblin/gmg_commands/users.py b/mediagoblin/gmg_commands/users.py
    index 4a730d9..186557e 100644
    a b def changepw(args):  
    115115        print 'Password successfully changed'
    116116    else:
    117117        print 'The user doesn\'t exist'
     118
     119
     120def deleteuser_parser_setup(subparser):
     121    subparser.add_argument(
     122        'username',
     123        help="Username to delete")
     124
     125
     126def deleteuser(args):
     127    commands_util.setup_app(args)
     128
     129    db = mg_globals.database
     130
     131    user = db.User.query.filter_by(
     132        username=unicode(args.username.lower())).one()
     133    if user:
     134        user.delete()
     135        print 'The user %s has been deleted' % args.username
     136    else:
     137        print 'The user %s doesn\'t exist' % args.username