mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-04-25 13:29:45 +00:00
util: add gatherResults which is a deferred-list-like thing that doesn't wrap failures in a FirstError
This commit is contained in:
parent
38f293a913
commit
5d5e89d96d
@ -15,3 +15,22 @@ def DeferredListShouldSucceed(dl):
|
|||||||
d.addCallback(_check_deferred_list)
|
d.addCallback(_check_deferred_list)
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
def _parseDListResult(l):
|
||||||
|
return [x[1] for x in l]
|
||||||
|
|
||||||
|
def _unwrapFirstError(f):
|
||||||
|
f.trap(defer.FirstError)
|
||||||
|
raise f.value.subFailure
|
||||||
|
|
||||||
|
def gatherResults(deferredList):
|
||||||
|
"""Returns list with result of given Deferreds.
|
||||||
|
|
||||||
|
This builds on C{DeferredList} but is useful since you don't
|
||||||
|
need to parse the result for success/failure.
|
||||||
|
|
||||||
|
@type deferredList: C{list} of L{Deferred}s
|
||||||
|
"""
|
||||||
|
d = defer.DeferredList(deferredList, fireOnOneErrback=True, consumeErrors=True)
|
||||||
|
d.addCallbacks(_parseDListResult, _unwrapFirstError)
|
||||||
|
return d
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user