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 = {
|
37 | 37 | 'setup': 'mediagoblin.gmg_commands.users:changepw_parser_setup', |
38 | 38 | 'func': 'mediagoblin.gmg_commands.users:changepw', |
39 | 39 | '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'}, |
40 | 44 | 'dbupdate': { |
41 | 45 | 'setup': 'mediagoblin.gmg_commands.dbupdate:dbupdate_parse_setup', |
42 | 46 | 'func': 'mediagoblin.gmg_commands.dbupdate:dbupdate', |
diff --git a/mediagoblin/gmg_commands/users.py b/mediagoblin/gmg_commands/users.py
index 4a730d9..186557e 100644
a
|
b
|
def changepw(args):
|
115 | 115 | print 'Password successfully changed' |
116 | 116 | else: |
117 | 117 | print 'The user doesn\'t exist' |
| 118 | |
| 119 | |
| 120 | def deleteuser_parser_setup(subparser): |
| 121 | subparser.add_argument( |
| 122 | 'username', |
| 123 | help="Username to delete") |
| 124 | |
| 125 | |
| 126 | def 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 |