Revision 3d653f72
b/snf-app/synnefo/plankton/util.py | ||
---|---|---|
68 | 68 |
def decorator(func): |
69 | 69 |
@wraps(func) |
70 | 70 |
def wrapper(request, *args, **kwargs): |
71 |
if request.method != method: |
|
72 |
raise HttpResponse(status=405) |
|
73 |
|
|
74 |
user = get_request_user(request) |
|
75 |
if not user: |
|
76 |
return HttpResponse(status=401) |
|
77 |
request.user = user |
|
78 |
request.backend = ImageBackend(user.uniq) |
|
79 | 71 |
try: |
72 |
if request.method != method: |
|
73 |
return HttpResponse(status=405) |
|
74 |
|
|
75 |
user = get_request_user(request) |
|
76 |
if not user: |
|
77 |
return HttpResponse(status=401) |
|
78 |
request.user = user |
|
79 |
request.backend = ImageBackend(user.uniq) |
|
80 |
|
|
80 | 81 |
return func(request, *args, **kwargs) |
81 | 82 |
except (AssertionError, BackendException) as e: |
82 | 83 |
message = e.args[0] if e.args else '' |
... | ... | |
88 | 89 |
message = '' |
89 | 90 |
return HttpResponseServerError(message) |
90 | 91 |
finally: |
91 |
request.backend.close() |
|
92 |
if hasattr(request, 'backend'): |
|
93 |
request.backend.close() |
|
92 | 94 |
return wrapper |
93 | 95 |
return decorator |
Also available in: Unified diff