def __call__(self): self._logger.debug('DELETE Request received on %s' % self.request.url) try: self.context.__parent__.remove(self.context) except Exception, err: # catch Exception pylint: disable=W0703 response = self._handle_unknown_exception(err.message, get_traceback())
def __call__(self): self._logger.debug('%s request received on %s.', self.request.method, self.request.url) self._logger.debug('Request body: %s', self.request.body, extra=dict(output_limit=500)) if len(self.request.body) == 0: # Empty body - return 400 Bad Request. result = self._handle_empty_body() else: try: if self._enable_messaging: extract_executor = \ WarnAndResubmitExecutor(self._extract_request_data) data = extract_executor() do_continue = extract_executor.do_continue else: data = self._extract_request_data() do_continue = not IResponse.providedBy(data) # pylint: disable=E1101 if do_continue: if self._enable_messaging: process_executor = \ WarnAndResubmitExecutor(self._process_request_data) result = process_executor(data) else: result = self._process_request_data(data) else: result = data except HTTPError as err: result = self.request.get_response(err) except Exception as err: # catch Exception pylint: disable=W0703 result = self._handle_unknown_exception( str(err), get_traceback()) return result
def __call__(self): self._logger.debug('Request URL: %s.', self.request.url) try: if self._enable_messaging: prep_executor = \ WarnAndResubmitExecutor(self._prepare_resource) data = prep_executor() do_continue = prep_executor.do_continue else: data = self._prepare_resource() do_continue = not IResponse.providedBy(data) # pylint: disable=E1101 if do_continue: # Return a response to bypass Pyramid rendering. if self._enable_messaging: res_executor = WarnAndResubmitExecutor(self._get_result) result = res_executor(data) else: result = self._get_result(data) else: result = data except HTTPError as http_exc: result = self.request.get_response(http_exc) except Exception as err: # catch Exception pylint: disable=W0703 result = self._handle_unknown_exception(str(err), get_traceback()) return result
def __call__(self): self._logger.debug('%s request received on %s.', self.request.method, self.request.url) self._logger.debug('Request body: %s', self.request.body, extra=dict(output_limit=500)) if len(self.request.body) == 0: # Empty body - return 400 Bad Request. result = self._handle_empty_body() else: try: if self._enable_messaging: extract_executor = \ WarnAndResubmitExecutor(self._extract_request_data) data = extract_executor() do_continue = extract_executor.do_continue else: data = self._extract_request_data() do_continue = not IResponse.providedBy(data) # pylint: disable=E1101 if do_continue: if self._enable_messaging: process_executor = \ WarnAndResubmitExecutor(self._process_request_data) result = process_executor(data) else: result = self._process_request_data(data) else: result = data except HTTPError as err: result = self.request.get_response(err) except Exception as err: # catch Exception pylint: disable=W0703 result = self._handle_unknown_exception(str(err), get_traceback()) return result
def test_get_traceback(self): try: raise RuntimeError('Something went wrong.') except RuntimeError: tb = get_traceback() self.assert_true(tb.startswith('Traceback (most recent call last)')) self.assert_true( tb.rstrip().endswith('RuntimeError: Something went wrong.'))
def _prepare_resource(self): try: self.__filter_collection() self.__order_collection() self.__slice_collection() except ValueError, err: result = self._handle_unknown_exception(err.message, get_traceback())
def test_get_traceback(self): try: raise RuntimeError('Something went wrong.') except RuntimeError: tb = get_traceback() self.assert_true(tb.startswith('Traceback (most recent call last)')) self.assert_true(tb.rstrip().endswith( 'RuntimeError: Something went wrong.'))
def __call__(self): self._logger.debug('DELETE Request received on %s' % self.request.url) try: self.context.__parent__.remove(self.context) except Exception as err: # catch Exception pylint: disable=W0703 response = self._handle_unknown_exception(str(err), get_traceback()) else: response = self.request.get_response(HTTPOk()) return response
def __call__(self): self._logger.debug('DELETE Request received on %s' % self.request.url) is_terminal = self.request.view_name != '' if not is_terminal: try: self.context.remove() except Exception as err: # catch Exception pylint: disable=W0703 response = self._handle_unknown_exception(str(err), get_traceback()) else: response = self.request.get_response(HTTPOk()) else: # Support for setting member attributes to None. attr = self.request.path.split('/')[-1] setattr(self.context, attr, None) response = self.request.get_response(HTTPOk()) return response
def __call__(self): self._logger.debug('DELETE Request received on %s' % self.request.url) is_terminal = self.request.view_name != '' if not is_terminal: try: self.context.remove() except Exception as err: # catch Exception pylint: disable=W0703 response = self._handle_unknown_exception( str(err), get_traceback()) else: response = self.request.get_response(HTTPOk()) else: # Support for setting member attributes to None. attr = self.request.path.split('/')[-1] setattr(self.context, attr, None) response = self.request.get_response(HTTPOk()) return response
def __call__(self): self._logger.debug('Request URL: %s.', self.request.url) try: # If we use a representer to create the response, we can set up # load optimizers using the representer configuration for the # response MIME type. if self._convert_response: rpr_ctxt = self.__get_representer_context() with rpr_ctxt: with LoadOptimizingContext(self.context, rpr_ctxt.configuration): result = self.__call_view() else: result = self.__call_view() except HTTPError as http_exc: result = self.request.get_response(http_exc) except Exception as err: # catch Exception pylint: disable=W0703 result = self._handle_unknown_exception(str(err), get_traceback()) return result
def _prepare_resource(self): try: self.__filter_collection() self.__order_collection() self.__slice_collection() except ValueError as err: result = self._handle_unknown_exception(err.args[0], get_traceback()) else: needs_default_order = self.context.order is None if needs_default_order: # Make sure we have defined an ordering on the collection # to guarantee an order on the result set. This should not # be reflected in the links' URLs. self.context.order = deepcopy(self.context.default_order) # Pre-load the collection. This allows us to perform # optimizations in the backend. self.context.load() # Build batch links. batch = self.__create_batch() self_link = Link(self.context, 'self', self.context.title) self.context.add_link(self_link) if batch.index > 0: first_link = self.__create_nav_link(batch.first, 'first', not needs_default_order) self.context.add_link(first_link) if not batch.previous is None: prev_link = self.__create_nav_link(batch.previous, 'previous', not needs_default_order) self.context.add_link(prev_link) if not batch.next is None: next_link = self.__create_nav_link(batch.next, 'next', not needs_default_order) self.context.add_link(next_link) if not batch.index == batch.number - 1: last_link = self.__create_nav_link(batch.last, 'last', not needs_default_order) self.context.add_link(last_link) result = self.context return result
def __call__(self): self._logger.debug('Request received on %s' % self.request.url) self._logger.debug('Request body:\n%s' % self.request.body) if len(self.request.body) == 0: # Empty body - return 400 Bad Request. response = self._handle_empty_body() else: checker = ViewUserMessageChecker() try: with UserMessageHandlingContextManager(checker): data = self._extract_request_data() if not checker.vote is True: response = checker.create_307_response() else: with UserMessageHandlingContextManager(checker): response = self._process_request_data(data) if not checker.vote is True: response = checker.create_307_response() except HTTPError, err: response = self.request.get_response(err) except Exception, err: # catch Exception pylint: disable=W0703 response = self._handle_unknown_exception(err.message, get_traceback())
def __call__(self): self._logger.debug('Request received on %s' % self.request.url) self._logger.debug('Request body:\n%s' % self.request.body) if len(self.request.body) == 0: # Empty body - return 400 Bad Request. response = self._handle_empty_body() else: checker = ViewUserMessageChecker() try: with UserMessageHandlingContextManager(checker): data = self._extract_request_data() if not checker.vote is True: response = checker.create_307_response() else: with UserMessageHandlingContextManager(checker): response = self._process_request_data(data) if not checker.vote is True: response = checker.create_307_response() except HTTPError, err: response = self.request.get_response(err) except Exception, err: # catch Exception pylint: disable=W0703 response = self._handle_unknown_exception( err.message, get_traceback())