<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
<blockquote
cite="mid:AANLkTi=k9DVFTAKLU3LhAMbJpo_A_4pLb46HnAa2mR=-@mail.gmail.com"
type="cite">
<pre wrap="">If you don't like that construct, perhaps this one is nicer:
from twisted.internet.defer import maybeDeferred
def getCachedResult(cache, key):
def _readItem(item):
if item.obsolete():
return None
return item.read()
def _gotResult(item):
def _release(ign):
item.release()
return item
d = maybeDeferred(_readItem, item)
d.addBoth(_release)
d.addCallback(renew)
return d
def _ebNotFound(f):
f.trap(NotFound)
return None
return cache.open(key).addCallbacks(_gotResult, _ebNotFound</pre>
</blockquote>
Thanks, <span id="result_box" class="short_text"><span
style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"
title="">this is what I was looking for</span></span>
</body>
</html>