~puzzlement/backwards/alpha

« back to all changes in this revision

Viewing changes to backwards/util.py

  • Committer: Mary Gardiner
  • Date: 2006-06-12 12:30:15 UTC
  • mfrom: (87.2.3 devel)
  • Revision ID: mary-bzr@puzzling.org-20060612123015-f12c8b2b2edad6e9
0.0.2 release

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
from nevow import rend, loaders, tags, inevow
21
21
from nevow.stan import directive
22
22
from nevow.flat import flatten
23
 
from twisted.internet import defer
 
23
from twisted.internet import defer, reactor
24
24
import md5
25
25
 
26
26
from twisted.protocols import http
182
182
 
183
183
        d.addCallback(_cb_locateChild)
184
184
        return d
 
185
 
 
186
def cooperate():
 
187
    """
 
188
    Usage: yield cooperate()
 
189
 
 
190
    Semantics: Return to main loop and return to this point later. Useful
 
191
    for splitting up computationally intense functions. Simply yield the
 
192
    result of this function and the main loop will re-enter at least once
 
193
    before your function resumes.
 
194
 
 
195
    Methods yielding the result of cooperate must be decorated with
 
196
    @defer.deferredGenerator
 
197
    """
 
198
    d = defer.Deferred()
 
199
    reactor.callLater(0, d.callback, None)
 
200
    return defer.waitForDeferred(d)