Statistics
| Branch: | Tag: | Revision:

root / src / pithos / api / faults.py @ c7e0bbe2

History | View | Annotate | Download (650 Bytes)

1
# vim: ts=4 sts=4 et ai sw=4 fileencoding=utf-8
2
#
3
# Copyright (c) 2011 Greek Research and Technology Network
4
#
5

    
6
def camelCase(s):
7
    return s[0].lower() + s[1:]
8

    
9

    
10
class Fault(Exception):
11
    def __init__(self, message='', details='', name=''):
12
        Exception.__init__(self, message, details, name)
13
        self.message = message
14
        self.details = details
15
        self.name = name or camelCase(self.__class__.__name__)
16

    
17
class BadRequest(Fault):
18
    code = 400
19

    
20
class Unauthorized(Fault):
21
    code = 401
22

    
23
class ResizeNotAllowed(Fault):
24
    code = 403
25

    
26
class ItemNotFound(Fault):
27
    code = 404
28

    
29
class ServiceUnavailable(Fault):
30
    code = 503