Revision 5ce3ce4f snf-astakos-app/astakos/im/api/faults.py
b/snf-astakos-app/astakos/im/api/faults.py | ||
---|---|---|
1 | 1 |
# Copyright 2011-2012 GRNET S.A. All rights reserved. |
2 |
#
|
|
2 |
# |
|
3 | 3 |
# Redistribution and use in source and binary forms, with or |
4 | 4 |
# without modification, are permitted provided that the following |
5 | 5 |
# conditions are met: |
6 |
#
|
|
6 |
# |
|
7 | 7 |
# 1. Redistributions of source code must retain the above |
8 | 8 |
# copyright notice, this list of conditions and the following |
9 | 9 |
# disclaimer. |
10 |
#
|
|
10 |
# |
|
11 | 11 |
# 2. Redistributions in binary form must reproduce the above |
12 | 12 |
# copyright notice, this list of conditions and the following |
13 | 13 |
# disclaimer in the documentation and/or other materials |
14 | 14 |
# provided with the distribution. |
15 |
#
|
|
15 |
# |
|
16 | 16 |
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS |
17 | 17 |
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | 18 |
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
... | ... | |
25 | 25 |
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
26 | 26 |
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
27 | 27 |
# POSSIBILITY OF SUCH DAMAGE. |
28 |
#
|
|
28 |
# |
|
29 | 29 |
# The views and conclusions contained in the software and |
30 | 30 |
# documentation are those of the authors and should not be |
31 | 31 |
# interpreted as representing official policies, either expressed |
32 | 32 |
# or implied, of GRNET S.A. |
33 | 33 |
|
34 |
|
|
34 | 35 |
def camelCase(s): |
35 | 36 |
return s[0].lower() + s[1:] |
36 | 37 |
|
38 |
|
|
37 | 39 |
class Fault(Exception): |
38 | 40 |
def __init__(self, message='', details='', name=''): |
39 | 41 |
Exception.__init__(self, message, details, name) |
... | ... | |
41 | 43 |
self.details = details |
42 | 44 |
self.name = name or camelCase(self.__class__.__name__) |
43 | 45 |
|
46 |
|
|
44 | 47 |
class BadRequest(Fault): |
45 | 48 |
code = 400 |
46 | 49 |
|
50 |
|
|
47 | 51 |
class Unauthorized(Fault): |
48 | 52 |
code = 401 |
49 | 53 |
|
54 |
|
|
50 | 55 |
class InternalServerError(Fault): |
51 | 56 |
code = 500 |
52 | 57 |
|
58 |
|
|
53 | 59 |
class Forbidden(Fault): |
54 | 60 |
code = 403 |
55 | 61 |
|
62 |
|
|
56 | 63 |
class ItemNotFound(Fault): |
57 |
code = 404 |
|
64 |
code = 404 |
Also available in: Unified diff