diff options
author | Filipp Lepalaan <f@230.to> | 2013-03-14 18:17:33 +0200 |
---|---|---|
committer | Filipp Lepalaan <f@230.to> | 2013-03-14 18:17:33 +0200 |
commit | dc707538110ba368c05d2eb560bd1f20fdc3574b (patch) | |
tree | 13bd27aba2924e172efa025e5dc9fb2fb1b64a3b /gsxws.py | |
parent | 8b9f1ab6b20474a8fb277e5aea2f6ea402e6786f (diff) | |
download | py-gsxws-dc707538110ba368c05d2eb560bd1f20fdc3574b.tar.gz py-gsxws-dc707538110ba368c05d2eb560bd1f20fdc3574b.tar.bz2 py-gsxws-dc707538110ba368c05d2eb560bd1f20fdc3574b.zip |
Through GsxError on Repair.mark_complete()
Diffstat (limited to 'gsxws.py')
-rwxr-xr-x | gsxws.py | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -326,10 +326,14 @@ class GsxResponse(dict): return nodedict class GsxError(Exception): - def __init__(self, message, code=None): - self.code = code - self.message = message - self.data = (self.code, self.message) + def __init__(self, message=None, code=None, fault=None): + if isinstance(fault, suds.WebFault): + self.code = fault.fault.faultcode + self.message=fault.fault.faultstring + else: + self.code = code + self.message = message + self.data = (self.code, self.message) def __getitem__(self, idx): return self.data[idx] @@ -602,7 +606,10 @@ class Repair(GsxObject): dt.repairConfirmationNumbers = [self.data['dispatchId']] result = CLIENT.service.MarkRepairComplete(dt) - return result.repairConfirmationNumbers + try: + return result.repairConfirmationNumbers + except suds.WebFault, e: + raise GsxError(fault=e) def delete(self): """ |