Revision bd40abfa snf-astakos-app/astakos/im/api/__init__.py
b/snf-astakos-app/astakos/im/api/__init__.py | ||
---|---|---|
43 | 43 |
from django.contrib import messages |
44 | 44 |
|
45 | 45 |
from astakos.im.models import AstakosUser, Service, Resource |
46 |
from astakos.im.api.faults import ( |
|
47 |
Fault, ItemNotFound, InternalServerError, BadRequest) |
|
46 |
from snf_django.lib.api import faults |
|
48 | 47 |
from astakos.im.settings import ( |
49 | 48 |
INVITATIONS_ENABLED, COOKIE_NAME, EMAILCHANGE_ENABLED, QUOTAHOLDER_URL, |
50 | 49 |
PROJECTS_VISIBLE) |
... | ... | |
60 | 59 |
|
61 | 60 |
|
62 | 61 |
def render_fault(request, fault): |
63 |
if isinstance(fault, InternalServerError) and settings.DEBUG: |
|
62 |
if isinstance(fault, faults.InternalServerError) and settings.DEBUG:
|
|
64 | 63 |
fault.details = format_exc(fault) |
65 | 64 |
|
66 | 65 |
request.serialization = 'text' |
... | ... | |
79 | 78 |
def wrapper(request, *args, **kwargs): |
80 | 79 |
try: |
81 | 80 |
if http_method and request.method != http_method: |
82 |
raise BadRequest('Method not allowed.') |
|
81 |
raise faults.BadRequest('Method not allowed.')
|
|
83 | 82 |
response = func(request, *args, **kwargs) |
84 | 83 |
return response |
85 |
except Fault, fault: |
|
84 |
except faults.Fault, fault:
|
|
86 | 85 |
return render_fault(request, fault) |
87 | 86 |
except BaseException, e: |
88 | 87 |
logger.exception('Unexpected error: %s' % e) |
89 |
fault = InternalServerError('Unexpected error') |
|
88 |
fault = faults.InternalServerError('Unexpected error')
|
|
90 | 89 |
return render_fault(request, fault) |
91 | 90 |
return wrapper |
92 | 91 |
return decorator |
... | ... | |
220 | 219 |
|
221 | 220 |
def __get_uuid_displayname_catalogs(request, user_call=True): |
222 | 221 |
# Normal Response Codes: 200 |
223 |
# Error Response Codes: badRequest (400)
|
|
222 |
# Error Response Codes: BadRequest (400)
|
|
224 | 223 |
|
225 | 224 |
try: |
226 | 225 |
input_data = json.loads(request.raw_post_data) |
227 | 226 |
except: |
228 |
raise BadRequest('Request body should be json formatted.') |
|
227 |
raise faults.BadRequest('Request body should be json formatted.')
|
|
229 | 228 |
else: |
230 | 229 |
uuids = input_data.get('uuids', []) |
231 | 230 |
if uuids == None and user_call: |
... | ... | |
246 | 245 |
if not user: |
247 | 246 |
auth_token = request.POST.get('auth', '') |
248 | 247 |
if not auth_token: |
249 |
raise BadRequest('Missing user authentication') |
|
248 |
raise faults.BadRequest('Missing user authentication')
|
|
250 | 249 |
|
251 | 250 |
try: |
252 | 251 |
user = AstakosUser.objects.get(auth_token=auth_token) |
253 | 252 |
except AstakosUser.DoesNotExist: |
254 |
raise BadRequest('Invalid user authentication') |
|
253 |
raise faults.BadRequest('Invalid user authentication')
|
|
255 | 254 |
|
256 | 255 |
form = FeedbackForm(request.POST) |
257 | 256 |
if not form.is_valid(): |
258 | 257 |
logger.error("Invalid feedback request: %r", form.errors) |
259 |
raise BadRequest('Invalid data') |
|
258 |
raise faults.BadRequest('Invalid data')
|
|
260 | 259 |
|
261 | 260 |
msg = form.cleaned_data['feedback_msg'] |
262 | 261 |
data = form.cleaned_data['feedback_data'] |
Also available in: Unified diff