def _handle_single_request(self, request): try: self._validate_request(request) args, kwargs = self._get_params(request) except JsonRpcInvalidRequestError as error: return error.get_response() try: method = self._get_method(request['method']) try: result = method(*args, **kwargs) if self._is_notification(request): return None result = self._unwrap_result(result) return { 'jsonrpc': '2.0', 'id': request['id'], 'result': result, } except TypeError as error: raise JsonRpcInvalidParamsError( data={ 'type': error.__class__.__name__, 'message': compat.text_type(error), 'traceback': traceback.format_exc(), }) except Exception as error: raise JsonRpcApplicationError( data={ 'type': error.__class__.__name__, 'message': compat.text_type(error), 'traceback': traceback.format_exc(), }) except JsonRpcError as error: if self._is_notification(request): return None return error.get_response(request['id'])
def _handle_single_request(self, request): try: self._validate_request(request) args, kwargs = self._get_params(request) except JsonRpcInvalidRequestError as error: return error.get_response() try: method = self._get_method(request['method']) try: result = method(*args, **kwargs) if self._is_notification(request): return None result = self._unwrap_result(result) return { 'jsonrpc': '2.0', 'id': request['id'], 'result': result, } except TypeError as error: raise JsonRpcInvalidParamsError(data={ 'type': error.__class__.__name__, 'message': compat.text_type(error), 'traceback': traceback.format_exc(), }) except Exception as error: raise JsonRpcApplicationError(data={ 'type': error.__class__.__name__, 'message': compat.text_type(error), 'traceback': traceback.format_exc(), }) except JsonRpcError as error: if self._is_notification(request): return None return error.get_response(request['id'])
def locale_decode(bytestr): try: return compat.text_type(bytestr) except UnicodeError: return bytes(bytestr).decode(locale.getpreferredencoding())
def test_create_dir_with_unicode(self): with self.assertRaises(ValueError): dir_path = compat.text_type(os.path.join(self.parent, b'test')) path.get_or_create_dir(dir_path)
def test_create_dir_with_unicode_filename_throws_value_error(self): with self.assertRaises(ValueError): file_path = compat.text_type(os.path.join(self.parent, b'test')) path.get_or_create_file(file_path)