mirror of https://github.com/zulip/zulip.git
json_error: Completely remove json_error.
This completes the migration from `return json_error` to `raise JsonableError`.
This commit is contained in:
parent
dbf886dfce
commit
8b9011dff8
|
@ -170,12 +170,11 @@ from django.utils.translation import gettext as _
|
||||||
```
|
```
|
||||||
|
|
||||||
Zulip expects all the error messages to be translatable as well. To
|
Zulip expects all the error messages to be translatable as well. To
|
||||||
ensure this, the error message passed to `json_error` and
|
ensure this, the error message passed to `JsonableError`
|
||||||
`JsonableError` should always be a literal string enclosed by `_()`
|
should always be a literal string enclosed by `_()`
|
||||||
function, e.g.:
|
function, e.g.:
|
||||||
|
|
||||||
```
|
```
|
||||||
json_error(_('English text'))
|
|
||||||
JsonableError(_('English text'))
|
JsonableError(_('English text'))
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -319,18 +319,6 @@ python_rules = RuleList(
|
||||||
"good_lines": ["return json_success()"],
|
"good_lines": ["return json_success()"],
|
||||||
"bad_lines": ["return json_success({})"],
|
"bad_lines": ["return json_success({})"],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"pattern": r"\Wjson_error\(_\(?\w+\)",
|
|
||||||
"exclude": {"zerver/tests", "zerver/views/development/"},
|
|
||||||
"description": "Argument to json_error should be a literal string enclosed by _()",
|
|
||||||
"good_lines": ['return json_error(_("string"))'],
|
|
||||||
"bad_lines": ["return json_error(_variable)", "return json_error(_(variable))"],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pattern": r"""\Wjson_error\(['"].+[),]$""",
|
|
||||||
"exclude": {"zerver/tests", "zerver/views/development/"},
|
|
||||||
"description": "Argument to json_error should be a literal string enclosed by _()",
|
|
||||||
},
|
|
||||||
# To avoid JsonableError(_variable) and JsonableError(_(variable))
|
# To avoid JsonableError(_variable) and JsonableError(_(variable))
|
||||||
{
|
{
|
||||||
"pattern": r"\WJsonableError\(_\(?\w.+\)",
|
"pattern": r"\WJsonableError\(_\(?\w.+\)",
|
||||||
|
|
|
@ -272,7 +272,7 @@ arguments_map: Dict[str, List[str]] = defaultdict(list)
|
||||||
# the default parameter values used by has_request_variables.
|
# the default parameter values used by has_request_variables.
|
||||||
#
|
#
|
||||||
# Note that this can't be used in helper functions which are not
|
# Note that this can't be used in helper functions which are not
|
||||||
# expected to call json_error or json_success, as it uses json_error
|
# expected to call json_success or raise JsonableError, as it uses JsonableError
|
||||||
# internally when it encounters an error
|
# internally when it encounters an error
|
||||||
def has_request_variables(view_func: ViewFuncT) -> ViewFuncT:
|
def has_request_variables(view_func: ViewFuncT) -> ViewFuncT:
|
||||||
num_params = view_func.__code__.co_argcount
|
num_params = view_func.__code__.co_argcount
|
||||||
|
|
|
@ -80,7 +80,3 @@ def json_response_from_error(exception: JsonableError) -> HttpResponse:
|
||||||
response[header] = value
|
response[header] = value
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
def json_error(msg: str, data: Mapping[str, Any] = {}, status: int = 400) -> HttpResponse:
|
|
||||||
return json_response(res_type="error", msg=msg, data=data, status=status)
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ from zerver.lib.html_to_text import get_content_description
|
||||||
from zerver.lib.markdown import get_markdown_requests, get_markdown_time
|
from zerver.lib.markdown import get_markdown_requests, get_markdown_time
|
||||||
from zerver.lib.rate_limiter import RateLimitResult
|
from zerver.lib.rate_limiter import RateLimitResult
|
||||||
from zerver.lib.request import set_request, unset_request
|
from zerver.lib.request import set_request, unset_request
|
||||||
from zerver.lib.response import json_error, json_response_from_error, json_unauthorized
|
from zerver.lib.response import json_response, json_response_from_error, json_unauthorized
|
||||||
from zerver.lib.subdomains import get_subdomain
|
from zerver.lib.subdomains import get_subdomain
|
||||||
from zerver.lib.types import ViewFuncT
|
from zerver.lib.types import ViewFuncT
|
||||||
from zerver.lib.user_agent import parse_user_agent
|
from zerver.lib.user_agent import parse_user_agent
|
||||||
|
@ -448,7 +448,7 @@ class JsonErrorHandler(MiddlewareMixin):
|
||||||
capture_exception(exception)
|
capture_exception(exception)
|
||||||
json_error_logger = logging.getLogger("zerver.middleware.json_error_handler")
|
json_error_logger = logging.getLogger("zerver.middleware.json_error_handler")
|
||||||
json_error_logger.error(traceback.format_exc(), extra=dict(request=request))
|
json_error_logger.error(traceback.format_exc(), extra=dict(request=request))
|
||||||
return json_error(_("Internal server error"), status=500)
|
return json_response(res_type="error", msg=_("Internal server error"), status=500)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ from zerver.lib.actions import (
|
||||||
validate_user_access_to_subscribers_helper,
|
validate_user_access_to_subscribers_helper,
|
||||||
)
|
)
|
||||||
from zerver.lib.message import aggregate_unread_data, get_raw_unread_data
|
from zerver.lib.message import aggregate_unread_data, get_raw_unread_data
|
||||||
from zerver.lib.response import json_error, json_success
|
from zerver.lib.response import json_success
|
||||||
from zerver.lib.stream_subscription import (
|
from zerver.lib.stream_subscription import (
|
||||||
get_active_subscriptions_for_stream_id,
|
get_active_subscriptions_for_stream_id,
|
||||||
num_subscribers_for_stream_id,
|
num_subscribers_for_stream_id,
|
||||||
|
@ -2792,7 +2792,7 @@ class SubscriptionRestApiTest(ZulipTestCase):
|
||||||
return json_success()
|
return json_success()
|
||||||
|
|
||||||
def thunk2() -> HttpResponse:
|
def thunk2() -> HttpResponse:
|
||||||
return json_error("random failure")
|
raise JsonableError("random failure")
|
||||||
|
|
||||||
with self.assertRaises(JsonableError):
|
with self.assertRaises(JsonableError):
|
||||||
compose_views([thunk1, thunk2])
|
compose_views([thunk1, thunk2])
|
||||||
|
|
|
@ -371,7 +371,7 @@ def compose_views(thunks: List[Callable[[], HttpResponse]]) -> HttpResponse:
|
||||||
for thunk in thunks:
|
for thunk in thunks:
|
||||||
response = thunk()
|
response = thunk()
|
||||||
if response.status_code != 200:
|
if response.status_code != 200:
|
||||||
raise JsonableError(response.content)
|
raise JsonableError(response.content) # nocoverage
|
||||||
json_dict.update(orjson.loads(response.content))
|
json_dict.update(orjson.loads(response.content))
|
||||||
return json_success(json_dict)
|
return json_success(json_dict)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue