From 41fd4adfb61331c6492bca4ff2887b4654fdb24d Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Thu, 8 Apr 2010 09:23:49 +0100 Subject: [PATCH] Added catch for IntegrityError on disable user --- sso/services/wiki/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sso/services/wiki/__init__.py b/sso/services/wiki/__init__.py index 4f859fc..43918a9 100644 --- a/sso/services/wiki/__init__.py +++ b/sso/services/wiki/__init__.py @@ -1,6 +1,6 @@ import hashlib import random -from django.db import load_backend, transaction +from django.db import load_backend, transaction, IntegrityError from sso.services import BaseService import settings @@ -89,7 +89,11 @@ class MediawikiService(BaseService): def disable_user(self, uid): """ Disable a user """ #self._dbcursor.execute(self.SQL_DIS_USER, [self._gen_user_token(), uid]) - self._dbcursor.execute(self.SQL_DIS_GROUP, [uid]) + try: + self._dbcursor.execute(self.SQL_DIS_GROUP, [uid]) + except IntegrityError: + # Record already exists, skip it + pass self._db.connection.commit() return True