42 lines
1 KiB
Python
42 lines
1 KiB
Python
|
|
|
|
class DelayDelete:
|
|
|
|
def __init__(self, distObj, name):
|
|
self._distObj = distObj
|
|
self._name = name
|
|
self._token = self._distObj.acquireDelayDelete(name)
|
|
|
|
def getObject(self):
|
|
return self._distObj
|
|
|
|
def getName(self):
|
|
return self._name
|
|
|
|
def destroy(self):
|
|
token = self._token
|
|
del self._token
|
|
self._distObj.releaseDelayDelete(token)
|
|
del self._distObj
|
|
del self._name
|
|
|
|
|
|
def cleanupDelayDeletes(interval):
|
|
if hasattr(interval, 'delayDelete'):
|
|
delayDelete = interval.delayDelete
|
|
del interval.delayDelete
|
|
if type(delayDelete) == type([]):
|
|
for i in delayDelete:
|
|
i.destroy()
|
|
|
|
else:
|
|
delayDelete.destroy()
|
|
if hasattr(interval, 'delayDeletes'):
|
|
delayDeletes = interval.delayDeletes
|
|
del interval.delayDeletes
|
|
if type(delayDeletes) == type([]):
|
|
for i in delayDeletes:
|
|
i.destroy()
|
|
|
|
else:
|
|
delayDeletes.destroy()
|