| documents/__init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/_snowball_stopwords.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/admin.py |
TagAdmin.save_model |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/admin.py |
DocumentAdmin.has_add_permission |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
DocumentAdmin.created_ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
DocumentAdmin.get_queryset |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
DocumentAdmin.delete_queryset |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/admin.py |
DocumentAdmin.delete_model |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
DocumentAdmin.save_model |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
SavedViewAdmin.get_queryset |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
NotesAdmin.get_queryset |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
ShareLinksAdmin.get_queryset |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
ShareLinkBundleAdmin.get_queryset |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
CustomFieldInstancesAdmin.get_queryset |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
LogEntryAUDIT.has_delete_permission |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/admin.py |
(no function) |
|
100% |
116 |
0 |
0 |
|
50% |
4 |
2 |
|
98% |
| documents/apps.py |
DocumentsConfig.ready |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/apps.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/barcodes.py |
Barcode.is_separator |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/barcodes.py |
Barcode.is_asn |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/barcodes.py |
Barcode.is_tag |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/barcodes.py |
Barcode.stored |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.able_to_run |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.get_settings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.setup |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin._apply_detected_asn |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.run |
|
0% |
25 |
25 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.cleanup |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.convert_from_tiff_to_pdf |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.detect |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.asn |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.tags |
|
0% |
19 |
19 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.get_separation_pages |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/barcodes.py |
BarcodePlugin.separate_pages |
|
0% |
28 |
28 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/barcodes.py |
scannable_mime_types |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/barcodes.py |
read_barcodes_zxing |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/barcodes.py |
scan_pdf |
|
0% |
21 |
21 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/barcodes.py |
read_barcode_values |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/barcodes.py |
(no function) |
|
99% |
69 |
1 |
0 |
|
50% |
2 |
1 |
|
97% |
| documents/bulk_download.py |
BulkArchiveStrategy.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/bulk_download.py |
BulkArchiveStrategy._filename_only |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| documents/bulk_download.py |
BulkArchiveStrategy._formatted_filepath |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/bulk_download.py |
BulkArchiveStrategy.add_document |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/bulk_download.py |
OriginalsOnlyStrategy.add_document |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/bulk_download.py |
ArchiveOnlyStrategy.add_document |
|
40% |
5 |
3 |
0 |
|
25% |
4 |
1 |
|
33% |
| documents/bulk_download.py |
OriginalAndArchiveStrategy.add_document |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/bulk_download.py |
(no function) |
|
84% |
19 |
3 |
0 |
|
50% |
2 |
1 |
|
81% |
| documents/bulk_edit.py |
restore_archive_serial_numbers_task |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/bulk_edit.py |
release_archive_serial_numbers |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/bulk_edit.py |
restore_archive_serial_numbers |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/bulk_edit.py |
_resolve_root_and_source_doc |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/bulk_edit.py |
set_correspondent |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/bulk_edit.py |
set_storage_path |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/bulk_edit.py |
set_document_type |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/bulk_edit.py |
add_tag |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/bulk_edit.py |
remove_tag |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/bulk_edit.py |
modify_tags |
|
0% |
25 |
25 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/bulk_edit.py |
modify_custom_fields |
|
0% |
21 |
21 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/bulk_edit.py |
delete |
|
75% |
16 |
4 |
0 |
|
50% |
4 |
0 |
|
70% |
| documents/bulk_edit.py |
reprocess |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/bulk_edit.py |
set_permissions |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/bulk_edit.py |
rotate |
|
24% |
29 |
22 |
0 |
|
17% |
12 |
2 |
|
22% |
| documents/bulk_edit.py |
merge |
|
21% |
57 |
45 |
0 |
|
9% |
22 |
2 |
|
18% |
| documents/bulk_edit.py |
merge_as_versions |
|
0% |
42 |
42 |
0 |
|
0% |
16 |
0 |
|
0% |
| documents/bulk_edit.py |
split |
|
0% |
35 |
35 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/bulk_edit.py |
delete_pages |
|
0% |
22 |
22 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/bulk_edit.py |
edit_pdf |
|
0% |
58 |
58 |
0 |
|
0% |
24 |
0 |
|
0% |
| documents/bulk_edit.py |
remove_password |
|
8% |
37 |
34 |
0 |
|
8% |
12 |
1 |
|
8% |
| documents/bulk_edit.py |
reflect_doclinks |
|
0% |
23 |
23 |
0 |
|
0% |
16 |
0 |
|
0% |
| documents/bulk_edit.py |
remove_doclink |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/bulk_edit.py |
(no function) |
|
97% |
73 |
2 |
0 |
|
50% |
4 |
2 |
|
95% |
| documents/caching.py |
get_suggestion_cache_key |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/caching.py |
get_suggestion_cache |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/caching.py |
set_suggestions_cache |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/caching.py |
refresh_suggestions_cache |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/caching.py |
invalidate_suggestions_cache |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/caching.py |
_llm_generation_key |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/caching.py |
_llm_variant_key |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/caching.py |
get_llm_suggestion_cache |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/caching.py |
set_llm_suggestions_cache |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/caching.py |
refresh_llm_suggestions_cache |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/caching.py |
invalidate_llm_suggestions_cache |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/caching.py |
get_metadata_cache_key |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/caching.py |
get_metadata_cache |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/caching.py |
set_metadata_cache |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/caching.py |
refresh_metadata_cache |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/caching.py |
get_thumbnail_modified_key |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/caching.py |
clear_document_caches |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/caching.py |
(no function) |
|
98% |
49 |
1 |
0 |
|
50% |
2 |
1 |
|
96% |
| documents/checks.py |
parser_check |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/checks.py |
filename_format_check |
|
40% |
5 |
3 |
0 |
|
25% |
4 |
1 |
|
33% |
| documents/checks.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/classifier.py |
_predict_with_threshold |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/classifier.py |
_SignedFileWriter.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
_SignedFileWriter.__enter__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
_SignedFileWriter.write |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
_SignedFileWriter.__exit__ |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/classifier.py |
_text_analyzer |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/classifier.py |
IncompatibleClassifierVersionError.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
load_classifier |
|
0% |
29 |
29 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier.__init__ |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier._update_data_vectorizer_hash |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier._new_hmac |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier._strip_training_state |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier._compute_hmac |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier.load |
|
0% |
21 |
21 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier.save |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier.train |
|
0% |
108 |
108 |
0 |
|
0% |
26 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier.train.content_generator |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier.preprocess_content |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier._get_vectorizer_cache_key |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier._vectorize |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier.predict_correspondent |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier.predict_document_type |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier.predict_tags |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/classifier.py |
DocumentClassifier.predict_storage_path |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/classifier.py |
(no function) |
|
88% |
75 |
9 |
0 |
|
50% |
2 |
1 |
|
87% |
| documents/conditionals.py |
suggestions_etag |
|
22% |
9 |
7 |
0 |
|
17% |
6 |
1 |
|
20% |
| documents/conditionals.py |
suggestions_last_modified |
|
22% |
9 |
7 |
0 |
|
17% |
6 |
1 |
|
20% |
| documents/conditionals.py |
metadata_etag |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| documents/conditionals.py |
metadata_last_modified |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| documents/conditionals.py |
preview_etag |
|
60% |
5 |
2 |
0 |
|
50% |
2 |
1 |
|
57% |
| documents/conditionals.py |
preview_last_modified |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| documents/conditionals.py |
thumbnail_etag |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| documents/conditionals.py |
thumbnail_last_modified |
|
31% |
16 |
11 |
0 |
|
17% |
6 |
1 |
|
27% |
| documents/conditionals.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/consumer.py |
WorkflowTriggerPlugin.run |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/consumer.py |
ConsumeFileDuplicateError.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/consumer.py |
should_produce_archive |
|
0% |
27 |
27 |
0 |
|
0% |
14 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPluginMixin.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPluginMixin._send_progress |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPluginMixin._fail |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPlugin._create_version_from_root |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPlugin.run_pre_consume_script |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPlugin.run_post_consume_script |
|
0% |
26 |
26 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPlugin.run |
|
0% |
122 |
122 |
0 |
|
0% |
32 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPlugin._parse_title_placeholders |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPlugin._store |
|
0% |
23 |
23 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPlugin.apply_overrides |
|
0% |
24 |
24 |
0 |
|
0% |
22 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPlugin._read_version_barcodes |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPlugin._store_barcodes |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPlugin._write |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPreflightPlugin.pre_check_file_exists |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPreflightPlugin.pre_check_duplicate |
|
0% |
22 |
22 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPreflightPlugin.pre_check_directories |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/consumer.py |
ConsumerPreflightPlugin.run |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/consumer.py |
AsnCheckPlugin.pre_check_asn_value |
|
0% |
12 |
12 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/consumer.py |
AsnCheckPlugin.run |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/consumer.py |
(no function) |
|
98% |
123 |
3 |
0 |
|
50% |
2 |
1 |
|
97% |
| documents/context_processors.py |
settings |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/context_processors.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/converters.py |
convert_from_tiff_to_pdf |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/converters.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/data_models.py |
DocumentMetadataOverrides.update |
|
0% |
48 |
48 |
0 |
|
0% |
42 |
0 |
|
0% |
| documents/data_models.py |
DocumentMetadataOverrides.from_document |
|
0% |
15 |
15 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/data_models.py |
ConsumableDocument.__post_init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/data_models.py |
(no function) |
|
100% |
48 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/double_sided.py |
CollatePlugin.able_to_run |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/double_sided.py |
CollatePlugin.run |
|
0% |
36 |
36 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/double_sided.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/export/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/export/compression.py |
compression_available |
|
0% |
9 |
9 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/export/compression.py |
_module_importable |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/compression.py |
level_error |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/export/compression.py |
compress_type_readable |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/export/compression.py |
unreadable_method_names |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/export/compression.py |
(no function) |
|
0% |
15 |
15 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/export/sinks.py |
_dumps |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
StreamingManifestWriter.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
StreamingManifestWriter.write_record |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/export/sinks.py |
StreamingManifestWriter.write_batch |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/export/sinks.py |
StreamingManifestWriter.close |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
ExportSink.add_file |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/export/sinks.py |
ExportSink.add_json |
|
0% |
1 |
1 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/export/sinks.py |
ExportSink.stream |
|
0% |
1 |
1 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/export/sinks.py |
ExportSink._open |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/export/sinks.py |
ExportSink._finalize |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/export/sinks.py |
ExportSink._abort |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/export/sinks.py |
ExportSink.__enter__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
ExportSink.__exit__ |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/export/sinks.py |
DirectoryExportSink.__init__ |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
DirectoryExportSink._open |
|
0% |
3 |
3 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/export/sinks.py |
DirectoryExportSink.add_file |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/export/sinks.py |
DirectoryExportSink._content_unchanged |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
DirectoryExportSink.add_json |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/export/sinks.py |
DirectoryExportSink.stream |
|
0% |
16 |
16 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/export/sinks.py |
DirectoryExportSink._commit_streamed_file |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/export/sinks.py |
DirectoryExportSink._finalize |
|
0% |
6 |
6 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/export/sinks.py |
DirectoryExportSink._abort |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
ZipExportSink.__init__ |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
ZipExportSink._open |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
ZipExportSink._ensure_dirs |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/export/sinks.py |
ZipExportSink.add_file |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
ZipExportSink.add_json |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/export/sinks.py |
ZipExportSink.stream |
|
0% |
16 |
16 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/export/sinks.py |
ZipExportSink._finalize |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/export/sinks.py |
ZipExportSink._wipe_destination |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/export/sinks.py |
ZipExportSink._abort |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/export/sinks.py |
(no function) |
|
0% |
62 |
62 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/file_handling.py |
validate_path_in_root |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/file_handling.py |
create_source_path_directory |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/file_handling.py |
delete_empty_directories |
|
25% |
12 |
9 |
0 |
|
38% |
8 |
3 |
|
30% |
| documents/file_handling.py |
generate_unique_filename |
|
0% |
24 |
24 |
0 |
|
0% |
14 |
0 |
|
0% |
| documents/file_handling.py |
format_filename |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/file_handling.py |
generate_filename |
|
54% |
26 |
12 |
0 |
|
36% |
14 |
5 |
|
48% |
| documents/file_handling.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/filters.py |
ObjectFilter.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/filters.py |
ObjectFilter.filter |
|
100% |
13 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| documents/filters.py |
InboxFilter.filter |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/filters.py |
TitleContentFilter.filter |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/filters.py |
EffectiveContentFilter.filter |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/filters.py |
SharedByUser.filter |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/filters.py |
CustomFieldsFilter.filter |
|
62% |
13 |
5 |
0 |
|
30% |
10 |
1 |
|
48% |
| documents/filters.py |
MimeTypeFilter.filter |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/filters.py |
MonetaryAmountField.to_internal_value |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/filters.py |
MonetaryAmountField.to_representation |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/filters.py |
SelectField.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/filters.py |
SelectField.to_internal_value |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/filters.py |
handle_validation_prefix |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/filters.py |
handle_validation_prefix.wrapper |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/filters.py |
CustomFieldQueryParser.__init__ |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/filters.py |
CustomFieldQueryParser.parse |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/filters.py |
CustomFieldQueryParser._parse_expr |
|
43% |
7 |
4 |
0 |
|
17% |
6 |
1 |
|
31% |
| documents/filters.py |
CustomFieldQueryParser._parse_expr_list |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/filters.py |
CustomFieldQueryParser._parse_logical_expr |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/filters.py |
CustomFieldQueryParser._parse_atom |
|
0% |
22 |
22 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/filters.py |
CustomFieldQueryParser._get_custom_field |
|
0% |
10 |
10 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/filters.py |
CustomFieldQueryParser._split_op |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/filters.py |
CustomFieldQueryParser._validate_atom_op |
|
0% |
13 |
13 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/filters.py |
CustomFieldQueryParser._get_serializer_field |
|
0% |
27 |
27 |
0 |
|
0% |
18 |
0 |
|
0% |
| documents/filters.py |
CustomFieldQueryParser._validate_atom_value |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/filters.py |
CustomFieldQueryParser._parse_atom_doc_link_contains |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/filters.py |
CustomFieldQueryParser._track_query_depth |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| documents/filters.py |
CustomFieldQueryFilter.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/filters.py |
CustomFieldQueryFilter.filter |
|
67% |
6 |
2 |
0 |
|
100% |
2 |
0 |
|
75% |
| documents/filters.py |
DocumentFilterSet.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/filters.py |
DocumentFilterSet.filter_has_duplicates |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| documents/filters.py |
ShareLinkBundleFilterSet.filter_documents |
|
89% |
9 |
1 |
0 |
|
50% |
4 |
2 |
|
77% |
| documents/filters.py |
PaperlessTaskFilterSet.filter_name |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| documents/filters.py |
PaperlessTaskFilterSet.filter_result |
|
73% |
11 |
3 |
0 |
|
50% |
4 |
2 |
|
67% |
| documents/filters.py |
PaperlessTaskFilterSet.filter_is_complete |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/filters.py |
PermittedObjectsFilter.filter_queryset |
|
78% |
9 |
2 |
0 |
|
67% |
6 |
2 |
|
73% |
| documents/filters.py |
DocumentsOrderingFilter.filter_queryset |
|
9% |
34 |
31 |
0 |
|
5% |
22 |
1 |
|
7% |
| documents/filters.py |
(no function) |
|
99% |
206 |
1 |
0 |
|
50% |
2 |
1 |
|
99% |
| documents/loggers.py |
LoggingMixin.renew_logging_group |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/loggers.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/mail.py |
send_email |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/mail.py |
_get_unique_filename |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/mail.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/management/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/management/commands/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/management/commands/base.py |
BufferingLogHandler.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/base.py |
BufferingLogHandler.emit |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/base.py |
BufferingLogHandler.render |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/base.py |
BufferingLogHandler.clear |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/base.py |
ProcessResult.success |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand.add_arguments |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand.execute |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand.buffered_logging |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand._progress_columns |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand._create_progress |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand._get_iterable_length |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand.track |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand.track_with_stats |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand.process_parallel |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand._process_sequential |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/base.py |
PaperlessCommand._process_parallel |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/base.py |
(no function) |
|
0% |
75 |
75 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/convert_mariadb_uuid.py |
Command.convert_field |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/convert_mariadb_uuid.py |
Command.handle |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/convert_mariadb_uuid.py |
(no function) |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_archiver.py |
Command.add_arguments |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_archiver.py |
Command.handle |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_archiver.py |
(no function) |
|
0% |
12 |
12 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
TrackedFile.update_stats |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
TrackedFile.is_unchanged |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
FileStabilityTracker.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
FileStabilityTracker.track |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
FileStabilityTracker.get_stable_files |
|
0% |
25 |
25 |
0 |
|
0% |
14 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
FileStabilityTracker.is_tracking |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
FileStabilityTracker.has_pending_files |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
FileStabilityTracker.pending_count |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
ConsumerFilter.__init__ |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
ConsumerFilter.__call__ |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
ConsumerFilter._has_supported_extension |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
_tags_from_path |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
_consume_file |
|
0% |
20 |
20 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
Command.add_arguments |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
Command.handle |
|
0% |
26 |
26 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
Command._process_existing_files |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
Command._rescan_existing_files |
|
0% |
14 |
14 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
Command._watch_directory |
|
0% |
54 |
54 |
0 |
|
0% |
30 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
Command._watch_directory.cap_for_rescan |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/document_consumer.py |
(no function) |
|
0% |
59 |
59 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_create_classifier.py |
Command.handle |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_create_classifier.py |
(no function) |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
serialize_queryset_batched |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
Command.add_arguments |
|
0% |
17 |
17 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
Command.handle |
|
0% |
40 |
40 |
0 |
|
0% |
20 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
Command.dump |
|
0% |
53 |
53 |
0 |
|
0% |
40 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
Command.generate_base_name |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
Command.generate_document_targets |
|
0% |
20 |
20 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
Command.copy_document_files |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
Command.generate_share_link_bundle_target |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
Command.copy_share_link_bundle_file |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
Command._encrypt_record_inline |
|
0% |
7 |
7 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
Command._write_split_manifest |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_exporter.py |
(no function) |
|
0% |
81 |
81 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/document_fuzzy_match.py |
_process_and_match |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_fuzzy_match.py |
Command.add_arguments |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_fuzzy_match.py |
Command._render_results |
|
0% |
33 |
33 |
0 |
|
0% |
14 |
0 |
|
0% |
| documents/management/commands/document_fuzzy_match.py |
Command._render_results._cell |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_fuzzy_match.py |
Command.handle |
|
0% |
25 |
25 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/management/commands/document_fuzzy_match.py |
Command.handle._work_gen |
|
0% |
3 |
3 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/document_fuzzy_match.py |
Command.handle._iter_matches |
|
0% |
11 |
11 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/management/commands/document_fuzzy_match.py |
(no function) |
|
0% |
22 |
22 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
iter_manifest_records |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
_deserialize_record |
|
0% |
27 |
27 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
_iter_document_copy_records |
|
0% |
4 |
4 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
_iter_share_link_bundle_copy_records |
|
0% |
4 |
4 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
disable_signal |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.add_arguments |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.pre_check |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.pre_check.pre_check_maybe_not_empty |
|
0% |
12 |
12 |
0 |
|
0% |
14 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.pre_check.pre_check_manifest_exists |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.load_manifest_files |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.load_metadata |
|
0% |
18 |
18 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command._finalize_db_load |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command._import_error_context_message |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.load_data_to_database |
|
0% |
23 |
23 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.load_data_to_database.flush_model |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.load_data_to_database.flush_all |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.handle |
|
0% |
21 |
21 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command._run_import |
|
0% |
22 |
22 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.check_manifest_validity |
|
0% |
11 |
11 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.check_manifest_validity.check_document_validity |
|
0% |
21 |
21 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.check_manifest_validity.check_share_link_bundle_validity |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command._import_files_from_manifest |
|
0% |
37 |
37 |
0 |
|
0% |
16 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command._decrypt_record_if_needed |
|
0% |
6 |
6 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
Command.decrypt_secret_fields |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/management/commands/document_importer.py |
(no function) |
|
0% |
80 |
80 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_index.py |
Command.add_arguments |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_index.py |
Command.handle |
|
0% |
16 |
16 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/management/commands/document_index.py |
(no function) |
|
0% |
16 |
16 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_llmindex.py |
Command.add_arguments |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_llmindex.py |
Command.handle |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/document_llmindex.py |
(no function) |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_renamer.py |
Command.handle |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_renamer.py |
(no function) |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_retagger.py |
DocumentSuggestion.has_suggestions |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_retagger.py |
_build_stats_table |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_retagger.py |
_build_suggestion_table |
|
0% |
23 |
23 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/management/commands/document_retagger.py |
_build_summary_table |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_retagger.py |
Command.add_arguments |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_retagger.py |
Command.handle |
|
0% |
56 |
56 |
0 |
|
0% |
28 |
0 |
|
0% |
| documents/management/commands/document_retagger.py |
Command.handle.render_stats |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_retagger.py |
(no function) |
|
0% |
48 |
48 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_sanity_checker.py |
Command._render_results |
|
0% |
35 |
35 |
0 |
|
0% |
22 |
0 |
|
0% |
| documents/management/commands/document_sanity_checker.py |
Command.handle |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_sanity_checker.py |
(no function) |
|
0% |
17 |
17 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_thumbnails.py |
_process_document |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/document_thumbnails.py |
Command.add_arguments |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/document_thumbnails.py |
Command.handle |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/management/commands/document_thumbnails.py |
(no function) |
|
0% |
13 |
13 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/manage_superuser.py |
Command.create_parser |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/management/commands/manage_superuser.py |
Command.handle |
|
62% |
13 |
5 |
0 |
|
50% |
6 |
3 |
|
58% |
| documents/management/commands/manage_superuser.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/management/commands/mixins.py |
CryptMixin.get_crypt_params |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/mixins.py |
CryptMixin.load_crypt_params |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/mixins.py |
CryptMixin.setup_crypto |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/management/commands/mixins.py |
CryptMixin.encrypt_string |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/mixins.py |
CryptMixin.decrypt_string |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/mixins.py |
(no function) |
|
0% |
25 |
25 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/management/commands/prune_audit_logs.py |
Command.handle |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/management/commands/prune_audit_logs.py |
(no function) |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/matching.py |
log_reason |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/matching.py |
match_correspondents |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/matching.py |
match_document_types |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/matching.py |
match_tags |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/matching.py |
match_storage_paths |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/matching.py |
matches |
|
0% |
45 |
45 |
0 |
|
0% |
34 |
0 |
|
0% |
| documents/matching.py |
_split_match |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/matching.py |
consumable_document_matches_workflow |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/matching.py |
existing_document_matches_workflow |
|
0% |
56 |
56 |
0 |
|
0% |
40 |
0 |
|
0% |
| documents/matching.py |
prefilter_documents_by_workflowtrigger |
|
0% |
37 |
37 |
0 |
|
0% |
30 |
0 |
|
0% |
| documents/matching.py |
document_matches_workflow |
|
0% |
18 |
18 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/matching.py |
(no function) |
|
94% |
35 |
2 |
0 |
|
50% |
2 |
1 |
|
92% |
| documents/models.py |
MatchingModel.__str__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/models.py |
Tag.clean |
|
77% |
13 |
3 |
0 |
|
62% |
8 |
3 |
|
71% |
| documents/models.py |
Document.__str__ |
|
100% |
7 |
0 |
0 |
|
50% |
4 |
2 |
|
82% |
| documents/models.py |
Document.get_effective_barcodes |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
Document.get_effective_content |
|
0% |
18 |
18 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/models.py |
Document.suggestion_content |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/models.py |
Document.source_path |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/models.py |
Document.source_file |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
Document.has_archive_version |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/models.py |
Document.archive_path |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/models.py |
Document.archive_file |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
Document.get_public_filename |
|
70% |
10 |
3 |
0 |
|
50% |
6 |
3 |
|
62% |
| documents/models.py |
Document.file_type |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/models.py |
Document.thumbnail_path |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/models.py |
Document.thumbnail_file |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
Document.created_date |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
Document.add_nested_tags |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/models.py |
Document.delete |
|
80% |
5 |
1 |
0 |
|
50% |
4 |
2 |
|
67% |
| documents/models.py |
SavedView.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
SavedViewFilterRule.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
UiSettings.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
PaperlessTask.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
PaperlessTask.is_complete |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
PaperlessTask.related_document_ids |
|
29% |
7 |
5 |
0 |
|
17% |
6 |
1 |
|
23% |
| documents/models.py |
Note.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
DocumentBarcode.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
ShareLink.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
ShareLinkBundle.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
ShareLinkBundle.absolute_file_path |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/models.py |
ShareLinkBundle.remove_file |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/models.py |
ShareLinkBundle.delete |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
CustomField.__str__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/models.py |
CustomFieldInstance.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
CustomFieldInstance.get_value_field_name |
|
50% |
4 |
2 |
0 |
|
100% |
0 |
0 |
|
50% |
| documents/models.py |
CustomFieldInstance.value |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/models.py |
CustomFieldInstance.value_for_search |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/models.py |
WorkflowTrigger.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
WorkflowActionEmail.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
WorkflowActionWebhook.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
WorkflowAction.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
Workflow.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
WorkflowRun.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/models.py |
(no function) |
|
100% |
586 |
0 |
0 |
|
50% |
4 |
2 |
|
99% |
| documents/parsers.py |
is_mime_type_supported |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/parsers.py |
get_default_file_extension |
|
71% |
7 |
2 |
0 |
|
50% |
4 |
2 |
|
64% |
| documents/parsers.py |
is_file_ext_supported |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/parsers.py |
get_supported_file_extensions |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/parsers.py |
run_convert |
|
0% |
24 |
24 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/parsers.py |
get_default_thumbnail |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
make_thumbnail_from_pdf_gs_fallback |
|
0% |
16 |
16 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
make_thumbnail_from_pdf |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.__init__ |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.progress |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.get_settings |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.read_file_handle_unicode_errors |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.extract_metadata |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.get_page_count |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.parse |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.get_archive_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.get_thumbnail |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.get_text |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.get_date |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
DocumentParser.cleanup |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/parsers.py |
(no function) |
|
98% |
41 |
1 |
0 |
|
50% |
2 |
1 |
|
95% |
| documents/permissions.py |
PaperlessObjectPermissions.has_object_permission |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/permissions.py |
PaperlessAdminPermissions.has_permission |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/permissions.py |
has_global_statistics_permission |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/permissions.py |
has_system_status_permission |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/permissions.py |
get_groups_with_only_permission |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/permissions.py |
set_permissions_for_object |
|
50% |
28 |
14 |
0 |
|
40% |
30 |
6 |
|
45% |
| documents/permissions.py |
_resolve_permissions |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| documents/permissions.py |
_apply_bulk_permission_entry |
|
70% |
10 |
3 |
0 |
|
50% |
6 |
3 |
|
62% |
| documents/permissions.py |
set_permissions_for_objects |
|
95% |
20 |
1 |
0 |
|
93% |
14 |
1 |
|
94% |
| documents/permissions.py |
permitted_object_ids |
|
50% |
16 |
8 |
0 |
|
67% |
6 |
2 |
|
55% |
| documents/permissions.py |
user_is_unrestricted |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/permissions.py |
restrict_queryset_to_visible |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/permissions.py |
permitted_document_ids |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/permissions.py |
get_document_count_filter_for_user |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/permissions.py |
annotate_document_count_by_ids |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| documents/permissions.py |
annotate_document_count_for_related_queryset |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/permissions.py |
get_objects_for_user_owner_aware |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/permissions.py |
has_perms_owner_aware |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/permissions.py |
ViewDocumentsPermissions.has_permission |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/permissions.py |
TrashPermissions.has_permission |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/permissions.py |
PaperlessNotePermissions.has_permission |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/permissions.py |
AcknowledgeTasksPermissions.has_permission |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| documents/permissions.py |
(no function) |
|
100% |
59 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/base.py |
StopConsumeTaskError.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/base.py |
ConsumeTaskPlugin.__init__ |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/base.py |
ConsumeTaskPlugin.able_to_run |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/base.py |
ConsumeTaskPlugin.setup |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/base.py |
ConsumeTaskPlugin.run |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/base.py |
ConsumeTaskPlugin.cleanup |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/base.py |
AlwaysRunPluginMixin.able_to_run |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/base.py |
NoSetupPluginMixin.setup |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/base.py |
NoCleanupPluginMixin.cleanup |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/base.py |
(no function) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/date_parsing/__init__.py |
_discover_parser_class |
|
0% |
20 |
20 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/plugins/date_parsing/__init__.py |
get_date_parser |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/date_parsing/__init__.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/date_parsing/base.py |
DateParserPluginBase.__init__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/date_parsing/base.py |
DateParserPluginBase.__enter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/date_parsing/base.py |
DateParserPluginBase.__exit__ |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/date_parsing/base.py |
DateParserPluginBase._parse_string |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/date_parsing/base.py |
DateParserPluginBase._filter_date |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/plugins/date_parsing/base.py |
DateParserPluginBase.parse |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/date_parsing/base.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/date_parsing/regex_parser.py |
RegexDateParserPlugin._process_match |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/date_parsing/regex_parser.py |
RegexDateParserPlugin._process_content |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/plugins/date_parsing/regex_parser.py |
RegexDateParserPlugin.parse |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/plugins/date_parsing/regex_parser.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/helpers.py |
BaseStatusManager.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/helpers.py |
BaseStatusManager.__enter__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/helpers.py |
BaseStatusManager.__exit__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/helpers.py |
BaseStatusManager.open |
|
100% |
2 |
0 |
0 |
|
50% |
2 |
1 |
|
75% |
| documents/plugins/helpers.py |
BaseStatusManager.close |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/plugins/helpers.py |
BaseStatusManager.send |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| documents/plugins/helpers.py |
ProgressManager.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/helpers.py |
ProgressManager.send_progress |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/helpers.py |
DocumentsStatusManager.send_documents_deleted |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/plugins/helpers.py |
DocumentsStatusManager.send_document_updated |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/plugins/helpers.py |
(no function) |
|
97% |
36 |
1 |
0 |
|
50% |
2 |
1 |
|
95% |
| documents/regex.py |
validate_regex_pattern |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/regex.py |
safe_regex_search |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/regex.py |
safe_regex_match |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/regex.py |
safe_regex_sub |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/regex.py |
safe_regex_finditer |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/regex.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/sanity_checker.py |
SanityCheckMessages.__init__ |
|
0% |
15 |
15 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/sanity_checker.py |
SanityCheckMessages._add_document_issue |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/sanity_checker.py |
SanityCheckMessages.error |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/sanity_checker.py |
SanityCheckMessages.warning |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/sanity_checker.py |
SanityCheckMessages.info |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/sanity_checker.py |
SanityCheckMessages.document_pks |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/sanity_checker.py |
SanityCheckMessages.iter_messages |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/sanity_checker.py |
SanityCheckMessages.__getitem__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/sanity_checker.py |
SanityCheckMessages.has_global_issues |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/sanity_checker.py |
SanityCheckMessages.total_issue_count |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/sanity_checker.py |
SanityCheckMessages.log_messages |
|
0% |
13 |
13 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/sanity_checker.py |
_build_present_files |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/sanity_checker.py |
_check_thumbnail |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/sanity_checker.py |
_check_original |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/sanity_checker.py |
_check_archive |
|
0% |
18 |
18 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/sanity_checker.py |
_check_content |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/sanity_checker.py |
_check_document |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/sanity_checker.py |
check_sanity |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/sanity_checker.py |
(no function) |
|
100% |
38 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/schema.py |
AngularApiAuthenticationOverrideScheme.get_security_definition |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/schema.py |
PaperelessBasicAuthenticationScheme.get_security_definition |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/schema.py |
generate_object_with_permissions_schema |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/schema.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/__init__.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_backend.py |
_extract_autocomplete_words |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/search/_backend.py |
TantivyRelevanceList.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_backend.py |
TantivyRelevanceList.__len__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_backend.py |
TantivyRelevanceList.__getitem__ |
|
50% |
10 |
5 |
0 |
|
33% |
6 |
2 |
|
44% |
| documents/search/_backend.py |
TantivyRelevanceList.get_all_ids |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_backend.py |
WriteBatch.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_backend.py |
WriteBatch._writer |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_backend.py |
WriteBatch.__enter__ |
|
62% |
16 |
6 |
0 |
|
25% |
4 |
1 |
|
55% |
| documents/search/_backend.py |
WriteBatch.__exit__ |
|
100% |
10 |
0 |
0 |
|
50% |
6 |
3 |
|
81% |
| documents/search/_backend.py |
WriteBatch.add_or_update |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_backend.py |
WriteBatch.remove |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_backend.py |
WriteBatch.add_or_update_ids |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/search/_backend.py |
build_permission_filter |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_backend.py |
TantivyBackend.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_backend.py |
TantivyBackend._index |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_backend.py |
TantivyBackend._schema |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_backend.py |
TantivyBackend.open |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| documents/search/_backend.py |
TantivyBackend.close |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_backend.py |
TantivyBackend._ensure_open |
|
50% |
2 |
1 |
0 |
|
50% |
2 |
1 |
|
50% |
| documents/search/_backend.py |
TantivyBackend._parse_query |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/search/_backend.py |
TantivyBackend._apply_permission_filter |
|
50% |
4 |
2 |
0 |
|
50% |
2 |
1 |
|
50% |
| documents/search/_backend.py |
TantivyBackend._build_permission_filter |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_backend.py |
TantivyBackend._build_tantivy_doc |
|
0% |
85 |
85 |
0 |
|
0% |
50 |
0 |
|
0% |
| documents/search/_backend.py |
TantivyBackend.add_or_update |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_backend.py |
TantivyBackend.remove |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_backend.py |
TantivyBackend.highlight_hits |
|
4% |
49 |
47 |
0 |
|
6% |
18 |
1 |
|
4% |
| documents/search/_backend.py |
TantivyBackend.search_ids |
|
70% |
20 |
6 |
0 |
|
62% |
8 |
3 |
|
68% |
| documents/search/_backend.py |
TantivyBackend.autocomplete |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| documents/search/_backend.py |
TantivyBackend.more_like_this_ids |
|
0% |
19 |
19 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/search/_backend.py |
TantivyBackend.batch_update |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_backend.py |
TantivyBackend.rebuild |
|
0% |
20 |
20 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/search/_backend.py |
chunked |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/search/_backend.py |
_DocumentViewerStream.__iter__ |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/search/_backend.py |
_bulk_get_viewer_permissions |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/search/_backend.py |
get_backend |
|
83% |
12 |
2 |
0 |
|
67% |
6 |
2 |
|
78% |
| documents/search/_backend.py |
reset_backend |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/search/_backend.py |
(no function) |
|
92% |
115 |
9 |
0 |
|
50% |
2 |
1 |
|
91% |
| documents/search/_errors.py |
InvalidDateQuery.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_errors.py |
InvalidNumberQuery.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_errors.py |
QueryTooLongError.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_errors.py |
MultipleSearchQueryErrors.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_errors.py |
search_query_error_messages |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/search/_errors.py |
(no function) |
|
93% |
14 |
1 |
0 |
|
50% |
2 |
1 |
|
88% |
| documents/search/_fields.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_query.py |
normalize_search_text |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_query.py |
_user_facing_emit_message |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/search/_query.py |
_map_emit_error |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/search/_query.py |
_has_cjk |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_query.py |
extract_cjk_text |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_query.py |
_parse_cjk_text |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_query.py |
_build_cjk_query |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| documents/search/_query.py |
_get_emit_field_registry |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_query.py |
_collapse |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/search/_query.py |
_leaf_span |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_query.py |
_cjk_alternative |
|
86% |
22 |
3 |
0 |
|
67% |
12 |
4 |
|
79% |
| documents/search/_query.py |
_fuzzy_alternative |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/search/_query.py |
_widen_leaf |
|
64% |
14 |
5 |
0 |
|
40% |
10 |
4 |
|
54% |
| documents/search/_query.py |
_negated_leaf_ids |
|
0% |
23 |
23 |
0 |
|
0% |
18 |
0 |
|
0% |
| documents/search/_query.py |
_any_of |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/search/_query.py |
_build_simple_token_query |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/search/_query.py |
parse_user_query |
|
65% |
17 |
6 |
0 |
|
50% |
4 |
2 |
|
62% |
| documents/search/_query.py |
parse_user_query.emit_widened |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_query.py |
_diagnostics_to_error |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_query.py |
_single_diagnostic_to_error |
|
0% |
15 |
15 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/search/_query.py |
parse_simple_query |
|
100% |
10 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| documents/search/_query.py |
parse_simple_text_highlight_query |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/search/_query.py |
parse_simple_text_query |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_query.py |
parse_simple_title_query |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_query.py |
(no function) |
|
98% |
65 |
1 |
0 |
|
50% |
2 |
1 |
|
97% |
| documents/search/_registry.py |
_identity_analyzer |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_registry.py |
_fold_normalizer |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_registry.py |
_make_pattern_normalizer |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_registry.py |
_make_pattern_normalizer._pattern_normalizer |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_registry.py |
get_field_registry |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/search/_registry.py |
(no function) |
|
94% |
16 |
1 |
0 |
|
50% |
2 |
1 |
|
89% |
| documents/search/_schema.py |
_public_field_descriptors |
|
100% |
10 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| documents/search/_schema.py |
field_descriptors |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_schema.py |
schema_fingerprint |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_schema.py |
build_schema |
|
92% |
12 |
1 |
0 |
|
90% |
10 |
1 |
|
91% |
| documents/search/_schema.py |
needs_rebuild |
|
0% |
17 |
17 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/search/_schema.py |
wipe_index |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/search/_schema.py |
_write_sentinels |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_schema.py |
open_or_rebuild_index |
|
18% |
17 |
14 |
0 |
|
33% |
6 |
2 |
|
22% |
| documents/search/_schema.py |
(no function) |
|
97% |
34 |
1 |
0 |
|
50% |
2 |
1 |
|
94% |
| documents/search/_tokenizer.py |
register_tokenizers |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_tokenizer.py |
paperless_text_analyzer |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| documents/search/_tokenizer.py |
_pattern_stemmer |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| documents/search/_tokenizer.py |
stem_pattern_text |
|
71% |
7 |
2 |
0 |
|
50% |
4 |
2 |
|
64% |
| documents/search/_tokenizer.py |
_simple_analyzer |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_tokenizer.py |
_bigram_analyzer |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_tokenizer.py |
_simple_search_analyzer |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_tokenizer.py |
simple_search_tokens |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_tokenizer.py |
autocomplete_tokens |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/search/_tokenizer.py |
ascii_fold |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/search/_tokenizer.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
DynamicFieldsModelSerializer.__init__ |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/serialisers.py |
DocumentUpdateFieldsModelSerializer._get_update_fields |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
DocumentUpdateFieldsModelSerializer.update |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/serialisers.py |
MatchingModelSerializer.get_slug |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
MatchingModelSerializer.validate |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
MatchingModelSerializer.validate_match |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
SetPermissionsMixin._validate_user_ids |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/serialisers.py |
SetPermissionsMixin._validate_group_ids |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/serialisers.py |
SetPermissionsMixin.validate_set_permissions |
|
100% |
12 |
0 |
0 |
|
90% |
10 |
1 |
|
95% |
| documents/serialisers.py |
SetPermissionsMixin._set_permissions |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
SerializerWithPerms.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
SetPermissionsSerializer.to_internal_value |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/serialisers.py |
OwnedObjectSerializer.__init__ |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/serialisers.py |
OwnedObjectSerializer._get_perms |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/serialisers.py |
OwnedObjectSerializer.get_permissions |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
OwnedObjectSerializer.get_user_can_change |
|
33% |
18 |
12 |
0 |
|
42% |
12 |
1 |
|
37% |
| documents/serialisers.py |
OwnedObjectSerializer.get_shared_object_pks |
|
31% |
13 |
9 |
0 |
|
100% |
0 |
0 |
|
31% |
| documents/serialisers.py |
OwnedObjectSerializer.get_shared_object_pks.get_pks_for_permission_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
OwnedObjectSerializer.get_is_shared_by_requester |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
OwnedObjectSerializer.validate_unique_together |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/serialisers.py |
OwnedObjectSerializer.create |
|
100% |
11 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| documents/serialisers.py |
OwnedObjectSerializer.update |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| documents/serialisers.py |
OwnedObjectListSerializer.to_representation |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
ColorField.to_internal_value |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/serialisers.py |
ColorField.to_representation |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/serialisers.py |
TagSerializer.get_text_color |
|
71% |
7 |
2 |
0 |
|
100% |
0 |
0 |
|
71% |
| documents/serialisers.py |
TagSerializer.get_children |
|
100% |
20 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| documents/serialisers.py |
TagSerializer.validate_color |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
TagSerializer.validate |
|
65% |
17 |
6 |
0 |
|
100% |
2 |
0 |
|
68% |
| documents/serialisers.py |
CorrespondentField.get_queryset |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
TagsField.get_queryset |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
DocumentTypeField.get_queryset |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
StoragePathField.get_queryset |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
CustomFieldSerializer.validate |
|
62% |
13 |
5 |
0 |
|
42% |
12 |
3 |
|
52% |
| documents/serialisers.py |
ReadWriteSerializerMethodField.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
ReadWriteSerializerMethodField.to_internal_value |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
validate_documentlink_targets |
|
0% |
6 |
6 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/serialisers.py |
CustomFieldInstanceSerializer.create |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
CustomFieldInstanceSerializer.get_value |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
CustomFieldInstanceSerializer.validate |
|
0% |
35 |
35 |
0 |
|
0% |
18 |
0 |
|
0% |
| documents/serialisers.py |
_get_viewable_duplicates |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.get_page_count |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.get_duplicate_documents |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.get_versions |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.get_versions.build_info |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.get_original_file_name |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.get_archived_file_name |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.to_representation |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.to_internal_value |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.validate |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.update |
|
0% |
47 |
47 |
0 |
|
0% |
30 |
0 |
|
0% |
| documents/serialisers.py |
DocumentSerializer.__init__ |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
SearchResultListSerializer.to_representation |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
SearchResultSerializer.fetch_documents |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
SearchResultSerializer.to_representation |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
SavedViewSerializer._get_api_version |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
SavedViewSerializer._update_legacy_visibility_preferences |
|
7% |
29 |
27 |
0 |
|
7% |
14 |
1 |
|
7% |
| documents/serialisers.py |
SavedViewSerializer.to_representation |
|
28% |
18 |
13 |
0 |
|
12% |
8 |
1 |
|
23% |
| documents/serialisers.py |
SavedViewSerializer.to_internal_value |
|
19% |
16 |
13 |
0 |
|
17% |
6 |
1 |
|
18% |
| documents/serialisers.py |
SavedViewSerializer.validate |
|
50% |
10 |
5 |
0 |
|
40% |
10 |
2 |
|
45% |
| documents/serialisers.py |
SavedViewSerializer.update |
|
84% |
19 |
3 |
0 |
|
75% |
12 |
3 |
|
81% |
| documents/serialisers.py |
SavedViewSerializer.create |
|
85% |
13 |
2 |
0 |
|
67% |
6 |
2 |
|
79% |
| documents/serialisers.py |
DocumentListSerializer._validate_document_id_list |
|
71% |
7 |
2 |
0 |
|
67% |
6 |
2 |
|
69% |
| documents/serialisers.py |
DocumentListSerializer.validate_documents |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
DocumentSelectionSerializer.validate |
|
100% |
10 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| documents/serialisers.py |
SourceModeValidationMixin.validate_source_mode |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
_validate_rotation_degrees |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
RotateDocumentsSerializer.validate_degrees |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
MergeDocumentsAsVersionsSerializer.validate_version_label |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
MergeDocumentsAsVersionsSerializer.validate |
|
21% |
14 |
11 |
0 |
|
10% |
10 |
1 |
|
17% |
| documents/serialisers.py |
PdfEditOperationSerializer.validate_rotate |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
EditPdfDocumentsSerializer.validate |
|
44% |
16 |
9 |
0 |
|
29% |
14 |
2 |
|
37% |
| documents/serialisers.py |
BulkEditSerializer._validate_tag_id_list |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/serialisers.py |
BulkEditSerializer._validate_custom_field_id_list_or_dict |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/serialisers.py |
BulkEditSerializer._validate_custom_field_values |
|
0% |
13 |
13 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/serialisers.py |
BulkEditSerializer.validate_method |
|
97% |
33 |
1 |
0 |
|
97% |
32 |
1 |
|
97% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_tags |
|
29% |
7 |
5 |
0 |
|
50% |
2 |
1 |
|
33% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_document_type |
|
22% |
9 |
7 |
0 |
|
25% |
4 |
1 |
|
23% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_correspondent |
|
22% |
9 |
7 |
0 |
|
25% |
4 |
1 |
|
23% |
| documents/serialisers.py |
BulkEditSerializer._validate_storage_path |
|
22% |
9 |
7 |
0 |
|
25% |
4 |
1 |
|
23% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_modify_tags |
|
33% |
6 |
4 |
0 |
|
25% |
4 |
1 |
|
30% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_modify_custom_fields |
|
29% |
7 |
5 |
0 |
|
25% |
4 |
1 |
|
27% |
| documents/serialisers.py |
BulkEditSerializer._validate_owner |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_set_permissions |
|
20% |
10 |
8 |
0 |
|
12% |
8 |
1 |
|
17% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_rotate |
|
29% |
7 |
5 |
0 |
|
50% |
2 |
1 |
|
33% |
| documents/serialisers.py |
BulkEditSerializer._validate_source_mode |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_split |
|
0% |
23 |
23 |
0 |
|
0% |
14 |
0 |
|
0% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_delete_pages |
|
33% |
6 |
4 |
0 |
|
17% |
6 |
1 |
|
25% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_merge |
|
50% |
8 |
4 |
0 |
|
25% |
8 |
2 |
|
38% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_edit_pdf |
|
0% |
27 |
27 |
0 |
|
0% |
22 |
0 |
|
0% |
| documents/serialisers.py |
BulkEditSerializer._validate_parameters_reprocess |
|
50% |
4 |
2 |
0 |
|
25% |
4 |
1 |
|
38% |
| documents/serialisers.py |
BulkEditSerializer.validate_parameters_remove_password |
|
50% |
4 |
2 |
0 |
|
25% |
4 |
1 |
|
38% |
| documents/serialisers.py |
BulkEditSerializer.validate |
|
90% |
42 |
4 |
0 |
|
89% |
38 |
4 |
|
90% |
| documents/serialisers.py |
PostDocumentSerializer.validate_document |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| documents/serialisers.py |
PostDocumentSerializer.validate_correspondent |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
PostDocumentSerializer.validate_document_type |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/serialisers.py |
PostDocumentSerializer.validate_storage_path |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/serialisers.py |
PostDocumentSerializer.validate_tags |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/serialisers.py |
PostDocumentSerializer.validate_custom_fields |
|
39% |
28 |
17 |
0 |
|
58% |
12 |
3 |
|
45% |
| documents/serialisers.py |
PostDocumentSerializer.validate_created |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
DocumentVersionLabelSerializer.validate_version_label |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
BulkDownloadSerializer.validate_compression |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
EmailSerializer.validate_addresses |
|
80% |
10 |
2 |
0 |
|
50% |
4 |
2 |
|
71% |
| documents/serialisers.py |
EmailSerializer.validate_documents |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| documents/serialisers.py |
StoragePathSerializer.validate_path |
|
71% |
7 |
2 |
0 |
|
50% |
4 |
2 |
|
64% |
| documents/serialisers.py |
StoragePathSerializer.update |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| documents/serialisers.py |
UiSettingsViewSerializer.validate_settings |
|
33% |
6 |
4 |
0 |
|
50% |
2 |
1 |
|
38% |
| documents/serialisers.py |
UiSettingsViewSerializer.create |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
TaskSerializerV9.get_result |
|
0% |
11 |
11 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/serialisers.py |
TaskSerializerV9.get_task_name |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
TaskSerializerV9.get_task_file_name |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
TaskSerializerV9.get_status |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
TaskSerializerV9.get_type |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
TaskSerializerV9.get_related_document |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
TaskSerializerV9.get_duplicate_documents |
|
0% |
14 |
14 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/serialisers.py |
AcknowledgeTasksViewSerializer._validate_task_id_list |
|
75% |
8 |
2 |
0 |
|
67% |
6 |
2 |
|
71% |
| documents/serialisers.py |
AcknowledgeTasksViewSerializer.validate_tasks |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
AcknowledgeTasksViewSerializer.validate |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/serialisers.py |
ShareLinkSerializer.create |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
ShareLinkSerializer.validate_document |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/serialisers.py |
ShareLinkBundleSerializer.validate_document_ids |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
ShareLinkBundleSerializer.create |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/serialisers.py |
ShareLinkBundleSerializer.get_document_count |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/serialisers.py |
BulkEditObjectsSerializer.get_object_class |
|
100% |
10 |
0 |
0 |
|
88% |
8 |
1 |
|
94% |
| documents/serialisers.py |
BulkEditObjectsSerializer._validate_objects |
|
67% |
9 |
3 |
0 |
|
50% |
6 |
3 |
|
60% |
| documents/serialisers.py |
BulkEditObjectsSerializer._validate_permissions |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
BulkEditObjectsSerializer.validate |
|
94% |
18 |
1 |
0 |
|
83% |
12 |
2 |
|
90% |
| documents/serialisers.py |
WorkflowTriggerSerializer.validate |
|
100% |
13 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| documents/serialisers.py |
WorkflowTriggerSerializer.normalize_workflow_trigger_sources |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
WorkflowTriggerSerializer.create |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
WorkflowTriggerSerializer.update |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
WorkflowActionWebhookSerializer.validate_url |
|
50% |
2 |
1 |
0 |
|
100% |
0 |
0 |
|
50% |
| documents/serialisers.py |
WorkflowActionSerializer.validate |
|
91% |
23 |
2 |
0 |
|
89% |
18 |
2 |
|
90% |
| documents/serialisers.py |
WorkflowSerializer.validate |
|
94% |
16 |
1 |
0 |
|
88% |
8 |
1 |
|
92% |
| documents/serialisers.py |
WorkflowSerializer.update_triggers_and_actions |
|
95% |
106 |
5 |
0 |
|
98% |
66 |
1 |
|
97% |
| documents/serialisers.py |
WorkflowSerializer.prune_triggers_and_actions |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
WorkflowSerializer.create |
|
100% |
9 |
0 |
0 |
|
67% |
6 |
2 |
|
87% |
| documents/serialisers.py |
WorkflowSerializer.update |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/serialisers.py |
TrashSerializer.validate_documents |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/serialisers.py |
StoragePathTestSerializer.__init__ |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| documents/serialisers.py |
(no function) |
|
99% |
552 |
4 |
0 |
|
50% |
4 |
2 |
|
99% |
| documents/settings.py |
(no function) |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/signals/__init__.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/signals/handlers.py |
add_inbox_tags |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/signals/handlers.py |
set_correspondent |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/signals/handlers.py |
set_document_type |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/signals/handlers.py |
set_tags |
|
0% |
12 |
12 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/signals/handlers.py |
set_storage_path |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/signals/handlers.py |
cleanup_document_deletion |
|
44% |
32 |
18 |
0 |
|
64% |
14 |
3 |
|
50% |
| documents/signals/handlers.py |
_path_matches_checksum |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/signals/handlers.py |
_filename_template_uses_custom_fields |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/signals/handlers.py |
update_filename_and_move_files |
|
48% |
90 |
47 |
0 |
|
37% |
46 |
13 |
|
44% |
| documents/signals/handlers.py |
update_filename_and_move_files.validate_move |
|
25% |
12 |
9 |
0 |
|
50% |
6 |
3 |
|
33% |
| documents/signals/handlers.py |
process_cf_select_update |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/signals/handlers.py |
check_paths_and_prune_custom_fields |
|
50% |
2 |
1 |
0 |
|
50% |
2 |
1 |
|
50% |
| documents/signals/handlers.py |
cleanup_custom_field_deletion |
|
44% |
9 |
5 |
0 |
|
33% |
6 |
2 |
|
40% |
| documents/signals/handlers.py |
update_llm_suggestions_cache |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/signals/handlers.py |
cleanup_user_deletion |
|
54% |
26 |
12 |
0 |
|
61% |
18 |
7 |
|
57% |
| documents/signals/handlers.py |
add_to_index |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/signals/handlers.py |
run_workflows_added |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/signals/handlers.py |
run_workflows_updated |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/signals/handlers.py |
send_websocket_document_updated |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/signals/handlers.py |
run_workflows |
|
0% |
65 |
65 |
0 |
|
0% |
50 |
0 |
|
0% |
| documents/signals/handlers.py |
_extract_input_data |
|
74% |
34 |
9 |
0 |
|
64% |
28 |
8 |
|
69% |
| documents/signals/handlers.py |
_determine_trigger_source |
|
57% |
7 |
3 |
0 |
|
50% |
2 |
1 |
|
56% |
| documents/signals/handlers.py |
_extract_owner_id |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| documents/signals/handlers.py |
before_task_publish_handler |
|
78% |
18 |
4 |
0 |
|
62% |
8 |
3 |
|
73% |
| documents/signals/handlers.py |
task_prerun_handler |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/signals/handlers.py |
task_postrun_handler |
|
0% |
32 |
32 |
0 |
|
0% |
14 |
0 |
|
0% |
| documents/signals/handlers.py |
task_failure_handler |
|
0% |
24 |
24 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/signals/handlers.py |
task_revoked_handler |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/signals/handlers.py |
close_connection_pool_on_worker_init |
|
0% |
3 |
3 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/signals/handlers.py |
close_connection_pool_on_worker_shutdown |
|
0% |
3 |
3 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/signals/handlers.py |
add_or_update_document_in_llm_index |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/signals/handlers.py |
delete_document_from_llm_index |
|
50% |
4 |
2 |
0 |
|
50% |
2 |
1 |
|
50% |
| documents/signals/handlers.py |
(no function) |
|
97% |
126 |
4 |
0 |
|
50% |
2 |
1 |
|
96% |
| documents/tasks.py |
index_optimize |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/tasks.py |
index_document |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/tasks.py |
remove_document_from_index |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/tasks.py |
train_classifier |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/tasks.py |
consume_file |
|
0% |
35 |
35 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/tasks.py |
sanity_check |
|
0% |
20 |
20 |
0 |
|
0% |
14 |
0 |
|
0% |
| documents/tasks.py |
bulk_update_documents |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/tasks.py |
_read_barcodes_for_reprocess |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/tasks.py |
update_document_content_maybe_archive_file |
|
0% |
44 |
44 |
0 |
|
0% |
14 |
0 |
|
0% |
| documents/tasks.py |
empty_trash |
|
77% |
13 |
3 |
0 |
|
50% |
4 |
2 |
|
71% |
| documents/tasks.py |
check_scheduled_workflows |
|
0% |
40 |
40 |
0 |
|
0% |
26 |
0 |
|
0% |
| documents/tasks.py |
update_document_parent_tags |
|
0% |
19 |
19 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/tasks.py |
llmindex_index |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/tasks.py |
apply_ai_suggestions |
|
0% |
15 |
15 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/tasks.py |
update_document_in_llm_index |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/tasks.py |
remove_document_from_llm_index |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/tasks.py |
build_share_link_bundle |
|
0% |
48 |
48 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/tasks.py |
cleanup_expired_share_link_bundles |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/tasks.py |
(no function) |
|
100% |
116 |
0 |
0 |
|
50% |
2 |
1 |
|
99% |
| documents/templating/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/environment.py |
JinjaEnvironment.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/environment.py |
JinjaEnvironment.is_safe_callable |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/templating/environment.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
FilePathTemplate.render |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
FilePathTemplate.render.clean_filepath |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
PlaceholderString.__new__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
PlaceholderString.__bool__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/templating/filepath.py |
PlaceholderString.__eq__ |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/templating/filepath.py |
PlaceholderString.__ne__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/templating/filepath.py |
MatchingModelContext.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
MatchingModelContext.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/templating/filepath.py |
create_dummy_document |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
get_creation_date_context |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
get_added_date_context |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
get_basic_metadata_context |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
get_safe_document_context |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
get_tags_context |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filepath.py |
get_custom_fields_context |
|
62% |
13 |
5 |
0 |
|
50% |
8 |
2 |
|
57% |
| documents/templating/filepath.py |
is_safe_relative_path |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| documents/templating/filepath.py |
validate_filepath_template_and_render |
|
42% |
24 |
14 |
0 |
|
50% |
4 |
2 |
|
43% |
| documents/templating/filepath.py |
(no function) |
|
100% |
53 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/filters.py |
localize_date |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/templating/filters.py |
format_datetime |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/templating/filters.py |
get_cf_value |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/templating/filters.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/utils.py |
convert_format_str_to_template_format |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/utils.py |
convert_format_str_to_template_format.replace_with_django |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/templating/utils.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/templating/workflows.py |
validate_workflow_template |
|
50% |
10 |
5 |
0 |
|
50% |
2 |
1 |
|
50% |
| documents/templating/workflows.py |
parse_w_workflow_placeholders |
|
0% |
25 |
25 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/templating/workflows.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/utils.py |
identity |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/utils.py |
QuerySetStream.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/utils.py |
QuerySetStream.__len__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/utils.py |
QuerySetStream.__iter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/utils.py |
_coerce_to_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/utils.py |
copy_basic_file_stats |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/utils.py |
copy_file_with_basic_stats |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/utils.py |
maybe_override_pixel_limit |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/utils.py |
run_subprocess |
|
0% |
17 |
17 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/utils.py |
get_boolean |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/utils.py |
compute_checksum |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/utils.py |
(no function) |
|
94% |
33 |
2 |
0 |
|
50% |
2 |
1 |
|
91% |
| documents/validators.py |
uri_validator |
|
50% |
12 |
6 |
0 |
|
17% |
6 |
1 |
|
39% |
| documents/validators.py |
url_validator |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/validators.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/versioning.py |
versions_newest_first |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/versioning.py |
annotate_effective_content |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/versioning.py |
latest_version_content_prefetch |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/versioning.py |
has_prefetched_effective_content |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/versioning.py |
sort_versions_newest_first |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/versioning.py |
_document_manager |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/versioning.py |
get_request_version_param |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/versioning.py |
get_root_document |
|
29% |
7 |
5 |
0 |
|
25% |
4 |
1 |
|
27% |
| documents/versioning.py |
get_latest_version_for_root |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/versioning.py |
latest_version |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/versioning.py |
resolve_requested_version_for_root |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/versioning.py |
resolve_effective_document |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/versioning.py |
resolve_effective_document_by_pk |
|
93% |
14 |
1 |
0 |
|
83% |
6 |
1 |
|
90% |
| documents/versioning.py |
(no function) |
|
97% |
38 |
1 |
0 |
|
50% |
2 |
1 |
|
95% |
| documents/views.py |
_get_tantivy_query_and_mode |
|
83% |
12 |
2 |
0 |
|
75% |
8 |
2 |
|
80% |
| documents/views.py |
_get_more_like_id |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/views.py |
IndexView.get_frontend_language |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/views.py |
IndexView.get_context_data |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/views.py |
PassUserMixin.get_serializer |
|
78% |
9 |
2 |
0 |
|
100% |
2 |
0 |
|
82% |
| documents/views.py |
BulkPermissionMixin._get_object_perms |
|
92% |
13 |
1 |
0 |
|
83% |
6 |
1 |
|
89% |
| documents/views.py |
BulkPermissionMixin.get_serializer_context |
|
95% |
19 |
1 |
0 |
|
83% |
6 |
1 |
|
92% |
| documents/views.py |
PermissionsAwareDocumentCountMixin._get_document_count_source_field |
|
50% |
4 |
2 |
0 |
|
50% |
2 |
1 |
|
50% |
| documents/views.py |
PermissionsAwareDocumentCountMixin.get_document_count_filter |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
PermissionsAwareDocumentCountMixin.get_queryset |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
CorrespondentViewSet.list |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/views.py |
CorrespondentViewSet.retrieve |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
TagViewSet.get_serializer_context |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
TagViewSet.list |
|
95% |
21 |
1 |
0 |
|
83% |
6 |
1 |
|
93% |
| documents/views.py |
TagViewSet.perform_update |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| documents/views.py |
DocumentViewSet._get_selection_data_for_queryset |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/views.py |
DocumentViewSet._content_filter_params |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| documents/views.py |
DocumentViewSet._needs_effective_content_annotation |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
DocumentViewSet._requested_fields |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
DocumentViewSet._needs_effective_content_prefetch |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
DocumentViewSet.get_queryset |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| documents/views.py |
DocumentViewSet.get_serializer |
|
80% |
10 |
2 |
0 |
|
100% |
0 |
0 |
|
80% |
| documents/views.py |
DocumentViewSet.root |
|
50% |
8 |
4 |
0 |
|
0% |
2 |
0 |
|
40% |
| documents/views.py |
DocumentViewSet.retrieve |
|
10% |
10 |
9 |
0 |
|
0% |
6 |
0 |
|
6% |
| documents/views.py |
DocumentViewSet.update |
|
7% |
27 |
25 |
0 |
|
0% |
8 |
0 |
|
6% |
| documents/views.py |
DocumentViewSet.list |
|
17% |
12 |
10 |
0 |
|
25% |
4 |
1 |
|
19% |
| documents/views.py |
DocumentViewSet.destroy |
|
22% |
9 |
7 |
0 |
|
0% |
2 |
0 |
|
18% |
| documents/views.py |
DocumentViewSet.original_requested |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/views.py |
DocumentViewSet._resolve_file_doc |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/views.py |
DocumentViewSet._get_effective_file_doc |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/views.py |
DocumentViewSet._resolve_request_and_root_doc |
|
56% |
9 |
4 |
0 |
|
0% |
2 |
0 |
|
45% |
| documents/views.py |
DocumentViewSet.file_response |
|
20% |
5 |
4 |
0 |
|
0% |
2 |
0 |
|
14% |
| documents/views.py |
DocumentViewSet.get_metadata |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/views.py |
DocumentViewSet.get_filesize |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/views.py |
DocumentViewSet.metadata |
|
4% |
23 |
22 |
0 |
|
0% |
6 |
0 |
|
3% |
| documents/views.py |
DocumentViewSet.suggestions |
|
6% |
16 |
15 |
0 |
|
0% |
6 |
0 |
|
5% |
| documents/views.py |
DocumentViewSet.ai_suggestions |
|
3% |
35 |
34 |
0 |
|
0% |
6 |
0 |
|
2% |
| documents/views.py |
DocumentViewSet.ai_suggestions.resolve_choice |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/views.py |
DocumentViewSet.preview |
|
12% |
8 |
7 |
0 |
|
0% |
2 |
0 |
|
10% |
| documents/views.py |
DocumentViewSet.thumb |
|
11% |
9 |
8 |
0 |
|
0% |
2 |
0 |
|
9% |
| documents/views.py |
DocumentViewSet.download |
|
75% |
4 |
1 |
0 |
|
100% |
0 |
0 |
|
75% |
| documents/views.py |
DocumentViewSet.notes |
|
12% |
52 |
46 |
0 |
|
0% |
18 |
0 |
|
9% |
| documents/views.py |
DocumentViewSet.share_links |
|
42% |
12 |
7 |
0 |
|
0% |
4 |
0 |
|
31% |
| documents/views.py |
DocumentViewSet.history |
|
50% |
12 |
6 |
0 |
|
17% |
6 |
1 |
|
39% |
| documents/views.py |
DocumentViewSet.email_document |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
DocumentViewSet.email_documents |
|
9% |
23 |
21 |
0 |
|
0% |
4 |
0 |
|
7% |
| documents/views.py |
DocumentViewSet.update_version |
|
23% |
30 |
23 |
0 |
|
0% |
6 |
0 |
|
19% |
| documents/views.py |
DocumentViewSet._get_root_doc_for_version_action |
|
80% |
5 |
1 |
0 |
|
100% |
0 |
0 |
|
80% |
| documents/views.py |
DocumentViewSet._get_version_doc_for_root |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/views.py |
DocumentViewSet.delete_version |
|
5% |
20 |
19 |
0 |
|
0% |
6 |
0 |
|
4% |
| documents/views.py |
DocumentViewSet.update_version_label |
|
19% |
16 |
13 |
0 |
|
0% |
4 |
0 |
|
15% |
| documents/views.py |
ChatStreamingView.post |
|
14% |
21 |
18 |
0 |
|
17% |
6 |
1 |
|
15% |
| documents/views.py |
UnifiedSearchViewSet.get_serializer_class |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
UnifiedSearchViewSet.get_serializer_context |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
UnifiedSearchViewSet._get_active_search_params |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
UnifiedSearchViewSet._is_search_request |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
UnifiedSearchViewSet.list |
|
76% |
42 |
10 |
0 |
|
50% |
10 |
3 |
|
71% |
| documents/views.py |
UnifiedSearchViewSet.list.parse_search_params |
|
85% |
13 |
2 |
0 |
|
100% |
2 |
0 |
|
87% |
| documents/views.py |
UnifiedSearchViewSet.list.intersect_and_order |
|
25% |
8 |
6 |
0 |
|
17% |
6 |
1 |
|
21% |
| documents/views.py |
UnifiedSearchViewSet.list.run_text_search |
|
90% |
10 |
1 |
0 |
|
50% |
2 |
1 |
|
83% |
| documents/views.py |
UnifiedSearchViewSet.list.run_more_like_this |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/views.py |
UnifiedSearchViewSet.next_asn |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
LogViewSet.get_log_file |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
LogViewSet.retrieve |
|
95% |
20 |
1 |
0 |
|
90% |
10 |
1 |
|
93% |
| documents/views.py |
LogViewSet.list |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
DocumentSelectionMixin._get_search_document_ids |
|
15% |
20 |
17 |
0 |
|
17% |
6 |
1 |
|
15% |
| documents/views.py |
DocumentSelectionMixin._resolve_document_ids |
|
92% |
12 |
1 |
0 |
|
83% |
6 |
1 |
|
89% |
| documents/views.py |
DocumentOperationPermissionMixin._has_document_permissions |
|
17% |
12 |
10 |
0 |
|
12% |
8 |
1 |
|
15% |
| documents/views.py |
DocumentOperationPermissionMixin._execute_document_action |
|
75% |
16 |
4 |
0 |
|
83% |
6 |
1 |
|
77% |
| documents/views.py |
BulkEditView._snapshot_field |
|
33% |
9 |
6 |
0 |
|
33% |
6 |
2 |
|
33% |
| documents/views.py |
BulkEditView.post |
|
94% |
31 |
2 |
0 |
|
86% |
14 |
2 |
|
91% |
| documents/views.py |
RotateDocumentsView.post |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
MergeDocumentsView.post |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
MergeDocumentsAsVersionsView.post |
|
67% |
3 |
1 |
0 |
|
100% |
0 |
0 |
|
67% |
| documents/views.py |
DeleteDocumentsView.post |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
ReprocessDocumentsView.post |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
EditPdfDocumentsView.post |
|
67% |
3 |
1 |
0 |
|
100% |
0 |
0 |
|
67% |
| documents/views.py |
RemovePasswordDocumentsView.post |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
PostDocumentView.post |
|
90% |
29 |
3 |
0 |
|
50% |
6 |
3 |
|
83% |
| documents/views.py |
SelectionDataView.post |
|
92% |
13 |
1 |
0 |
|
50% |
2 |
1 |
|
87% |
| documents/views.py |
SearchAutoCompleteView.get |
|
100% |
11 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| documents/views.py |
GlobalSearchView.get |
|
98% |
56 |
1 |
0 |
|
80% |
10 |
2 |
|
95% |
| documents/views.py |
StatisticsView.get |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
BulkDownloadView.post |
|
88% |
34 |
4 |
0 |
|
90% |
10 |
1 |
|
89% |
| documents/views.py |
StoragePathViewSet.get_permissions |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
StoragePathViewSet.destroy |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| documents/views.py |
StoragePathViewSet.test |
|
20% |
10 |
8 |
0 |
|
0% |
2 |
0 |
|
17% |
| documents/views.py |
UiSettingsView.get |
|
74% |
38 |
10 |
0 |
|
50% |
18 |
5 |
|
66% |
| documents/views.py |
UiSettingsView.post |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
RemoteVersionView.get |
|
72% |
18 |
5 |
0 |
|
75% |
4 |
1 |
|
73% |
| documents/views.py |
_TasksViewSetSchema._get_paginator |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
TasksViewSet.get_serializer_class |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/views.py |
TasksViewSet.paginate_queryset |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| documents/views.py |
TasksViewSet.get_queryset |
|
44% |
18 |
10 |
0 |
|
33% |
12 |
2 |
|
40% |
| documents/views.py |
TasksViewSet.get_status_count_queryset |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| documents/views.py |
TasksViewSet.acknowledge |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
TasksViewSet.get_permissions |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
TasksViewSet.summary |
|
91% |
11 |
1 |
0 |
|
50% |
2 |
1 |
|
85% |
| documents/views.py |
TasksViewSet.status_counts |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
TasksViewSet.active |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
TasksViewSet.run |
|
71% |
14 |
4 |
0 |
|
75% |
4 |
1 |
|
72% |
| documents/views.py |
ShareLinkBundleViewSet.get_permissions |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
ShareLinkBundleViewSet.get_queryset |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
ShareLinkBundleViewSet.create |
|
29% |
28 |
20 |
0 |
|
17% |
6 |
1 |
|
26% |
| documents/views.py |
ShareLinkBundleViewSet.rebuild |
|
7% |
14 |
13 |
0 |
|
0% |
2 |
0 |
|
6% |
| documents/views.py |
SharedLinkView.get |
|
0% |
25 |
25 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/views.py |
serve_file |
|
0% |
21 |
21 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/views.py |
BulkEditObjectsView.post |
|
83% |
46 |
8 |
0 |
|
67% |
18 |
4 |
|
78% |
| documents/views.py |
WorkflowTriggerViewSet.partial_update |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
WorkflowActionViewSet.partial_update |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| documents/views.py |
SystemStatusView.get |
|
62% |
111 |
42 |
0 |
|
41% |
32 |
9 |
|
57% |
| documents/views.py |
TrashView.get |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/views.py |
TrashView.post |
|
73% |
22 |
6 |
0 |
|
64% |
14 |
5 |
|
69% |
| documents/views.py |
serve_logo |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/views.py |
(no function) |
|
99% |
666 |
1 |
0 |
|
50% |
4 |
2 |
|
99% |
| documents/workflows/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/workflows/actions.py |
build_workflow_action_context |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/workflows/actions.py |
execute_email_action |
|
0% |
21 |
21 |
0 |
|
0% |
10 |
0 |
|
0% |
| documents/workflows/actions.py |
execute_webhook_action |
|
0% |
25 |
25 |
0 |
|
0% |
12 |
0 |
|
0% |
| documents/workflows/actions.py |
execute_password_removal_action |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/workflows/actions.py |
execute_password_removal_action.handler |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/workflows/actions.py |
execute_move_to_trash_action |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/workflows/actions.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/workflows/ai.py |
resolve_date |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/workflows/ai.py |
resolve_object |
|
0% |
11 |
11 |
0 |
|
0% |
8 |
0 |
|
0% |
| documents/workflows/ai.py |
resolve_tags |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| documents/workflows/ai.py |
apply_ai_suggestions_to_document |
|
0% |
66 |
66 |
0 |
|
0% |
34 |
0 |
|
0% |
| documents/workflows/ai.py |
apply_ai_suggestions_to_document.should_set |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/workflows/ai.py |
(no function) |
|
0% |
32 |
32 |
0 |
|
100% |
0 |
0 |
|
0% |
| documents/workflows/mutations.py |
apply_assignment_to_document |
|
0% |
30 |
30 |
0 |
|
0% |
24 |
0 |
|
0% |
| documents/workflows/mutations.py |
apply_assignment_to_overrides |
|
0% |
27 |
27 |
0 |
|
0% |
22 |
0 |
|
0% |
| documents/workflows/mutations.py |
apply_removal_to_document |
|
0% |
32 |
32 |
0 |
|
0% |
30 |
0 |
|
0% |
| documents/workflows/mutations.py |
apply_removal_to_overrides |
|
0% |
39 |
39 |
0 |
|
0% |
40 |
0 |
|
0% |
| documents/workflows/mutations.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/workflows/utils.py |
get_workflows_for_trigger |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| documents/workflows/utils.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| documents/workflows/webhooks.py |
send_webhook |
|
0% |
20 |
20 |
0 |
|
0% |
4 |
0 |
|
0% |
| documents/workflows/webhooks.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| manage.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
50% |
2 |
1 |
|
88% |
| paperless/__init__.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/adapter.py |
CustomAccountAdapter.is_open_for_signup |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/adapter.py |
CustomAccountAdapter.pre_authenticate |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/adapter.py |
CustomAccountAdapter.is_safe_url |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| paperless/adapter.py |
CustomAccountAdapter.get_reset_password_from_key_url |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/adapter.py |
CustomAccountAdapter.save_user |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/adapter.py |
CustomSocialAccountAdapter.is_open_for_signup |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/adapter.py |
CustomSocialAccountAdapter.get_connect_redirect_url |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/adapter.py |
CustomSocialAccountAdapter.save_user |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/adapter.py |
CustomSocialAccountAdapter.on_authentication_error |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/adapter.py |
DrfTokenStrategy.create_access_token |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/adapter.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/admin.py |
PaperlessUserForm.clean |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/admin.py |
PaperlessUserAdmin.get_form |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/admin.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/apps.py |
PaperlessConfig.ready |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/apps.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/asgi.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/auth.py |
AutoLoginMiddleware.process_request |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/auth.py |
AngularApiAuthenticationOverride.authenticate |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/auth.py |
HttpRemoteUserMiddleware.__call__ |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/auth.py |
PaperlessBasicAuthentication.authenticate |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| paperless/auth.py |
PaperlessBasicAuthentication.authenticate_header |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless/auth.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/celery.py |
on_worker_process_init |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/celery.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/checks.py |
path_check |
|
55% |
20 |
9 |
0 |
|
67% |
6 |
2 |
|
58% |
| paperless/checks.py |
paths_check |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/checks.py |
binaries_check |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| paperless/checks.py |
debug_mode_check |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| paperless/checks.py |
settings_values_check |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/checks.py |
settings_values_check._ocrmypdf_settings_check |
|
60% |
10 |
4 |
0 |
|
50% |
8 |
4 |
|
56% |
| paperless/checks.py |
settings_values_check._timezone_validate |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| paperless/checks.py |
settings_values_check._email_certificate_validate |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| paperless/checks.py |
audit_log_check |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| paperless/checks.py |
check_v3_minimum_upgrade_version |
|
57% |
21 |
9 |
0 |
|
50% |
8 |
2 |
|
55% |
| paperless/checks.py |
check_deprecated_db_settings |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| paperless/checks.py |
check_deprecated_v2_ocr_env_vars |
|
71% |
7 |
2 |
0 |
|
50% |
4 |
2 |
|
64% |
| paperless/checks.py |
get_tesseract_langs |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/checks.py |
check_default_language_available |
|
73% |
11 |
3 |
0 |
|
62% |
8 |
3 |
|
68% |
| paperless/checks.py |
(no function) |
|
100% |
37 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/config.py |
BaseConfig._get_config_instance |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless/config.py |
OutputTypeConfig.__post_init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/config.py |
OcrConfig.__post_init__ |
|
0% |
22 |
22 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/config.py |
BarcodeConfig.__post_init__ |
|
0% |
14 |
14 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/config.py |
GeneralConfig.__post_init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/config.py |
RemoteOCRConfig.__post_init__ |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/config.py |
RemoteOCRConfig.remote_ocr_by_default |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/config.py |
AIConfig.__post_init__ |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/config.py |
AIConfig.llm_index_enabled |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/config.py |
(no function) |
|
100% |
84 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/consumers.py |
StatusConsumer._authenticated |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/consumers.py |
StatusConsumer._can_view |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/consumers.py |
StatusConsumer.connect |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/consumers.py |
StatusConsumer.disconnect |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/consumers.py |
StatusConsumer._start_heartbeat |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/consumers.py |
StatusConsumer._stop_heartbeat |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/consumers.py |
StatusConsumer._heartbeat_loop |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/consumers.py |
StatusConsumer.status_update |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/consumers.py |
StatusConsumer.documents_deleted |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/consumers.py |
StatusConsumer.document_updated |
|
0% |
4 |
4 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/consumers.py |
(no function) |
|
78% |
27 |
6 |
0 |
|
50% |
2 |
1 |
|
76% |
| paperless/db_cache.py |
custom_get_query_cache_key |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/db_cache.py |
custom_get_table_cache_key |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/db_cache.py |
invalidate_db_cache |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/db_cache.py |
(no function) |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/filters.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/logging.py |
ConsumeTaskFormatter.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/logging.py |
ConsumeTaskFormatter.format |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/logging.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/middleware.py |
StreamAwareCompressionMiddleware.process_response |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| paperless/middleware.py |
ApiVersionMiddleware.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/middleware.py |
ApiVersionMiddleware.__call__ |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless/middleware.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/models.py |
AbstractSingletonModel.save |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/models.py |
ApplicationConfiguration.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/models.py |
(no function) |
|
100% |
101 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/network.py |
is_public_ip |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/network.py |
resolve_hostname_ips |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/network.py |
format_host_for_url |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/network.py |
validate_outbound_http_url |
|
25% |
16 |
12 |
0 |
|
10% |
10 |
1 |
|
19% |
| paperless/network.py |
_rewrite_request_to_pinned_ip |
|
0% |
25 |
25 |
0 |
|
0% |
12 |
0 |
|
0% |
| paperless/network.py |
PinnedHostHTTPTransport.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/network.py |
PinnedHostHTTPTransport.handle_request |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/network.py |
PinnedHostAsyncHTTPTransport.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/network.py |
PinnedHostAsyncHTTPTransport.handle_async_request |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/network.py |
create_pinned_httpx_client |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/network.py |
create_pinned_async_httpx_client |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/network.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/__init__.py |
ParserProtocol.supported_mime_types |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.score |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.can_produce_archive |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.requires_pdf_rendition |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.configure |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.parse |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.get_text |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.get_date |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.get_archive_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.get_thumbnail |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.get_page_count |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.extract_metadata |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.__enter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
ParserProtocol.__exit__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/__init__.py |
(no function) |
|
94% |
48 |
3 |
0 |
|
50% |
2 |
1 |
|
92% |
| paperless/parsers/mail.py |
MailDocumentParser.supported_mime_types |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/mail.py |
MailDocumentParser.score |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.can_produce_archive |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.requires_pdf_rendition |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.__init__ |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.__enter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.__exit__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.configure |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.parse |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.parse.strip_text |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.parse.build_formatted_text |
|
0% |
18 |
18 |
0 |
|
0% |
10 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.get_text |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.get_date |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.get_archive_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.get_thumbnail |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.get_page_count |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.extract_metadata |
|
0% |
18 |
18 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser._settings_to_gotenberg_pdfa |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.parse_file_to_message |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.tika_parse |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.generate_pdf |
|
0% |
27 |
27 |
0 |
|
0% |
12 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.mail_to_html |
|
0% |
29 |
29 |
0 |
|
0% |
14 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.mail_to_html.clean_html |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.generate_pdf_from_mail |
|
0% |
14 |
14 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.generate_pdf_from_html |
|
0% |
28 |
28 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/parsers/mail.py |
MailDocumentParser.generate_pdf_from_html.clean_html_script |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/mail.py |
(no function) |
|
94% |
70 |
4 |
0 |
|
50% |
2 |
1 |
|
93% |
| paperless/parsers/registry.py |
get_parser_registry |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| paperless/parsers/registry.py |
init_builtin_parsers |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/registry.py |
reset_parser_registry |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/registry.py |
ParserRegistry.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/registry.py |
ParserRegistry.register_builtin |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/registry.py |
ParserRegistry.register_defaults |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/registry.py |
ParserRegistry.discover |
|
15% |
13 |
11 |
0 |
|
25% |
4 |
1 |
|
18% |
| paperless/parsers/registry.py |
ParserRegistry.log_summary |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless/parsers/registry.py |
ParserRegistry.all_parsers |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/registry.py |
ParserRegistry.get_parser_for_file |
|
88% |
16 |
2 |
0 |
|
75% |
12 |
3 |
|
82% |
| paperless/parsers/registry.py |
(no function) |
|
92% |
24 |
2 |
0 |
|
50% |
2 |
1 |
|
88% |
| paperless/parsers/remote.py |
RemoteEngineConfig.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/remote.py |
RemoteEngineConfig.from_app_config |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/remote.py |
RemoteEngineConfig.engine_is_valid |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/remote.py |
RemoteDocumentParser.supported_mime_types |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/remote.py |
RemoteDocumentParser.score |
|
50% |
6 |
3 |
0 |
|
25% |
4 |
1 |
|
40% |
| paperless/parsers/remote.py |
RemoteDocumentParser.can_produce_archive |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.requires_pdf_rendition |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.__init__ |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.__enter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.__exit__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.configure |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.parse |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.get_text |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.get_date |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.get_archive_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.get_thumbnail |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.get_page_count |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser.extract_metadata |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser._azure_ai_vision_parse |
|
0% |
32 |
32 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/parsers/remote.py |
RemoteDocumentParser._azure_ai_vision_parse._revalidate_request_host |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/remote.py |
(no function) |
|
90% |
51 |
5 |
0 |
|
50% |
2 |
1 |
|
89% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.supported_mime_types |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.score |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.can_produce_archive |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.requires_pdf_rendition |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.__init__ |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.__enter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.__exit__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.configure |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.get_text |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.get_date |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.get_archive_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.get_thumbnail |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.get_page_count |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.extract_metadata |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.is_image |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.has_alpha |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.remove_alpha |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.get_dpi |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.calculate_a4_dpi |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.extract_text |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.construct_ocrmypdf_parameters |
|
0% |
54 |
54 |
0 |
|
0% |
38 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser._convert_image_to_pdfa |
|
0% |
25 |
25 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser._convert_pdf_to_pdfa |
|
0% |
12 |
12 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser._handle_subprocess_output_error |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
RasterisedDocumentParser.parse |
|
0% |
81 |
81 |
0 |
|
0% |
24 |
0 |
|
0% |
| paperless/parsers/tesseract.py |
(no function) |
|
95% |
74 |
4 |
0 |
|
50% |
2 |
1 |
|
93% |
| paperless/parsers/text.py |
TextDocumentParser.supported_mime_types |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/text.py |
TextDocumentParser.score |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| paperless/parsers/text.py |
TextDocumentParser.can_produce_archive |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.requires_pdf_rendition |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.__enter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.__exit__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.configure |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.parse |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.get_text |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.get_date |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.get_archive_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.get_thumbnail |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.get_page_count |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
TextDocumentParser.extract_metadata |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/text.py |
(no function) |
|
91% |
44 |
4 |
0 |
|
50% |
2 |
1 |
|
89% |
| paperless/parsers/tika.py |
TikaDocumentParser.supported_mime_types |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/parsers/tika.py |
TikaDocumentParser.score |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.can_produce_archive |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.requires_pdf_rendition |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.__init__ |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.__enter__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.__exit__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.configure |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.parse |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.get_text |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.get_date |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.get_archive_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.get_thumbnail |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.get_page_count |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser.extract_metadata |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/tika.py |
TikaDocumentParser._convert_to_pdf |
|
0% |
21 |
21 |
0 |
|
0% |
8 |
0 |
|
0% |
| paperless/parsers/tika.py |
(no function) |
|
92% |
51 |
4 |
0 |
|
50% |
2 |
1 |
|
91% |
| paperless/parsers/utils.py |
is_tagged_pdf |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/utils.py |
extract_pdf_text |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/utils.py |
post_process_text |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/utils.py |
is_born_digital_text |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/parsers/utils.py |
pdf_born_digital_text |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/utils.py |
read_file_handle_unicode_errors |
|
0% |
13 |
13 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/parsers/utils.py |
get_page_count_for_pdf |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/parsers/utils.py |
extract_pdf_metadata |
|
0% |
31 |
31 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless/parsers/utils.py |
(no function) |
|
95% |
20 |
1 |
0 |
|
50% |
2 |
1 |
|
91% |
| paperless/serialisers.py |
PasswordValidationMixin._has_real_password |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/serialisers.py |
PasswordValidationMixin.validate_password |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless/serialisers.py |
PaperlessAuthTokenSerializer.validate |
|
9% |
11 |
10 |
0 |
|
0% |
6 |
0 |
|
6% |
| paperless/serialisers.py |
UserSerializer.get_is_mfa_enabled |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/serialisers.py |
UserSerializer.get_inherited_permissions |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/serialisers.py |
UserSerializer.update |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| paperless/serialisers.py |
UserSerializer.create |
|
88% |
16 |
2 |
0 |
|
80% |
10 |
2 |
|
85% |
| paperless/serialisers.py |
SocialAccountSerializer.get_name |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/serialisers.py |
ProfileSerializer.get_is_mfa_enabled |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/serialisers.py |
ProfileSerializer.get_has_usable_password |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/serialisers.py |
ApplicationConfigurationSerializer.get_externally_configured_variables |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/serialisers.py |
ApplicationConfigurationSerializer._require_json_object |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless/serialisers.py |
ApplicationConfigurationSerializer.validate_user_args |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/serialisers.py |
ApplicationConfigurationSerializer.validate_barcode_tag_mapping |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless/serialisers.py |
ApplicationConfigurationSerializer.run_validation |
|
100% |
15 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| paperless/serialisers.py |
ApplicationConfigurationSerializer.update |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| paperless/serialisers.py |
ApplicationConfigurationSerializer._sanitize_raster_image |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/serialisers.py |
ApplicationConfigurationSerializer.validate_app_logo |
|
25% |
8 |
6 |
0 |
|
17% |
6 |
1 |
|
21% |
| paperless/serialisers.py |
ApplicationConfigurationSerializer.validate_llm_endpoint |
|
86% |
7 |
1 |
0 |
|
100% |
2 |
0 |
|
89% |
| paperless/serialisers.py |
ApplicationConfigurationSerializer.validate_remote_ocr_endpoint |
|
86% |
7 |
1 |
0 |
|
100% |
2 |
0 |
|
89% |
| paperless/serialisers.py |
(no function) |
|
100% |
89 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/settings/__init__.py |
_parse_remote_user_settings |
|
67% |
9 |
3 |
0 |
|
50% |
4 |
2 |
|
62% |
| paperless/settings/__init__.py |
_parse_paperless_url |
|
100% |
6 |
0 |
0 |
|
50% |
2 |
1 |
|
88% |
| paperless/settings/__init__.py |
_get_allauth_trusted_proxy_count |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| paperless/settings/__init__.py |
_parse_cachalot_settings |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/settings/__init__.py |
_parse_caches |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/settings/__init__.py |
default_threads_per_worker |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| paperless/settings/__init__.py |
_get_llm_extra_params |
|
62% |
8 |
3 |
0 |
|
50% |
2 |
1 |
|
60% |
| paperless/settings/__init__.py |
_get_classifier_language_setting |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/settings/__init__.py |
_get_search_language_setting |
|
71% |
7 |
2 |
0 |
|
50% |
2 |
1 |
|
67% |
| paperless/settings/__init__.py |
(no function) |
|
94% |
329 |
20 |
0 |
|
52% |
42 |
20 |
|
89% |
| paperless/settings/custom.py |
parse_hosting_settings |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/settings/custom.py |
parse_redis_url |
|
27% |
15 |
11 |
0 |
|
30% |
10 |
3 |
|
28% |
| paperless/settings/custom.py |
parse_beat_schedule |
|
93% |
14 |
1 |
0 |
|
83% |
6 |
1 |
|
90% |
| paperless/settings/custom.py |
parse_db_settings |
|
46% |
24 |
13 |
0 |
|
29% |
14 |
4 |
|
39% |
| paperless/settings/custom.py |
parse_dateparser_languages |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/settings/custom.py |
parse_ignore_dates |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/settings/custom.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/settings/parsers.py |
str_to_bool |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| paperless/settings/parsers.py |
get_int_from_env |
|
100% |
1 |
0 |
0 |
|
0% |
2 |
2 |
|
33% |
| paperless/settings/parsers.py |
get_int_from_env |
|
100% |
1 |
0 |
0 |
|
0% |
2 |
2 |
|
33% |
| paperless/settings/parsers.py |
get_int_from_env |
|
100% |
1 |
0 |
0 |
|
0% |
2 |
2 |
|
33% |
| paperless/settings/parsers.py |
get_int_from_env |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| paperless/settings/parsers.py |
parse_dict_from_str |
|
21% |
34 |
27 |
0 |
|
6% |
18 |
1 |
|
15% |
| paperless/settings/parsers.py |
parse_dict_from_str._set_nested |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/settings/parsers.py |
parse_dict_from_str._get_nested |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/settings/parsers.py |
parse_dict_from_str._has_nested |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/settings/parsers.py |
get_bool_from_env |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/settings/parsers.py |
get_float_from_env |
|
100% |
1 |
0 |
0 |
|
0% |
2 |
2 |
|
33% |
| paperless/settings/parsers.py |
get_float_from_env |
|
100% |
1 |
0 |
0 |
|
0% |
2 |
2 |
|
33% |
| paperless/settings/parsers.py |
get_float_from_env |
|
100% |
1 |
0 |
0 |
|
0% |
2 |
2 |
|
33% |
| paperless/settings/parsers.py |
get_float_from_env |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| paperless/settings/parsers.py |
get_path_from_env |
|
100% |
1 |
0 |
0 |
|
0% |
2 |
2 |
|
33% |
| paperless/settings/parsers.py |
get_path_from_env |
|
100% |
1 |
0 |
0 |
|
0% |
2 |
2 |
|
33% |
| paperless/settings/parsers.py |
get_path_from_env |
|
100% |
1 |
0 |
0 |
|
0% |
2 |
2 |
|
33% |
| paperless/settings/parsers.py |
get_path_from_env |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| paperless/settings/parsers.py |
get_list_from_env |
|
46% |
13 |
7 |
0 |
|
40% |
10 |
2 |
|
43% |
| paperless/settings/parsers.py |
get_choice_from_env |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/settings/parsers.py |
get_choice_from_env |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/settings/parsers.py |
get_choice_from_env |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/settings/parsers.py |
get_choice_from_env |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| paperless/settings/parsers.py |
(no function) |
|
100% |
32 |
0 |
0 |
|
0% |
6 |
6 |
|
84% |
| paperless/signals.py |
handle_failed_login |
|
80% |
10 |
2 |
0 |
|
50% |
4 |
2 |
|
71% |
| paperless/signals.py |
handle_social_account_updated |
|
0% |
33 |
33 |
0 |
|
0% |
22 |
0 |
|
0% |
| paperless/signals.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/signed_pickle.py |
_get_signing_key |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/signed_pickle.py |
signed_pickle_dumps |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/signed_pickle.py |
signed_pickle_loads |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/signed_pickle.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/urls.py |
(no function) |
|
100% |
96 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/utils.py |
ocr_to_dateparser_languages |
|
0% |
27 |
27 |
0 |
|
0% |
10 |
0 |
|
0% |
| paperless/utils.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/validators.py |
reject_dangerous_svg |
|
0% |
38 |
38 |
0 |
|
0% |
32 |
0 |
|
0% |
| paperless/validators.py |
validate_raster_image |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless/validators.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/version.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/views.py |
StandardPagination._get_api_version |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/views.py |
StandardPagination._should_include_all |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/views.py |
StandardPagination.get_paginated_response |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| paperless/views.py |
StandardPagination.get_all_result_ids |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/views.py |
StandardPagination.get_paginated_response_schema |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| paperless/views.py |
FaviconView.get |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless/views.py |
UserViewSet._parse_requested_bool |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless/views.py |
UserViewSet.create |
|
50% |
8 |
4 |
0 |
|
17% |
6 |
1 |
|
36% |
| paperless/views.py |
UserViewSet.update |
|
70% |
10 |
3 |
0 |
|
50% |
6 |
3 |
|
62% |
| paperless/views.py |
UserViewSet.destroy |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| paperless/views.py |
UserViewSet.deactivate_totp |
|
67% |
9 |
3 |
0 |
|
50% |
4 |
2 |
|
62% |
| paperless/views.py |
ProfileView.get |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/views.py |
ProfileView.patch |
|
100% |
11 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| paperless/views.py |
TOTPView.get |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/views.py |
TOTPView.post |
|
44% |
9 |
5 |
0 |
|
25% |
4 |
1 |
|
38% |
| paperless/views.py |
TOTPView.delete |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| paperless/views.py |
GenerateAuthTokenView.post |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless/views.py |
ApplicationConfigurationViewSet.create |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/views.py |
ApplicationConfigurationViewSet.perform_update |
|
94% |
18 |
1 |
0 |
|
50% |
2 |
1 |
|
90% |
| paperless/views.py |
DisconnectSocialAccountView.post |
|
62% |
8 |
3 |
0 |
|
100% |
0 |
0 |
|
62% |
| paperless/views.py |
SocialAccountProvidersView.get |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| paperless/views.py |
(no function) |
|
100% |
124 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless/wsgi.py |
(no function) |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_ai/ai_classifier.py |
_fulltext_similar_documents |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
get_language_name |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
get_llm_output_language |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
build_prompt_without_rag |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
build_prompt_with_rag |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
build_localization_prompt |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
get_taxonomy_context |
|
0% |
20 |
20 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
parse_ai_response |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
parse_ai_response._choice |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
_candidate_id_allowlist |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
get_ai_document_classification |
|
0% |
13 |
13 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
get_ai_document_classification._localized_choice |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/ai_classifier.py |
(no function) |
|
100% |
37 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_ai/base_model.py |
_truncate_to_field_limit |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/base_model.py |
DocumentClassifierSchema._truncate |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/base_model.py |
model_to_classification_suggestions |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/base_model.py |
model_to_classification_suggestions._choice |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_ai/base_model.py |
classification_suggestions_to_model |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/base_model.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_ai/chat.py |
_build_chat_prompt |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/chat.py |
_build_refine_prompt |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/chat.py |
_build_document_reference |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/chat.py |
_get_document_references |
|
0% |
24 |
24 |
0 |
|
0% |
10 |
0 |
|
0% |
| paperless_ai/chat.py |
_format_chat_metadata_trailer |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/chat.py |
stream_chat_with_documents |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/chat.py |
_stream_chat_with_documents |
|
0% |
35 |
35 |
0 |
|
0% |
10 |
0 |
|
0% |
| paperless_ai/chat.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_ai/client.py |
AIClient.__init__ |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/client.py |
AIClient.get_llm |
|
0% |
19 |
19 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_ai/client.py |
AIClient.run_llm_query |
|
0% |
17 |
17 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/client.py |
AIClient._normalize_errors |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_ai/client.py |
AIClient._is_provider_error |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_ai/client.py |
AIClient._is_openai_timeout |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/client.py |
(no function) |
|
94% |
33 |
2 |
0 |
|
50% |
2 |
1 |
|
91% |
| paperless_ai/db.py |
db_connection_released |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/db.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_ai/embedding.py |
get_embedding_model |
|
0% |
25 |
25 |
0 |
|
0% |
8 |
0 |
|
0% |
| paperless_ai/embedding.py |
get_configured_model_name |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/embedding.py |
_normalize_llm_index_text |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/embedding.py |
build_llm_index_text |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/embedding.py |
(no function) |
|
95% |
21 |
1 |
0 |
|
50% |
2 |
1 |
|
91% |
| paperless_ai/exceptions.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_ai/indexing.py |
queue_llm_index_update_if_needed |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/indexing.py |
get_vector_store |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
_index_rwlock |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
read_store |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
_exclude_readers |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
_with_exclusive_access |
|
0% |
6 |
6 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
write_store |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
_check_and_run_migrations |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_ai/indexing.py |
_safe_related_name |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
build_document_node |
|
0% |
8 |
8 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
load_or_build_index |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
llm_index_exists |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
get_rag_chunk_size |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
get_rag_chunk_overlap |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
get_rag_prompt_helper |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/indexing.py |
_embed_nodes |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/indexing.py |
document_id_filters |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
_exclude_document_id_filter |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
exclude_document_ids_filter |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
update_llm_index |
|
0% |
47 |
47 |
0 |
|
0% |
20 |
0 |
|
0% |
| paperless_ai/indexing.py |
llm_index_add_or_update_document |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_ai/indexing.py |
llm_index_migrate |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_ai/indexing.py |
llm_index_compact |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
llm_index_remove_document |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_ai/indexing.py |
truncate_content |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/indexing.py |
truncate_embedding_query |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/indexing.py |
normalize_document_ids |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/indexing.py |
retrieve_similar_nodes |
|
0% |
33 |
33 |
0 |
|
0% |
16 |
0 |
|
0% |
| paperless_ai/indexing.py |
(no function) |
|
95% |
65 |
3 |
0 |
|
50% |
2 |
1 |
|
94% |
| paperless_ai/matching.py |
_resolve_visible_ids |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/matching.py |
resolve_tag_ids |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
resolve_correspondent_ids |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
resolve_document_type_ids |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
resolve_storage_path_ids |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
_match_by_name |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
match_tags_by_name |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
match_correspondents_by_name |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
match_document_types_by_name |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
match_storage_paths_by_name |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
_normalize |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
_match_names_to_queryset |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| paperless_ai/matching.py |
extract_unmatched_names |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/matching.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_ai/prompts/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_ai/prompts/context.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_ai/prompts/render.py |
render_prompt |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/prompts/render.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_ai/tables.py |
DocumentChunksTable.create |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentChunksTable.insert_many |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentChunksTable.chunk_ids_for_document |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentChunksTable.delete_for_document |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentChunksTable.delete_all |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentChunksTable.count |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentMetaTable.create |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentMetaTable.upsert_many |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentMetaTable.delete_for_document |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentMetaTable.delete_all |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentMetaTable.copy_all |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/tables.py |
DocumentMetaTable.all_modified_times |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable.create |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable._get |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable._set |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable.get_dim |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable.set_dim |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable.get_embed_model |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable.set_embed_model |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable.get_schema_version |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable.set_schema_version |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable.get_total_inserts |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable.increment_total_inserts |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
IndexMetaTable.reset_total_inserts |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/tables.py |
(no function) |
|
0% |
56 |
56 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/taxonomy.py |
empty_taxonomy_candidates |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/taxonomy.py |
_node_document_weights |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_ai/taxonomy.py |
_visible_ranked_candidates |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/taxonomy.py |
build_taxonomy_candidates |
|
0% |
19 |
19 |
0 |
|
0% |
12 |
0 |
|
0% |
| paperless_ai/taxonomy.py |
format_taxonomy_for_prompt |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/taxonomy.py |
(no function) |
|
96% |
28 |
1 |
0 |
|
50% |
2 |
1 |
|
93% |
| paperless_ai/vector_store.py |
_pack |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
_unpack |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
_vec0_params |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
_build_where |
|
0% |
34 |
34 |
0 |
|
0% |
20 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._open_connection |
|
0% |
11 |
11 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.client |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.close |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.__enter__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.__exit__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._transaction |
|
0% |
7 |
7 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.table_exists |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.vector_dim |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.drop_table |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.stored_model_name |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.config_mismatch |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._create_vec_table |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._create_table |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._ensure_table |
|
0% |
2 |
2 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._row |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._index_chunks |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._delete_chunks_by_document_id |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._increment_total_inserts |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.add |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.upsert_document |
|
0% |
14 |
14 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.delete |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._rows_to_nodes |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.get_nodes |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.query |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.get_modified_times |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._db_path |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._rebuild_file |
|
0% |
11 |
11 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.compact |
|
0% |
16 |
16 |
0 |
|
0% |
8 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._rebuild_into |
|
0% |
20 |
20 |
0 |
|
0% |
8 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._swap_in_compact |
|
0% |
7 |
7 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._stored_schema_version |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.has_pending_migration |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore.check_and_run_migrations |
|
0% |
11 |
11 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_ai/vector_store.py |
PaperlessSqliteVecVectorStore._run_structural_migration |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_ai/vector_store.py |
(no function) |
|
0% |
93 |
93 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/admin.py |
(no function) |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/apps.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/filters.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/mail.py |
BaseMailAction.get_criteria |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
BaseMailAction.post_consume |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
DeleteMailAction.post_consume |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
MarkReadMailAction.get_criteria |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
MarkReadMailAction.post_consume |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
MoveMailAction.post_consume |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
FlagMailAction.get_criteria |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
FlagMailAction.post_consume |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
TagMailAction.__init__ |
|
0% |
9 |
9 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_mail/mail.py |
TagMailAction.get_criteria |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_mail/mail.py |
TagMailAction.post_consume |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_mail/mail.py |
mailbox_login |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_mail/mail.py |
apply_mail_action |
|
0% |
20 |
20 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_mail/mail.py |
error_callback |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
queue_consumption_tasks |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
get_rule_action |
|
0% |
11 |
11 |
0 |
|
0% |
10 |
0 |
|
0% |
| paperless_mail/mail.py |
make_criterias |
|
0% |
18 |
18 |
0 |
|
0% |
14 |
0 |
|
0% |
| paperless_mail/mail.py |
PinnedIMAP4.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/mail.py |
PinnedIMAP4._connect_pinned |
|
0% |
10 |
10 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_mail/mail.py |
PinnedIMAP4._create_socket |
|
33% |
6 |
4 |
0 |
|
25% |
4 |
1 |
|
30% |
| paperless_mail/mail.py |
PinnedClientMixin.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/mail.py |
PinnedClientMixin._pinned_client |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/mail.py |
PinnedMailBox._get_mailbox_client |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/mail.py |
PinnedMailBoxUnencrypted._get_mailbox_client |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/mail.py |
PinnedMailBoxStartTls._get_mailbox_client |
|
40% |
5 |
3 |
0 |
|
50% |
2 |
1 |
|
43% |
| paperless_mail/mail.py |
get_mailbox |
|
50% |
20 |
10 |
0 |
|
50% |
14 |
3 |
|
50% |
| paperless_mail/mail.py |
MailAccountHandler.__init__ |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._init_preprocessors |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._init_preprocessor |
|
0% |
6 |
6 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._correspondent_from_name |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._get_title |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._get_uid_validity |
|
0% |
9 |
9 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._get_correspondent |
|
0% |
13 |
13 |
0 |
|
0% |
10 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler.handle_mail_account |
|
0% |
33 |
33 |
0 |
|
0% |
10 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._preprocess_message |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._handle_mail_rule |
|
0% |
69 |
69 |
0 |
|
0% |
26 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._handle_message |
|
0% |
13 |
13 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._record_processed_without_consumption |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler.filename_inclusion_matches |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler.filename_exclusion_matches |
|
0% |
7 |
7 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._process_attachments |
|
0% |
34 |
34 |
0 |
|
0% |
14 |
0 |
|
0% |
| paperless_mail/mail.py |
MailAccountHandler._process_eml |
|
0% |
20 |
20 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_mail/mail.py |
(no function) |
|
100% |
116 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/management/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/management/commands/__init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/management/commands/mail_fetcher.py |
Command.handle |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/management/commands/mail_fetcher.py |
(no function) |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/models.py |
MailAccount.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/models.py |
MailRule.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/models.py |
(no function) |
|
100% |
96 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.gmail_client |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.outlook_client |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.oauth_callback_url |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.oauth_redirect_url |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.get_gmail_authorization_url |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.get_outlook_authorization_url |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.get_gmail_access_token |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.get_outlook_access_token |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.refresh_account_oauth_token |
|
0% |
17 |
17 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_mail/oauth.py |
PaperlessMailOAuth2Manager.validate_state |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/oauth.py |
(no function) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/preprocessor.py |
MailMessagePreprocessor.able_to_run |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/preprocessor.py |
MailMessagePreprocessor.run |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/preprocessor.py |
MailMessageDecryptor.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/preprocessor.py |
MailMessageDecryptor.able_to_run |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_mail/preprocessor.py |
MailMessageDecryptor.run |
|
0% |
15 |
15 |
0 |
|
0% |
6 |
0 |
|
0% |
| paperless_mail/preprocessor.py |
MailMessageDecryptor._to_email_message |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| paperless_mail/preprocessor.py |
MailMessageDecryptor._build_decrypted_message |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| paperless_mail/preprocessor.py |
(no function) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/serialisers.py |
ObfuscatedPasswordField.to_representation |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/serialisers.py |
ObfuscatedPasswordField.to_internal_value |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/serialisers.py |
MailAccountSerializer.update |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless_mail/serialisers.py |
AccountField.get_queryset |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| paperless_mail/serialisers.py |
MailRuleSerializer.update |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/serialisers.py |
MailRuleSerializer.create |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| paperless_mail/serialisers.py |
MailRuleSerializer.validate |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless_mail/serialisers.py |
MailRuleSerializer.validate_account |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| paperless_mail/serialisers.py |
MailRuleSerializer.validate_maximum_age |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless_mail/serialisers.py |
(no function) |
|
100% |
43 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/tasks.py |
process_mail_accounts |
|
0% |
19 |
19 |
0 |
|
0% |
8 |
0 |
|
0% |
| paperless_mail/tasks.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/views.py |
DeleteProcessedMailPermissions.has_permission |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/views.py |
MailAccountViewSet.get_permissions |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| paperless_mail/views.py |
MailAccountViewSet.test |
|
37% |
35 |
22 |
0 |
|
25% |
12 |
3 |
|
34% |
| paperless_mail/views.py |
MailAccountViewSet.process |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| paperless_mail/views.py |
ProcessedMailViewSet.bulk_delete |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| paperless_mail/views.py |
OauthCallbackView.get |
|
22% |
32 |
25 |
0 |
|
20% |
10 |
2 |
|
21% |
| paperless_mail/views.py |
(no function) |
|
100% |
79 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |