| author | Sandro Knauß <knauss@netzguerilla.net> |
| Fri, 30 Mar 2012 11:23:22 +0200 | |
| branch | devel |
| changeset 267 | ef2df3f23cb1 |
| parent 225 | 70dafbaf21af |
| child 294 | 0e75bd39767d |
| permissions | -rw-r--r-- |
| 92 | 1 |
# -*- coding: utf-8 -*- |
2 |
class InterfaceException(Exception): |
|
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
3 |
"""Exception, that should be reported to external client |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
4 |
|
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
5 |
999 -- unknown error |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
6 |
""" |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
7 |
def __init__(self, code=999, msg="Unknown error."): |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
8 |
""" |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
9 |
:param integer code: the error code |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
10 |
:param string msg: the error message |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
11 |
""" |
| 92 | 12 |
self.code=code |
13 |
self.msg=msg |
|
14 |
||
15 |
def dict(self): |
|
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
16 |
"""dict representation of the error""" |
| 92 | 17 |
return {"code":self.code, |
18 |
"msg":self.msg, |
|
19 |
} |
|
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
20 |
|
| 92 | 21 |
def __str__(self): |
|
225
70dafbaf21af
nicer error messages
Sandro Knauß <knauss@netzguerilla.net>
parents:
213
diff
changeset
|
22 |
return "%i: %s"%(self.code,self.msg) |
| 92 | 23 |
|
24 |
class UserNotFound(InterfaceException): |
|
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
25 |
""" 901 -- apikey is unknown -- user not found""" |
| 92 | 26 |
def __init__(self): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
27 |
InterfaceException.__init__(self, 901, "Apikey is unknown.") |
| 92 | 28 |
|
|
125
19b3f383c9ce
getting job status form db
Sandro Knauß <knauss@netzguerilla.net>
parents:
116
diff
changeset
|
29 |
class JobNotFound(InterfaceException): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
30 |
"""902 -- jobid is unknown""" |
|
125
19b3f383c9ce
getting job status form db
Sandro Knauß <knauss@netzguerilla.net>
parents:
116
diff
changeset
|
31 |
def __init__(self): |
|
189
ae2767918faa
default language is english.
Sandro Knauß <knauss@netzguerilla.net>
parents:
165
diff
changeset
|
32 |
InterfaceException.__init__(self, 902, "Jobid is unknown.") |
|
125
19b3f383c9ce
getting job status form db
Sandro Knauß <knauss@netzguerilla.net>
parents:
116
diff
changeset
|
33 |
|
| 92 | 34 |
class ExternalException(InterfaceException): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
35 |
"""950 -- error in external api""" |
| 92 | 36 |
def __init__(self): |
|
189
ae2767918faa
default language is english.
Sandro Knauß <knauss@netzguerilla.net>
parents:
165
diff
changeset
|
37 |
InterfaceException.__init__(self, 950, "Error in external API.") |
| 92 | 38 |
|
39 |
class ValidateException(Exception): |
|
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
40 |
"""700 -- validation failed.""" |
|
110
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
41 |
def __init__(self, code=700, field=None, msg=None): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
42 |
""" |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
43 |
:param integer code: the error code |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
44 |
:param string field: the field, that is not valid |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
45 |
:param string msg: the error message |
|
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
46 |
""" |
|
110
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
47 |
self.code=code |
|
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
48 |
self.field=field |
|
116
48c70425bf6c
validateexception.msg right use
Sandro Knauß <knauss@netzguerilla.net>
parents:
110
diff
changeset
|
49 |
self.msg = msg |
|
48c70425bf6c
validateexception.msg right use
Sandro Knauß <knauss@netzguerilla.net>
parents:
110
diff
changeset
|
50 |
if not msg: |
|
48c70425bf6c
validateexception.msg right use
Sandro Knauß <knauss@netzguerilla.net>
parents:
110
diff
changeset
|
51 |
self.msg='Validation failed.' |
|
110
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
52 |
if field and not msg: |
|
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
53 |
self.msg="Validation of '%s' failed."%field |
|
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
54 |
|
|
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
55 |
def dict(self): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
56 |
"""dict representation of the error""" |
|
110
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
57 |
return {"code":self.code, |
|
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
58 |
"msg":self.msg, |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
59 |
"field":self.field, |
|
110
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
60 |
} |
|
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
61 |
def __str__(self): |
|
225
70dafbaf21af
nicer error messages
Sandro Knauß <knauss@netzguerilla.net>
parents:
213
diff
changeset
|
62 |
return "%i: %s"%(self.code,self.msg) |
|
110
601fc908d9f1
exception handling for xmprpc
Sandro Knauß <knauss@netzguerilla.net>
parents:
92
diff
changeset
|
63 |
|
|
129
d6704178a18f
renaming NotATelNumber -> InvalidTel
Sandro Knauß <knauss@netzguerilla.net>
parents:
128
diff
changeset
|
64 |
class InvalidTel(ValidateException): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
65 |
"""701 -- invalid telnumber""" |
|
126
1ac2439a68b5
adding test function for email- and telefonnumbers.
Sandro Knauß <knauss@netzguerilla.net>
parents:
125
diff
changeset
|
66 |
def __init__(self, number,field=None): |
|
128
1a3ebdd3bdaf
telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents:
126
diff
changeset
|
67 |
self.number = number |
|
126
1ac2439a68b5
adding test function for email- and telefonnumbers.
Sandro Knauß <knauss@netzguerilla.net>
parents:
125
diff
changeset
|
68 |
msg = "No valid telnumber: '%s'"%(number) |
|
1ac2439a68b5
adding test function for email- and telefonnumbers.
Sandro Knauß <knauss@netzguerilla.net>
parents:
125
diff
changeset
|
69 |
ValidateException.__init__(self, 701, field, msg) |
|
1ac2439a68b5
adding test function for email- and telefonnumbers.
Sandro Knauß <knauss@netzguerilla.net>
parents:
125
diff
changeset
|
70 |
|
|
1ac2439a68b5
adding test function for email- and telefonnumbers.
Sandro Knauß <knauss@netzguerilla.net>
parents:
125
diff
changeset
|
71 |
class InvalidMail(ValidateException): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
72 |
"""702 -- invalid mailaddress""" |
|
126
1ac2439a68b5
adding test function for email- and telefonnumbers.
Sandro Knauß <knauss@netzguerilla.net>
parents:
125
diff
changeset
|
73 |
def __init__(self, number,field=None): |
|
128
1a3ebdd3bdaf
telnumber test in own file
Sandro Knauß <knauss@netzguerilla.net>
parents:
126
diff
changeset
|
74 |
self.number = number |
|
126
1ac2439a68b5
adding test function for email- and telefonnumbers.
Sandro Knauß <knauss@netzguerilla.net>
parents:
125
diff
changeset
|
75 |
msg = "No valid email: '%s'"%(number) |
|
1ac2439a68b5
adding test function for email- and telefonnumbers.
Sandro Knauß <knauss@netzguerilla.net>
parents:
125
diff
changeset
|
76 |
ValidateException.__init__(self, 702, field, msg) |
| 135 | 77 |
|
|
154
fb614eb7627e
adding OfferExceptions
Sandro Knauß <knauss@netzguerilla.net>
parents:
135
diff
changeset
|
78 |
class OfferException(Exception): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
79 |
"""an Exception in Offer handling""" |
|
165
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
80 |
def __init__(self, name): |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
81 |
self.name = name |
| 135 | 82 |
|
|
154
fb614eb7627e
adding OfferExceptions
Sandro Knauß <knauss@netzguerilla.net>
parents:
135
diff
changeset
|
83 |
class NoRoute(OfferException): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
84 |
"""no valid route found""" |
|
165
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
85 |
def __str__(self): |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
86 |
return "Not a valid route: %s"%self.name |
|
154
fb614eb7627e
adding OfferExceptions
Sandro Knauß <knauss@netzguerilla.net>
parents:
135
diff
changeset
|
87 |
|
|
fb614eb7627e
adding OfferExceptions
Sandro Knauß <knauss@netzguerilla.net>
parents:
135
diff
changeset
|
88 |
class NoProvider(OfferException): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
89 |
"""no provider found""" |
|
165
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
90 |
def __str__(self): |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
91 |
return "Not a valid provider: %s"%self.name |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
92 |
|
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
93 |
class NoTyp(OfferException): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
94 |
"""no typ found.""" |
|
165
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
95 |
def __str__(self): |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
96 |
return "Not a valid Typ: %s"%self.name |
| 135 | 97 |
|
98 |
class RejectRecipient(Exception): |
|
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
99 |
"""can't handle the recipient in a route""" |
|
213
3620bacf1152
tests for error in smstrade API.
Sandro Knauß <knauss@netzguerilla.net>
parents:
189
diff
changeset
|
100 |
def __init__(self,recipient, status=None): |
|
3620bacf1152
tests for error in smstrade API.
Sandro Knauß <knauss@netzguerilla.net>
parents:
189
diff
changeset
|
101 |
self.recipient = recipient |
|
3620bacf1152
tests for error in smstrade API.
Sandro Knauß <knauss@netzguerilla.net>
parents:
189
diff
changeset
|
102 |
self.status = status |
|
3620bacf1152
tests for error in smstrade API.
Sandro Knauß <knauss@netzguerilla.net>
parents:
189
diff
changeset
|
103 |
|
|
3620bacf1152
tests for error in smstrade API.
Sandro Knauß <knauss@netzguerilla.net>
parents:
189
diff
changeset
|
104 |
def __str__(self): |
|
3620bacf1152
tests for error in smstrade API.
Sandro Knauß <knauss@netzguerilla.net>
parents:
189
diff
changeset
|
105 |
return "Reject recipient(%s): %s"%(str(self.recipient),str(self.status)) |
|
165
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
106 |
|
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
107 |
class ConfigException(Exception): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
108 |
"""Exception while loading configuration.""" |
|
165
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
109 |
def __init__(self,section, name): |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
110 |
self.section = section |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
111 |
self.name = name |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
112 |
|
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
113 |
class UnknownOption(ConfigException): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
114 |
"""Option is unknown""" |
|
165
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
115 |
def __str__(self): |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
116 |
return "Unknown option '%s' in section '%s'."%(self.name, self.section) |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
117 |
|
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
118 |
class NeededOption(ConfigException): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
119 |
"""Option is missing, but needed.""" |
|
165
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
120 |
def __str__(self): |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
121 |
return "Option '%s' in section '%s' is missing."%(self.name, self.section) |
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
122 |
|
|
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
123 |
class NoRouteForTask(Exception): |
|
267
ef2df3f23cb1
adding docstring: iro
Sandro Knauß <knauss@netzguerilla.net>
parents:
225
diff
changeset
|
124 |
"""Can't send message to recipient with given offers""" |
|
165
dd07766f4fee
new and modify exceptions:
Sandro Knauß <knauss@netzguerilla.net>
parents:
162
diff
changeset
|
125 |
pass |