Prevent a weird search error when displaying some facet #1097
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fix a weird error only happening on some config/servers when displaying search result.
I wasn't able to reproduce the issue on my own computer but I was able to identify and fix the issue on a server where it's happening.
The Bad Request error page is displayed because of this https://github.com/opendatateam/udata/blob/master/udata/frontend/error_handlers.py#L9-L11
This make sense because most of the framework (WTForm, Flask-Principal, Flask-RESTPlus...) permit to use
ValueError
as a validation error (and that's what is done everywhere in udata). The problem is thatUnicodeError
and child (UnicodeDecodeError
,UnicodeEncodeError
...) extendsValueError
.To fix this issue (in another PR), there is 2 possibilities:
ValueError
to handle this (prefered)UnicodeError
and child (hackish)