def handleFault(self, code, xml): type = ((xml and xml.nodeName) or '') args = [] if type: notes = dict([ (n.nodeName, n.firstChild.data) for n in xml.childNodes if n.nodeName in ('message', 'details') ]) args.append( (notes.has_key('message') and notes['message']) or None ) args.append(code) if notes.has_key('details'): args.append(notes['details']) else: args.extend([None, code]) exceptions.throw(type, *args)
def testExceptionRegistryOps(self): err = None exceptionType = 'fuError' self.assertFalse(exceptions.handlerFor(exceptionType)) try: exceptions.throw(exceptionType) except exceptions.UnknownExceptionType: err = True self.assertTrue(err) # Now register the handler and we should be able to throw it exceptions.registerHandler('fuError', StubException) self.assertEqual(exceptions.handlerFor(exceptionType), StubException) err = None try: exceptions.throw(exceptionType) except StubException: err = True self.assertTrue(err)