Esempio n. 1
0
class Resource:
    def __init__(self, authentication=None, permitted_methods=None, mimetype=None):
        
        if not permitted_methods:
            permitted_methods = ["GET"]
        
        self.permitted_methods = [m.upper() for m in permitted_methods]
        
        self.mimetype = mimetype
    
    def __call__(self, request, *args, **kwargs):      
        try:
            response = self.dispatch(request, self, *args, **kwargs)
            
            log_request(request, response, 'access')
            
            return response
        except (HttpMethodNotAllowed, Http403):
            log_request(request, None, 'access')
            
            response = HttpResponseNotAllowed(self.permitted_methods)
            response.mimetype = self.mimetype
            return response
        except TracedServerError, e:
            log_request(request, None, 'access')
            
            msg = log_detailed_exception(request, e)
        except Exception, e:
            log_request(request, None, 'access')
            
            msg = log_exception(request, e)
Esempio n. 2
0
    def __call__(self, request, *args, **kwargs):
        try:
            response = self.dispatch(request, self, *args, **kwargs)

            log_request(request, response, 'access')

            return response
        except Http404:
            raise
        except Http403:
            log_request(request, None, 'access')

            return HttpResponseForbidden()
        except HttpMethodNotAllowed:
            log_request(request, None, 'access')

            response = HttpResponseNotAllowed(self.permitted_methods)
            response.mimetype = self.mimetype
            return response
        except TracedServerError, e:
            log_request(request, None, 'access')

            msg = log_detailed_exception(request, e)
Esempio n. 3
0
    def __call__(self, request, *args, **kwargs):
        try:
            response = self.dispatch(request, self, *args, **kwargs)

            log_request(request, response, 'access')

            return response
        except Http404:
            raise
        except Http403:
            log_request(request, None, 'access')

            return HttpResponseForbidden()
        except HttpMethodNotAllowed:
            log_request(request, None, 'access')

            response = HttpResponseNotAllowed(self.permitted_methods)
            response.mimetype = self.mimetype
            return response
        except TracedServerError, e:
            log_request(request, None, 'access')

            msg = log_detailed_exception(request, e)
Esempio n. 4
0
            log_detailed_exception(request, e)

            return HttpResponseRedirect('error?msg=%(errorMsg)s#error' % {'errorMsg': urlquote_plus(msg)})

        except Exception, e:
            if hasattr(e, 'msg'):
                errorMsg = e.msg
            elif hasattr(e, 'message'):
                errorMsg = e.message
            else:
                errorMsg = _('unkwon reason')

            msg = _("Error creating deployment dirs: %(errorMsg)s") % {'errorMsg': errorMsg}

            e = TracedServerError(e, {}, request, msg)
            log_request(request, None, 'access')
            log_detailed_exception(request, e)

            return HttpResponseRedirect('error?msg=%(errorMsg)s#error' % {'errorMsg': urlquote_plus(msg)})

        # Copy .wgt file into user temporal folder and extract file .wgt into
        # gadgets folder

        try:
            file_wgt = request.FILES['file']
            file_wgt_path = path.join(info.TMPDIR.encode("utf8"), file_wgt.name.encode("utf8"))
            f = open(file_wgt_path, "wb")
            f.write(file_wgt.read())
            f.close()

            # Extract file .wgt into temporal folder