correspondents = Correspondent.objects.all()
return list(
- filter(lambda o: matches(o, document) or o.pk == pred_id, correspondents),
+ filter(
+ lambda o: matches(o, document)
+ or (o.pk == pred_id and o.matching_algorithm == MatchingModel.MATCH_AUTO),
+ correspondents,
+ ),
)
document_types = DocumentType.objects.all()
return list(
- filter(lambda o: matches(o, document) or o.pk == pred_id, document_types),
+ filter(
+ lambda o: matches(o, document)
+ or (o.pk == pred_id and o.matching_algorithm == MatchingModel.MATCH_AUTO),
+ document_types,
+ ),
)
tags = Tag.objects.all()
return list(
- filter(lambda o: matches(o, document) or o.pk in predicted_tag_ids, tags),
+ filter(
+ lambda o: matches(o, document)
+ or (
+ o.matching_algorithm == MatchingModel.MATCH_AUTO
+ and o.pk in predicted_tag_ids
+ ),
+ tags,
+ ),
)
return list(
filter(
- lambda o: matches(o, document) or o.pk == pred_id,
+ lambda o: matches(o, document)
+ or (o.pk == pred_id and o.matching_algorithm == MatchingModel.MATCH_AUTO),
storage_paths,
),
)
@mock.patch("documents.consumer.load_classifier")
def testClassifyDocument(self, m):
- correspondent = Correspondent.objects.create(name="test")
- dtype = DocumentType.objects.create(name="test")
- t1 = Tag.objects.create(name="t1")
- t2 = Tag.objects.create(name="t2")
+ correspondent = Correspondent.objects.create(
+ name="test",
+ matching_algorithm=Correspondent.MATCH_AUTO,
+ )
+ dtype = DocumentType.objects.create(
+ name="test",
+ matching_algorithm=DocumentType.MATCH_AUTO,
+ )
+ t1 = Tag.objects.create(name="t1", matching_algorithm=Tag.MATCH_AUTO)
+ t2 = Tag.objects.create(name="t2", matching_algorithm=Tag.MATCH_AUTO)
m.return_value = MagicMock()
m.return_value.predict_correspondent.return_value = correspondent.pk