Revision e6bba30c snf-common/synnefo/lib/commissioning/exception.py
b/snf-common/synnefo/lib/commissioning/exception.py | ||
---|---|---|
46 | 46 |
return self |
47 | 47 |
|
48 | 48 |
def __init__(self, *args, **kw): |
49 |
self.call_error = kw.get('call_error', self.__class__.__name__)
|
|
49 |
self.call_error = kw.pop('call_error', self.__class__.__name__)
|
|
50 | 50 |
self.args = args |
51 |
self.kwargs = kw |
|
51 | 52 |
|
52 | 53 |
def __str__(self): |
53 | 54 |
return '\n--------\n'.join(str(x) for x in self.args) |
... | ... | |
71 | 72 |
|
72 | 73 |
def to_dict(self): |
73 | 74 |
return {'call_error': self.call_error, |
74 |
'error_args': self.args}
|
|
75 |
'error_args': (self.args, self.kwargs)}
|
|
75 | 76 |
|
76 | 77 |
@classmethod |
77 | 78 |
def from_dict(cls, dictobj): |
... | ... | |
86 | 87 |
if args is None: |
87 | 88 |
args = (str(dictobj),) |
88 | 89 |
call_error = 'UnknownError' |
90 |
kw = {} |
|
91 |
else: |
|
92 |
args, kw = args |
|
89 | 93 |
|
90 |
self = cls(*args, call_error=call_error) |
|
94 |
self = cls(*args, call_error=call_error, **kw)
|
|
91 | 95 |
return self |
92 | 96 |
|
93 | 97 |
def register_exceptions(*exceptions): |
Also available in: Unified diff