Statistics
| Branch: | Tag: | Revision:

root / api / faults.py @ 838c404d

History | View | Annotate | Download (610 Bytes)

1 00b4f1be Faidon Liambotis
#
2 d8e50a39 Giorgos Verigakis
# Copyright (c) 2010 Greek Research and Technology Network
3 00b4f1be Faidon Liambotis
#
4 00b4f1be Faidon Liambotis
5 d8e50a39 Giorgos Verigakis
def camelCase(s):
6 d8e50a39 Giorgos Verigakis
    return s[0].lower() + s[1:]
7 635cfd6e Faidon Liambotis
8 00b4f1be Faidon Liambotis
9 d8e50a39 Giorgos Verigakis
class Fault(BaseException):
10 d8e50a39 Giorgos Verigakis
    def __init__(self, message='', details='', name=''):
11 d8e50a39 Giorgos Verigakis
        BaseException.__init__(self, message, details, name)
12 d8e50a39 Giorgos Verigakis
        self.message = message
13 d8e50a39 Giorgos Verigakis
        self.details = details
14 d8e50a39 Giorgos Verigakis
        self.name = name or camelCase(self.__class__.__name__)
15 00b4f1be Faidon Liambotis
16 d8e50a39 Giorgos Verigakis
class BadRequest(Fault):
17 d8e50a39 Giorgos Verigakis
    code = 400
18 00b4f1be Faidon Liambotis
19 d8e50a39 Giorgos Verigakis
class Unauthorized(Fault):
20 d8e50a39 Giorgos Verigakis
    code = 401
21 00b4f1be Faidon Liambotis
22 d8e50a39 Giorgos Verigakis
class ResizeNotAllowed(Fault):
23 d8e50a39 Giorgos Verigakis
    code = 403
24 14a6a08f Faidon Liambotis
25 d8e50a39 Giorgos Verigakis
class ItemNotFound(Fault):
26 d8e50a39 Giorgos Verigakis
    code = 404
27 00b4f1be Faidon Liambotis
28 d8e50a39 Giorgos Verigakis
class ServiceUnavailable(Fault):
29 d8e50a39 Giorgos Verigakis
    code = 503