Format Python code with black

This commit is contained in:
kpj
2022-02-27 15:26:41 +01:00
parent f0ffc69010
commit c56cb25b5f
136 changed files with 6142 additions and 3811 deletions

View File

@@ -21,51 +21,22 @@ logger = logging.getLogger("paperless.index")
def get_schema():
return Schema(
id=NUMERIC(
stored=True,
unique=True
),
title=TEXT(
sortable=True
),
id=NUMERIC(stored=True, unique=True),
title=TEXT(sortable=True),
content=TEXT(),
asn=NUMERIC(
sortable=True
),
correspondent=TEXT(
sortable=True
),
asn=NUMERIC(sortable=True),
correspondent=TEXT(sortable=True),
correspondent_id=NUMERIC(),
has_correspondent=BOOLEAN(),
tag=KEYWORD(
commas=True,
scorable=True,
lowercase=True
),
tag_id=KEYWORD(
commas=True,
scorable=True
),
tag=KEYWORD(commas=True, scorable=True, lowercase=True),
tag_id=KEYWORD(commas=True, scorable=True),
has_tag=BOOLEAN(),
type=TEXT(
sortable=True
),
type=TEXT(sortable=True),
type_id=NUMERIC(),
has_type=BOOLEAN(),
created=DATETIME(
sortable=True
),
modified=DATETIME(
sortable=True
),
added=DATETIME(
sortable=True
),
created=DATETIME(sortable=True),
modified=DATETIME(sortable=True),
added=DATETIME(sortable=True),
)
@@ -132,7 +103,7 @@ def remove_document(writer, doc):
def remove_document_by_id(writer, doc_id):
writer.delete_by_term('id', doc_id)
writer.delete_by_term("id", doc_id)
def add_or_update_document(document):
@@ -146,48 +117,47 @@ def remove_document_from_index(document):
class DelayedQuery:
def _get_query(self):
raise NotImplementedError()
def _get_query_filter(self):
criterias = []
for k, v in self.query_params.items():
if k == 'correspondent__id':
criterias.append(query.Term('correspondent_id', v))
elif k == 'tags__id__all':
if k == "correspondent__id":
criterias.append(query.Term("correspondent_id", v))
elif k == "tags__id__all":
for tag_id in v.split(","):
criterias.append(query.Term('tag_id', tag_id))
elif k == 'document_type__id':
criterias.append(query.Term('type_id', v))
elif k == 'correspondent__isnull':
criterias.append(query.Term("tag_id", tag_id))
elif k == "document_type__id":
criterias.append(query.Term("type_id", v))
elif k == "correspondent__isnull":
criterias.append(query.Term("has_correspondent", v == "false"))
elif k == 'is_tagged':
elif k == "is_tagged":
criterias.append(query.Term("has_tag", v == "true"))
elif k == 'document_type__isnull':
elif k == "document_type__isnull":
criterias.append(query.Term("has_type", v == "false"))
elif k == 'created__date__lt':
elif k == "created__date__lt":
criterias.append(
query.DateRange("created", start=None, end=isoparse(v)))
elif k == 'created__date__gt':
query.DateRange("created", start=None, end=isoparse(v))
)
elif k == "created__date__gt":
criterias.append(
query.DateRange("created", start=isoparse(v), end=None))
elif k == 'added__date__gt':
criterias.append(
query.DateRange("added", start=isoparse(v), end=None))
elif k == 'added__date__lt':
criterias.append(
query.DateRange("added", start=None, end=isoparse(v)))
query.DateRange("created", start=isoparse(v), end=None)
)
elif k == "added__date__gt":
criterias.append(query.DateRange("added", start=isoparse(v), end=None))
elif k == "added__date__lt":
criterias.append(query.DateRange("added", start=None, end=isoparse(v)))
if len(criterias) > 0:
return query.And(criterias)
else:
return None
def _get_query_sortedby(self):
if 'ordering' not in self.query_params:
if "ordering" not in self.query_params:
return None, False
field: str = self.query_params['ordering']
field: str = self.query_params["ordering"]
sort_fields_map = {
"created": "created",
@@ -196,10 +166,10 @@ class DelayedQuery:
"title": "title",
"correspondent__name": "correspondent",
"document_type__name": "type",
"archive_serial_number": "asn"
"archive_serial_number": "asn",
}
if field.startswith('-'):
if field.startswith("-"):
field = field[1:]
reverse = True
else:
@@ -235,24 +205,23 @@ class DelayedQuery:
pagenum=math.floor(item.start / self.page_size) + 1,
pagelen=self.page_size,
sortedby=sortedby,
reverse=reverse
reverse=reverse,
)
page.results.fragmenter = highlight.ContextFragmenter(
surround=50)
page.results.fragmenter = highlight.ContextFragmenter(surround=50)
page.results.formatter = HtmlFormatter(tagname="span", between=" ... ")
if (not self.first_score and
len(page.results) > 0 and
sortedby is None):
if not self.first_score and len(page.results) > 0 and sortedby is None:
self.first_score = page.results[0].score
page.results.top_n = list(map(
lambda hit: (
(hit[0] / self.first_score) if self.first_score else None,
hit[1]
),
page.results.top_n
))
page.results.top_n = list(
map(
lambda hit: (
(hit[0] / self.first_score) if self.first_score else None,
hit[1],
),
page.results.top_n,
)
)
self.saved_results[item.start] = page
@@ -260,12 +229,12 @@ class DelayedQuery:
class DelayedFullTextQuery(DelayedQuery):
def _get_query(self):
q_str = self.query_params['query']
q_str = self.query_params["query"]
qp = MultifieldParser(
["content", "title", "correspondent", "tag", "type"],
self.searcher.ixreader.schema)
self.searcher.ixreader.schema,
)
qp.add_plugin(DateParserPlugin())
q = qp.parse(q_str)
@@ -277,18 +246,17 @@ class DelayedFullTextQuery(DelayedQuery):
class DelayedMoreLikeThisQuery(DelayedQuery):
def _get_query(self):
more_like_doc_id = int(self.query_params['more_like_id'])
more_like_doc_id = int(self.query_params["more_like_id"])
content = Document.objects.get(id=more_like_doc_id).content
docnum = self.searcher.document_number(id=more_like_doc_id)
kts = self.searcher.key_terms_from_text(
'content', content, numterms=20,
model=classify.Bo1Model, normalize=False)
"content", content, numterms=20, model=classify.Bo1Model, normalize=False
)
q = query.Or(
[query.Term('content', word, boost=weight)
for word, weight in kts])
[query.Term("content", word, boost=weight) for word, weight in kts]
)
mask = {docnum}
return q, mask
@@ -298,6 +266,7 @@ def autocomplete(ix, term, limit=10):
with ix.reader() as reader:
terms = []
for (score, t) in reader.most_distinctive_terms(
"content", number=limit, prefix=term.lower()):
"content", number=limit, prefix=term.lower()
):
terms.append(t)
return terms