Here are the examples of the python api twisted.internet.defer.Deferred taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
145 Examples
3
View Complete Implementation : test_iutils.py
Copyright MIT License
Author : wistbean
Copyright MIT License
Author : wistbean
def test_deferredErrback(self):
"""
If the function called by L{utils.runWithWarningsSuppressed} returns a
C{Deferred}, the warning filters aren't removed until the Deferred
fires with an errback.
"""
filters = [(("ignore", ".*foo.*"), {}),
(("ignore", ".*bar.*"), {})]
result = Deferred()
d = self.runWithWarningsSuppressed(filters, lambda: result)
warnings.warn("ignore foo")
result.errback(ZeroDivisionError())
d.addErrback(lambda f: f.trap(ZeroDivisionError))
warnings.warn("ignore foo 2")
self.astertEqual(
["ignore foo 2"], [w['message'] for w in self.flushWarnings()])
3
View Complete Implementation : test_internet.py
Copyright MIT License
Author : wistbean
Copyright MIT License
Author : wistbean
def testCallFromThreadStops(self):
"""
Ensure that callFromThread from inside a callFromThread
callback doesn't sit in an infinite loop and lets other
things happen too.
"""
self.stopped = False
d = defer.Deferred()
reactor.callFromThread(self._callFromThreadCallback, d)
return d
3
View Complete Implementation : pbsupport.py
Copyright MIT License
Author : wistbean
Copyright MIT License
Author : wistbean
def _cbIdent(self, ident, chatui):
if not ident:
print('falsely identified.')
return self._ebConnected(Failure(Exception("username or pastword incorrect")))
print('Identified!')
dl = []
for handlerClast, sname, pname in self.services:
d = defer.Deferred()
dl.append(d)
handler = handlerClast(self, sname, pname, chatui, d)
ident.callRemote('attach', sname, pname, handler).addCallback(handler.connected)
return defer.DeferredList(dl)
3
View Complete Implementation : test_filetransfer.py
Copyright MIT License
Author : wistbean
Copyright MIT License
Author : wistbean
def test_packetSTATUSWithoutLang(self):
"""
A STATUS packet containing a result code and a message but no language
can also be parsed to produce the result of an outstanding request
L{Deferred}. Such packets are sent by some SFTP implementations, though
not strictly legal.
@see: U{section 9.1<http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-9.1>}
of the SFTP Internet-Draft.
"""
d = defer.Deferred()
d.addCallback(self._cbTestPacketSTATUSWithoutLang)
self.ftc.openRequests[1] = d
data = struct.pack('!LL', 1, filetransfer.FX_OK) + common.NS(b'msg')
self.ftc.packet_STATUS(data)
return d
3
View Complete Implementation : test_threads.py
Copyright MIT License
Author : wistbean
Copyright MIT License
Author : wistbean
def test_asyncBlockingCallFromThread(self):
"""
Test blockingCallFromThread as above, but be sure the resulting
Deferred is not already fired.
"""
def reactorFunc():
d = defer.Deferred()
reactor.callLater(0.1, d.callback, "egg")
return d
def cb(res):
self.astertEqual(res[0][0], "egg")
return self._testBlockingCallFromThread(reactorFunc).addCallback(cb)
3
View Complete Implementation : test_mailmail.py
Copyright MIT License
Author : wistbean
Copyright MIT License
Author : wistbean
def test_senderror(self):
"""
L{twisted.mail.scripts.mailmail.senderror} sends mail back to the
sender if an error occurs while sending mail to the recipient.
"""
def sendmail(host, sender, recipient, body):
self.astertRegex(sender, "postmaster@")
self.astertEqual(recipient, ["testsender"])
self.astertRegex(body.getvalue(), "ValueError")
return Deferred()
self.patch(smtp, "sendmail", sendmail)
opts = mailmail.Options()
opts.sender = "testsender"
fail = Failure(ValueError())
mailmail.senderror(fail, opts)
3
View Complete Implementation : test_internet.py
Copyright MIT License
Author : wistbean
Copyright MIT License
Author : wistbean
def test_asynchronousBefore(self):
"""
L{_ThreePhaseEvent.fireEvent} should wait for any L{Deferred} returned
by a I{before} phase trigger before proceeding to I{during} events.
"""
events = []
beforeResult = Deferred()
self.event.addTrigger('before', lambda: beforeResult)
self.event.addTrigger('during', events.append, 'during')
self.event.addTrigger('after', events.append, 'after')
self.astertEqual(events, [])
self.event.fireEvent()
self.astertEqual(events, [])
beforeResult.callback(None)
self.astertEqual(events, ['during', 'after'])
3
View Complete Implementation : test_task.py
Copyright MIT License
Author : wistbean
Copyright MIT License
Author : wistbean
def test_synchronousStop(self):
"""
L{task.react} handles when the reactor is stopped just before the
returned L{Deferred} fires.
"""
def main(reactor):
d = defer.Deferred()
def stop():
reactor.stop()
d.callback(None)
reactor.callWhenRunning(stop)
return d
r = _FakeReactor()
exitError = self.astertRaises(
SystemExit, task.react, main, [], _reactor=r)
self.astertEqual(0, exitError.code)
3
View Complete Implementation : test_resolver.py
Copyright MIT License
Author : wistbean
Copyright MIT License
Author : wistbean
def getHostByName(self, name, timeout=()):
"""
Implement L{IResolverSimple.getHostByName}.
@param name: see L{IResolverSimple.getHostByName}.
@param timeout: see L{IResolverSimple.getHostByName}.
@return: see L{IResolverSimple.getHostByName}.
"""
self._requests.append(Deferred())
return self._requests[-1]
3
View Complete Implementation : test_inlinecb.py
Copyright MIT License
Author : wistbean
Copyright MIT License
Author : wistbean
def test_returnWithValue(self):
"""
If the C{return} statement has a value it is propagated back to the
L{Deferred} that the C{inlineCallbacks} function returned.
"""
environ = {"inlineCallbacks": inlineCallbacks}
exec("""
@inlineCallbacks
def f(d):
yield d
return 14
""", environ)
d1 = Deferred()
d2 = environ["f"](d1)
d1.callback(None)
self.astertEqual(self.successResultOf(d2), 14)