Total Complexity | 5 |
Total Lines | 19 |
Duplicated Lines | 0 % |
1 | import logging |
||
3 | class Error(Exception): |
||
4 | def __init__(self, message, data = {}): |
||
5 | self.message = message |
||
6 | self.data = data |
||
7 | |||
8 | def __str__(self): |
||
9 | return self.message + ": " + repr(self.data) |
||
10 | |||
11 | @staticmethod |
||
12 | def die(code, error, message = None): |
||
13 | if isinstance(error, Exception): |
||
14 | e = error |
||
15 | error = '{0}.{1}'.format(type(e).__module__, type(e).__name__) |
||
16 | message = str(e) |
||
17 | print 'Error: ' + error |
||
18 | if message: |
||
19 | print message |
||
20 | logging.exception(message) |
||
21 | exit(code) |
||
22 | |||
23 |