|
182 |
self._dbcon.close() |
182 |
self._dbcon.close() |
183 |
self._dbcon = lite.connect(self.filename) |
183 |
self._dbcon = lite.connect(self.filename) |
184 |
|
184 |
|
|
|
185 |
def get_key(self, section, value): |
186 |
for i in [1, 2]: |
187 |
try: |
188 |
cur = self._dbcon.cursor() |
189 |
cur.execute("SELECT key FROM '%s' WHERE value=?" % section, (value,)) |
190 |
self._dbcon.commit() |
191 |
rows = cur.fetchall() |
192 |
cur.close() |
193 |
if rows: |
194 |
return rows[0][0] |
195 |
return '' |
196 |
except lite.Error, e: |
197 |
if self._dbcon: |
198 |
self._dbcon.close() |
199 |
self._dbcon = lite.connect(self.filename) |
200 |
|
185 |
def set(self, section, option, value): |
201 |
def set(self, section, option, value): |
186 |
for i in [1, 2]: |
202 |
for i in [1, 2]: |
187 |
try: |
203 |
try: |
|
1418 |
else: |
1434 |
else: |
1419 |
return False |
1435 |
return False |
1420 |
|
1436 |
|
|
|
1437 |
def was_objectGUID_deleted(self, objectGUID): |
1438 |
entryUUID = self.config.get_key('UCS deleted', objectGUID) |
1439 |
if entryUUID: |
1440 |
return True |
1441 |
else: |
1442 |
return False |
1443 |
|
1421 |
def delete_in_ucs(self, property_type, object, module, position): |
1444 |
def delete_in_ucs(self, property_type, object, module, position): |
1422 |
_d = ud.function('ldap.delete_in_ucs') |
1445 |
_d = ud.function('ldap.delete_in_ucs') |
1423 |
|
1446 |
|
|
1431 |
else: |
1454 |
else: |
1432 |
objectGUID = None |
1455 |
objectGUID = None |
1433 |
entryUUID = self._get_entryUUID(object['dn']) |
1456 |
entryUUID = self._get_entryUUID(object['dn']) |
|
|
1457 |
deleted_entryUUID = self.config.get_key('UCS deleted', objectGUID) |
1458 |
if deleted_entryUUID and entryUUID and entryUUID != deleted_entryUUID: |
1459 |
## Or maybe simply: if self.was_objectGUID_deleted(objectGUID) ? |
1460 |
ud.debug(ud.LDAP, ud.PROCESS, "delete_in_ucs: entryUUID %s of existing UCS Object doesn't match cached entryUUID %s of deleted object. Skipping." % (entryUUID, deleted_entryUUID)) |
1461 |
return True |
1434 |
|
1462 |
|
1435 |
if property_type == 'windowscomputer': |
1463 |
if property_type == 'windowscomputer': |
1436 |
# Sepcial handling for windows computer: |
1464 |
# Sepcial handling for windows computer: |