1
0
mirror of https://github.com/scrapy/scrapy.git synced 2025-02-25 16:43:47 +00:00

removed unused chain_deferred function, renamed defer_fail to defer_failed

This commit is contained in:
Pablo Hoffman 2009-08-20 14:37:38 -03:00
parent b763350340
commit 119bb11090

View File

@ -5,14 +5,18 @@ Helper functions for dealing with Twisted deferreds
from twisted.internet import defer, reactor, task
from twisted.python import failure
def defer_fail(_failure):
"""same as twsited.internet.defer.fail, but delay calling errback """
def defer_failed(_failure):
"""Same as twisted.internet.defer.fail, but delay calling errback until
next reactor loop
"""
d = defer.Deferred()
reactor.callLater(0, d.errback, _failure)
return d
def defer_succeed(result):
"""same as twsited.internet.defer.succed, but delay calling callback"""
"""Same as twsited.internet.defer.succed, but delay calling callback until
next reactor loop
"""
d = defer.Deferred()
reactor.callLater(0, d.callback, result)
return d
@ -26,7 +30,9 @@ def defer_result(result):
return defer_succeed(result)
def mustbe_deferred(f, *args, **kw):
"""same as twisted.internet.defer.maybeDeferred, but delay calling callback/errback"""
"""Same as twisted.internet.defer.maybeDeferred, but delay calling
callback/errback to next reactor loop
"""
try:
result = f(*args, **kw)
except:
@ -34,9 +40,6 @@ def mustbe_deferred(f, *args, **kw):
else:
return defer_result(result)
def chain_deferred(d1, d2):
return d1.chainDeferred(d2).addBoth(lambda _:d2)
def parallel(iterable, count, callable, *args, **named):
"""Execute a callable over the objects in the given iterable, in parallel,
using no more than ``count`` concurrent calls.
@ -46,4 +49,3 @@ def parallel(iterable, count, callable, *args, **named):
coop = task.Cooperator()
work = (callable(elem, *args, **named) for elem in iterable)
return defer.DeferredList([coop.coiterate(work) for i in xrange(count)])