|
a/Allura/allura/lib/exceptions.py |
|
b/Allura/allura/lib/exceptions.py |
|
... |
|
... |
16 |
# under the License.
|
16 |
# under the License.
|
17 |
|
17 |
|
18 |
from formencode import Invalid
|
18 |
from formencode import Invalid
|
19 |
|
19 |
|
20 |
class ForgeError(Exception): pass
|
20 |
class ForgeError(Exception): pass
|
|
|
21 |
|
21 |
class ProjectConflict(ForgeError, Invalid): pass
|
22 |
class ProjectConflict(ForgeError, Invalid):
|
|
|
23 |
|
|
|
24 |
# support the single string constructor in addition to full set of params that Invalid.__init__ requires
|
|
|
25 |
def __init__(self, msg, value=None, state=None, error_list=None, error_dict=None):
|
|
|
26 |
super(ProjectConflict, self).__init__(msg, value, state, error_list, error_dict)
|
|
|
27 |
|
|
|
28 |
|
22 |
class ProjectShortnameInvalid(ForgeError, Invalid): pass
|
29 |
class ProjectShortnameInvalid(ForgeError, Invalid): pass
|
23 |
class ProjectOverlimitError(ForgeError): pass
|
30 |
class ProjectOverlimitError(ForgeError): pass
|
24 |
class ProjectRatelimitError(ForgeError): pass
|
31 |
class ProjectRatelimitError(ForgeError): pass
|
25 |
class ToolError(ForgeError): pass
|
32 |
class ToolError(ForgeError): pass
|
26 |
class NoSuchProjectError(ForgeError): pass
|
33 |
class NoSuchProjectError(ForgeError): pass
|
|
... |
|
... |
43 |
for tp,val,tb in self.args:
|
50 |
for tp,val,tb in self.args:
|
44 |
for line in traceback.format_exception(tp,val,tb):
|
51 |
for line in traceback.format_exception(tp,val,tb):
|
45 |
parts.append(' ' + line)
|
52 |
parts.append(' ' + line)
|
46 |
parts.append('</%s>\n' % self.__class__.__name__ )
|
53 |
parts.append('</%s>\n' % self.__class__.__name__ )
|
47 |
return ''.join(parts)
|
54 |
return ''.join(parts)
|
48 |
|
|
|