mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-08-29 22:17:14 +00:00
refactor(search): split error classes and build_permission_filter out of _query.py
_query.py mixed three unrelated responsibilities: the SearchQueryError family (paperless's public error-surface API, re-exported by __init__.py), the actual query rewrite/parse/emit/blend pipeline, and build_permission_filter, which has nothing to do with query parsing and is consumed only by _backend.py. - New _errors.py: SearchQueryError, InvalidDateQuery, InvalidNumberQuery, MultipleSearchQueryErrors, search_query_error_messages. _query.py now imports these instead of defining them. - build_permission_filter moves to _backend.py, next to its one caller (TantivyBackend._build_permission_filter). - __init__.py re-exports the error classes from _errors.py instead of _query.py; the package's public API (documents.search import ...) is unchanged for every caller going through it (views.py etc.). _query.py now reads top-to-bottom as rewrite -> parse -> emit -> blend, matching what parse_user_query's own docstring already claimed the file was.
This commit is contained in:
committed by
stumpylog
parent
bf7eec7168
commit
ddf8287072
@@ -8,11 +8,11 @@ import pytest
|
||||
import tantivy
|
||||
import time_machine
|
||||
|
||||
from documents.search._query import InvalidDateQuery
|
||||
from documents.search._query import InvalidNumberQuery
|
||||
from documents.search._query import MultipleSearchQueryErrors
|
||||
from documents.search._query import SearchQueryError
|
||||
from documents.search._query import build_permission_filter
|
||||
from documents.search._backend import build_permission_filter
|
||||
from documents.search._errors import InvalidDateQuery
|
||||
from documents.search._errors import InvalidNumberQuery
|
||||
from documents.search._errors import MultipleSearchQueryErrors
|
||||
from documents.search._errors import SearchQueryError
|
||||
from documents.search._query import parse_simple_text_highlight_query
|
||||
from documents.search._query import parse_user_query
|
||||
from documents.search._schema import build_schema
|
||||
|
||||
Reference in New Issue
Block a user