[Twisted-Python] help with Deferreds
Sergey Magafurov
smagafurov at naumen.ru
Thu Aug 26 04:31:13 MDT 2010
> def getCachedResult(cache, key):
>
> def release(result, item):
> item.release()
> return result
>
> def renew(data):
> return renew(data)
>
> def notFound(fail):
> fail.trap(NotFound)
>
> def checkObsolete(item):
> if item.obsolete():
> return None
> else:
> d = item.read()
> d.addBoth(release, item)
> d.addCallback(renew)
> return d
>
> d = cache.open(key)
> d.addCallbacks(checkObsolete, notFound)
> return d
>
Hi Terry
If item.obsolete() raise exception item remain not released.
Additional try ... except ... safe us but looks ugly
More information about the Twisted-Python
mailing list