From 1285453ba0c9147f036fee1e211ce80239739e1b Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Fri, 5 Mar 2010 14:29:10 +0000 Subject: [PATCH] Added delete/disable/enable/check --- sso/services/wiki/__init__.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/sso/services/wiki/__init__.py b/sso/services/wiki/__init__.py index 8e5ae6b..d277b6b 100644 --- a/sso/services/wiki/__init__.py +++ b/sso/services/wiki/__init__.py @@ -16,7 +16,9 @@ class MediawikiService(BaseService): SQL_ADD_USER = r"INSERT INTO user (user_name, user_password, user_newpassword, user_options, user_email) VALUES (%s, %s, '', '', '')" - SQL_DEL_USER = r"DELETE FROM user WHERE username = %s" + SQL_DIS_USER = r"UPDATE user SET user_password = '', user_email = '' WHERE username = %s" + SQL_ENABLE_USER = r"UPDATE user SET user_password = %s WHERE user_name = %s" + SQL_CHECK_USER = r"SELECT user_name from user WHERE user_name = %s" def __init__(self): @@ -50,19 +52,27 @@ class MediawikiService(BaseService): def delete_user(self, username): """ Delete a user """ - self._dbcursor.execute(self.SQL_DEL_USER, [username]) - self._db.connection.commit() + self.disable_user(username) def disable_user(self, username): """ Disable a user """ - pass + self._dbcursor.execute(self.SQL_DIS_USER, [username]) + self._db.connection.commit() def enable_user(self, username, password): """ Enable a user """ + pwhash = self._gen_mw_hash(password) + self._dbcursor.execute(self.SQL_ENABLE_USER, [pwhash, username.strip().capitalize()]) pass def check_user(self, username): """ Check if the username exists """ - pass + self._dbcursor.execute(self.SQL_CHECK_USER, [username.strip().capitalize()]) + row = self._dbcursor.fetchone() + + if row: + return True + + return False ServiceClass = 'MediawikiService'