View | Details | Raw Unified | Return to bug 46535
Collapse All | Expand All

(-)__init__.py (+28 lines)
 Lines 182-187    Link Here 
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:
 Lines 1418-1423    Link Here 
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
 Lines 1431-1436    Link Here 
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:

Return to bug 46535