Python twisted.internet.defer.FAILURE Examples
The following are 25
code examples of twisted.internet.defer.FAILURE().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
twisted.internet.defer
, or try the search function
.
Example #1
Source File: util.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def _runSequentially(callables, stopOnFirstError=False): """ Run the given callables one after the other. If a callable returns a Deferred, wait until it has finished before running the next callable. @param callables: An iterable of callables that take no parameters. @param stopOnFirstError: If True, then stop running callables as soon as one raises an exception or fires an errback. False by default. @return: A L{Deferred} that fires a list of C{(flag, value)} tuples. Each tuple will be either C{(SUCCESS, <return value>)} or C{(FAILURE, <Failure>)}. """ results = [] for f in callables: d = defer.maybeDeferred(f) try: thing = yield d results.append((defer.SUCCESS, thing)) except Exception: results.append((defer.FAILURE, Failure())) if stopOnFirstError: break defer.returnValue(results)
Example #2
Source File: util.py From learn_python3_spider with MIT License | 6 votes |
def _runSequentially(callables, stopOnFirstError=False): """ Run the given callables one after the other. If a callable returns a Deferred, wait until it has finished before running the next callable. @param callables: An iterable of callables that take no parameters. @param stopOnFirstError: If True, then stop running callables as soon as one raises an exception or fires an errback. False by default. @return: A L{Deferred} that fires a list of C{(flag, value)} tuples. Each tuple will be either C{(SUCCESS, <return value>)} or C{(FAILURE, <Failure>)}. """ results = [] for f in callables: d = defer.maybeDeferred(f) try: thing = yield d results.append((defer.SUCCESS, thing)) except Exception: results.append((defer.FAILURE, Failure())) if stopOnFirstError: break defer.returnValue(results)
Example #3
Source File: test_newcred.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def _assertFailures(self, failures, *expectedFailures): for flag, failure in failures: self.failUnlessEqual(flag, defer.FAILURE) failure.trap(*expectedFailures) return None
Example #4
Source File: test_cred.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def _assertFailures(self, failures, *expectedFailures): for flag, failure in failures: self.assertEqual(flag, defer.FAILURE) failure.trap(*expectedFailures) return None
Example #5
Source File: test_defer.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def testDeferredList(self): defr1 = defer.Deferred() defr2 = defer.Deferred() defr3 = defer.Deferred() dl = defer.DeferredList([defr1, defr2, defr3]) result = [] def cb(resultList, result=result): result.extend(resultList) def catch(err): return None dl.addCallbacks(cb, cb) defr1.callback("1") defr2.addErrback(catch) # "catch" is added to eat the GenericError that will be passed on by # the DeferredList's callback on defr2. If left unhandled, the # Failure object would cause a log.err() warning about "Unhandled # error in Deferred". Twisted's pyunit watches for log.err calls and # treats them as failures. So "catch" must eat the error to prevent # it from flunking the test. defr2.errback(GenericError("2")) defr3.callback("3") self.failUnlessEqual([result[0], #result[1][1] is now a Failure instead of an Exception (result[1][0], str(result[1][1].value)), result[2]], [(defer.SUCCESS, "1"), (defer.FAILURE, "2"), (defer.SUCCESS, "3")])
Example #6
Source File: test_newcred.py From python-for-android with Apache License 2.0 | 5 votes |
def _assertFailures(self, failures, *expectedFailures): for flag, failure in failures: self.failUnlessEqual(flag, defer.FAILURE) failure.trap(*expectedFailures) return None
Example #7
Source File: test_defer.py From python-for-android with Apache License 2.0 | 5 votes |
def testDeferredList(self): defr1 = defer.Deferred() defr2 = defer.Deferred() defr3 = defer.Deferred() dl = defer.DeferredList([defr1, defr2, defr3]) result = [] def cb(resultList, result=result): result.extend(resultList) def catch(err): return None dl.addCallbacks(cb, cb) defr1.callback("1") defr2.addErrback(catch) # "catch" is added to eat the GenericError that will be passed on by # the DeferredList's callback on defr2. If left unhandled, the # Failure object would cause a log.err() warning about "Unhandled # error in Deferred". Twisted's pyunit watches for log.err calls and # treats them as failures. So "catch" must eat the error to prevent # it from flunking the test. defr2.errback(GenericError("2")) defr3.callback("3") self.failUnlessEqual([result[0], #result[1][1] is now a Failure instead of an Exception (result[1][0], str(result[1][1].value)), result[2]], [(defer.SUCCESS, "1"), (defer.FAILURE, "2"), (defer.SUCCESS, "3")])
Example #8
Source File: unittest.py From python-for-android with Apache License 2.0 | 5 votes |
def _cbDeferRunCleanups(self, cleanupResults, result): for flag, failure in cleanupResults: if flag == defer.FAILURE: result.addError(self, failure) if failure.check(KeyboardInterrupt): result.stop() self._passed = False
Example #9
Source File: test_util.py From python-for-android with Apache License 2.0 | 5 votes |
def test_stopOnFirstError(self): """ If the C{stopOnFirstError} option is passed to C{runSequentially}, then no further callables are called after the first exception is raised. """ d = util._runSequentially([lambda: self.fail('foo'), lambda: 'bar'], stopOnFirstError=True) def check(results): [(flag1, fail)] = results fail.trap(self.failureException) self.assertEqual(flag1, defer.FAILURE) self.assertEqual(fail.getErrorMessage(), 'foo') return d.addCallback(check)
Example #10
Source File: test_util.py From python-for-android with Apache License 2.0 | 5 votes |
def test_continuesAfterError(self): """ If one of the callables raises an error, then runSequentially continues to run the remaining callables. """ d = util._runSequentially([lambda: self.fail('foo'), lambda: 'bar']) def check(results): [(flag1, fail), (flag2, result)] = results fail.trap(self.failureException) self.assertEqual(flag1, defer.FAILURE) self.assertEqual(fail.getErrorMessage(), 'foo') self.assertEqual(flag2, defer.SUCCESS) self.assertEqual(result, 'bar') return d.addCallback(check)
Example #11
Source File: test_util.py From python-for-android with Apache License 2.0 | 5 votes |
def test_singleAsynchronousFailure(self): """ When given a callable that returns a failing Deferred, include the failure the results list, tagged with a FAILURE flag. """ d = util._runSequentially([lambda: defer.fail(ValueError('foo'))]) def check(results): [(flag, fail)] = results fail.trap(ValueError) self.assertEqual(fail.getErrorMessage(), 'foo') self.assertEqual(flag, defer.FAILURE) return d.addCallback(check)
Example #12
Source File: test_util.py From python-for-android with Apache License 2.0 | 5 votes |
def test_singleSynchronousFailure(self): """ When given a callable that raises an exception, include a Failure for that exception in the results list, tagged with a FAILURE flag. """ d = util._runSequentially([lambda: self.fail('foo')]) def check(results): [(flag, fail)] = results fail.trap(self.failureException) self.assertEqual(fail.getErrorMessage(), 'foo') self.assertEqual(flag, defer.FAILURE) return d.addCallback(check)
Example #13
Source File: util.py From python-for-android with Apache License 2.0 | 5 votes |
def _runSequentially(callables, stopOnFirstError=False): """ Run the given callables one after the other. If a callable returns a Deferred, wait until it has finished before running the next callable. @param callables: An iterable of callables that take no parameters. @param stopOnFirstError: If True, then stop running callables as soon as one raises an exception or fires an errback. False by default. @return: A L{Deferred} that fires a list of C{(flag, value)} tuples. Each tuple will be either C{(SUCCESS, <return value>)} or C{(FAILURE, <Failure>)}. """ results = [] for f in callables: d = defer.maybeDeferred(f) thing = defer.waitForDeferred(d) yield thing try: results.append((defer.SUCCESS, thing.getResult())) except: results.append((defer.FAILURE, Failure())) if stopOnFirstError: break yield results
Example #14
Source File: test_fileupload.py From ccs-calendarserver with Apache License 2.0 | 5 votes |
def _assertFailures(self, failures, *expectedFailures): for flag, failure in failures: self.failUnlessEqual(flag, defer.FAILURE) failure.trap(*expectedFailures)
Example #15
Source File: test_defer.py From learn_python3_spider with MIT License | 5 votes |
def testDeferredList(self): defr1 = defer.Deferred() defr2 = defer.Deferred() defr3 = defer.Deferred() dl = defer.DeferredList([defr1, defr2, defr3]) result = [] def cb(resultList, result=result): result.extend(resultList) def catch(err): return None dl.addCallbacks(cb, cb) defr1.callback("1") defr2.addErrback(catch) # "catch" is added to eat the GenericError that will be passed on by # the DeferredList's callback on defr2. If left unhandled, the # Failure object would cause a log.err() warning about "Unhandled # error in Deferred". Twisted's pyunit watches for log.err calls and # treats them as failures. So "catch" must eat the error to prevent # it from flunking the test. defr2.errback(GenericError("2")) defr3.callback("3") self.assertEqual([result[0], #result[1][1] is now a Failure instead of an Exception (result[1][0], str(result[1][1].value)), result[2]], [(defer.SUCCESS, "1"), (defer.FAILURE, "2"), (defer.SUCCESS, "3")])
Example #16
Source File: test_util.py From learn_python3_spider with MIT License | 5 votes |
def test_stopOnFirstError(self): """ If the C{stopOnFirstError} option is passed to C{runSequentially}, then no further callables are called after the first exception is raised. """ d = util._runSequentially([lambda: self.fail('foo'), lambda: 'bar'], stopOnFirstError=True) def check(results): [(flag1, fail)] = results fail.trap(self.failureException) self.assertEqual(flag1, defer.FAILURE) self.assertEqual(fail.getErrorMessage(), 'foo') self.assertDeferredResult(d, check)
Example #17
Source File: test_util.py From learn_python3_spider with MIT License | 5 votes |
def test_singleAsynchronousFailure(self): """ When given a callable that returns a failing Deferred, include the failure the results list, tagged with a FAILURE flag. """ d = util._runSequentially([lambda: defer.fail(ValueError('foo'))]) def check(results): [(flag, fail)] = results fail.trap(ValueError) self.assertEqual(fail.getErrorMessage(), 'foo') self.assertEqual(flag, defer.FAILURE) self.assertDeferredResult(d, check)
Example #18
Source File: test_util.py From learn_python3_spider with MIT License | 5 votes |
def test_singleSynchronousFailure(self): """ When given a callable that raises an exception, include a Failure for that exception in the results list, tagged with a FAILURE flag. """ d = util._runSequentially([lambda: self.fail('foo')]) def check(results): [(flag, fail)] = results fail.trap(self.failureException) self.assertEqual(fail.getErrorMessage(), 'foo') self.assertEqual(flag, defer.FAILURE) self.assertDeferredResult(d, check)
Example #19
Source File: _asynctest.py From learn_python3_spider with MIT License | 5 votes |
def _cbDeferRunCleanups(self, cleanupResults, result): for flag, testFailure in cleanupResults: if flag == defer.FAILURE: result.addError(self, testFailure) if testFailure.check(KeyboardInterrupt): result.stop() self._passed = False
Example #20
Source File: test_cred.py From learn_python3_spider with MIT License | 5 votes |
def _assertFailures(self, failures, *expectedFailures): for flag, failure in failures: self.assertEqual(flag, defer.FAILURE) failure.trap(*expectedFailures) return None
Example #21
Source File: test_defer.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def testDeferredList(self): defr1 = defer.Deferred() defr2 = defer.Deferred() defr3 = defer.Deferred() dl = defer.DeferredList([defr1, defr2, defr3]) result = [] def cb(resultList, result=result): result.extend(resultList) def catch(err): return None dl.addCallbacks(cb, cb) defr1.callback("1") defr2.addErrback(catch) # "catch" is added to eat the GenericError that will be passed on by # the DeferredList's callback on defr2. If left unhandled, the # Failure object would cause a log.err() warning about "Unhandled # error in Deferred". Twisted's pyunit watches for log.err calls and # treats them as failures. So "catch" must eat the error to prevent # it from flunking the test. defr2.errback(GenericError("2")) defr3.callback("3") self.assertEqual([result[0], #result[1][1] is now a Failure instead of an Exception (result[1][0], str(result[1][1].value)), result[2]], [(defer.SUCCESS, "1"), (defer.FAILURE, "2"), (defer.SUCCESS, "3")])
Example #22
Source File: test_util.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def test_stopOnFirstError(self): """ If the C{stopOnFirstError} option is passed to C{runSequentially}, then no further callables are called after the first exception is raised. """ d = util._runSequentially([lambda: self.fail('foo'), lambda: 'bar'], stopOnFirstError=True) def check(results): [(flag1, fail)] = results fail.trap(self.failureException) self.assertEqual(flag1, defer.FAILURE) self.assertEqual(fail.getErrorMessage(), 'foo') self.assertDeferredResult(d, check)
Example #23
Source File: test_util.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def test_singleAsynchronousFailure(self): """ When given a callable that returns a failing Deferred, include the failure the results list, tagged with a FAILURE flag. """ d = util._runSequentially([lambda: defer.fail(ValueError('foo'))]) def check(results): [(flag, fail)] = results fail.trap(ValueError) self.assertEqual(fail.getErrorMessage(), 'foo') self.assertEqual(flag, defer.FAILURE) self.assertDeferredResult(d, check)
Example #24
Source File: test_util.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def test_singleSynchronousFailure(self): """ When given a callable that raises an exception, include a Failure for that exception in the results list, tagged with a FAILURE flag. """ d = util._runSequentially([lambda: self.fail('foo')]) def check(results): [(flag, fail)] = results fail.trap(self.failureException) self.assertEqual(fail.getErrorMessage(), 'foo') self.assertEqual(flag, defer.FAILURE) self.assertDeferredResult(d, check)
Example #25
Source File: _asynctest.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def _cbDeferRunCleanups(self, cleanupResults, result): for flag, testFailure in cleanupResults: if flag == defer.FAILURE: result.addError(self, testFailure) if testFailure.check(KeyboardInterrupt): result.stop() self._passed = False