Coverage report: 84%

Files Functions Classes

coverage.py v7.6.12, created at 2025-03-20 13:17 -0400

File function statements missing excluded coverage
src/paperap/__init__.py (no function) 6 0 0 100%
src/paperap/auth.py AuthBase.get_auth_headers 1 1 0 0%
src/paperap/auth.py AuthBase.get_auth_params 1 1 0 0%
src/paperap/auth.py TokenAuth.get_auth_headers 1 0 0 100%
src/paperap/auth.py TokenAuth.get_auth_params 1 0 0 100%
src/paperap/auth.py BasicAuth.get_auth_headers 1 0 0 100%
src/paperap/auth.py BasicAuth.get_auth_params 1 0 0 100%
src/paperap/auth.py (no function) 24 0 0 100%
src/paperap/client.py PaperlessClient.__init__ 13 1 0 92%
src/paperap/client.py PaperlessClient.base_url 1 0 0 100%
src/paperap/client.py PaperlessClient.__enter__ 1 0 0 100%
src/paperap/client.py PaperlessClient.__exit__ 1 0 0 100%
src/paperap/client.py PaperlessClient._init_resources 20 0 0 100%
src/paperap/client.py PaperlessClient._initialize_plugins 7 0 0 100%
src/paperap/client.py PaperlessClient._get_auth_params 1 0 0 100%
src/paperap/client.py PaperlessClient.get_headers 3 0 0 100%
src/paperap/client.py PaperlessClient.close 2 0 0 100%
src/paperap/client.py PaperlessClient.request_raw 26 1 0 96%
src/paperap/client.py PaperlessClient._handle_request_errors 13 0 0 100%
src/paperap/client.py PaperlessClient._handle_response 0 0 0 100%
src/paperap/client.py PaperlessClient._handle_response 1 0 0 100%
src/paperap/client.py PaperlessClient._handle_response 0 0 0 100%
src/paperap/client.py PaperlessClient._handle_response 0 0 0 100%
src/paperap/client.py PaperlessClient._handle_response 10 1 0 90%
src/paperap/client.py PaperlessClient.request 0 0 0 100%
src/paperap/client.py PaperlessClient.request 0 0 0 100%
src/paperap/client.py PaperlessClient.request 0 0 0 100%
src/paperap/client.py PaperlessClient.request 8 0 0 100%
src/paperap/client.py PaperlessClient._extract_error_message 19 2 0 89%
src/paperap/client.py PaperlessClient.generate_token 27 7 0 74%
src/paperap/client.py PaperlessClient.get_statistics 3 0 0 100%
src/paperap/client.py PaperlessClient.get_system_status 3 0 0 100%
src/paperap/client.py PaperlessClient.get_config 3 0 0 100%
src/paperap/client.py (no function) 70 0 3 100%
src/paperap/const.py ConstModel.__eq__ 8 0 0 100%
src/paperap/const.py CustomFieldTypes._missing_ 2 2 0 0%
src/paperap/const.py MatchingAlgorithmType._missing_ 2 2 0 0%
src/paperap/const.py ShareLinkFileVersionType._missing_ 2 2 0 0%
src/paperap/const.py StatusType._missing_ 2 2 0 0%
src/paperap/const.py TaskStatusType._missing_ 2 2 0 0%
src/paperap/const.py WorkflowActionType._missing_ 2 2 0 0%
src/paperap/const.py WorkflowTriggerType._missing_ 2 2 0 0%
src/paperap/const.py WorkflowTriggerSourceType._missing_ 2 2 0 0%
src/paperap/const.py (no function) 165 0 0 100%
src/paperap/exceptions.py ModelValidationError.__init__ 3 3 0 0%
src/paperap/exceptions.py APIError.__init__ 6 1 0 83%
src/paperap/exceptions.py ResourceNotFoundError.__init__ 5 1 0 80%
src/paperap/exceptions.py ObjectNotFoundError.__init__ 5 1 0 80%
src/paperap/exceptions.py (no function) 29 0 0 100%
src/paperap/models/__init__.py (no function) 15 0 0 100%
src/paperap/models/abstract/__init__.py (no function) 3 0 0 100%
src/paperap/models/abstract/meta.py StatusContext.model 1 0 0 100%
src/paperap/models/abstract/meta.py StatusContext._model_meta 1 1 0 0%
src/paperap/models/abstract/meta.py StatusContext.new_status 1 0 0 100%
src/paperap/models/abstract/meta.py StatusContext.previous_status 1 0 0 100%
src/paperap/models/abstract/meta.py StatusContext.__init__ 4 0 0 100%
src/paperap/models/abstract/meta.py StatusContext.save_lock 2 0 0 100%
src/paperap/models/abstract/meta.py StatusContext.save_unlock 2 0 0 100%
src/paperap/models/abstract/meta.py StatusContext.__enter__ 4 0 0 100%
src/paperap/models/abstract/meta.py StatusContext.__exit__ 4 0 0 100%
src/paperap/models/abstract/meta.py (no function) 21 0 2 100%
src/paperap/models/abstract/model.py BaseModel.Meta.__init__ 4 1 0 75%
src/paperap/models/abstract/model.py BaseModel.Meta.filter_allowed 17 3 0 82%
src/paperap/models/abstract/model.py BaseModel.__init_subclass__ 41 1 0 98%
src/paperap/models/abstract/model.py BaseModel.__init__ 3 1 0 67%
src/paperap/models/abstract/model.py BaseModel._client 1 0 0 100%
src/paperap/models/abstract/model.py BaseModel.resource 1 1 0 0%
src/paperap/models/abstract/model.py BaseModel.save_executor 3 0 0 100%
src/paperap/models/abstract/model.py BaseModel.cleanup 3 0 0 100%
src/paperap/models/abstract/model.py BaseModel.model_post_init 4 0 0 100%
src/paperap/models/abstract/model.py BaseModel.from_dict 1 0 0 100%
src/paperap/models/abstract/model.py BaseModel.to_dict 2 0 0 100%
src/paperap/models/abstract/model.py BaseModel.dirty_fields 9 0 0 100%
src/paperap/models/abstract/model.py BaseModel.is_dirty 1 0 0 100%
src/paperap/models/abstract/model.py BaseModel.create 1 0 0 100%
src/paperap/models/abstract/model.py BaseModel.update_locally 13 1 0 92%
src/paperap/models/abstract/model.py BaseModel.update 1 1 0 0%
src/paperap/models/abstract/model.py BaseModel.is_new 0 0 0 100%
src/paperap/models/abstract/model.py BaseModel.should_save_on_write 3 0 0 100%
src/paperap/models/abstract/model.py BaseModel.enable_save_on_write 1 1 0 0%
src/paperap/models/abstract/model.py BaseModel.disable_save_on_write 1 1 0 0%
src/paperap/models/abstract/model.py BaseModel.matches_dict 1 1 0 0%
src/paperap/models/abstract/model.py BaseModel.__str__ 1 1 0 0%
src/paperap/models/abstract/model.py StandardModel.update 3 3 0 0%
src/paperap/models/abstract/model.py StandardModel.refresh 7 7 0 0%
src/paperap/models/abstract/model.py StandardModel.save 1 0 0 100%
src/paperap/models/abstract/model.py StandardModel.save_sync 27 13 0 52%
src/paperap/models/abstract/model.py StandardModel.save_async 15 2 0 87%
src/paperap/models/abstract/model.py StandardModel._perform_save_async 4 0 0 100%
src/paperap/models/abstract/model.py StandardModel._handle_save_result_async 35 11 0 69%
src/paperap/models/abstract/model.py StandardModel.is_new 1 0 0 100%
src/paperap/models/abstract/model.py StandardModel._autosave 3 0 0 100%
src/paperap/models/abstract/model.py StandardModel.__setattr__ 5 0 0 100%
src/paperap/models/abstract/model.py StandardModel.__str__ 1 0 0 100%
src/paperap/models/abstract/model.py (no function) 103 0 3 100%
src/paperap/models/abstract/queryset.py BaseQuerySet.__init__ 9 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet._model 1 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet._meta 1 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet._reset 6 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet._update_filters 6 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet.filter 9 1 0 89%
src/paperap/models/abstract/queryset.py BaseQuerySet.exclude 9 1 0 89%
src/paperap/models/abstract/queryset.py BaseQuerySet.get 1 1 0 0%
src/paperap/models/abstract/queryset.py BaseQuerySet.count 12 3 0 75%
src/paperap/models/abstract/queryset.py BaseQuerySet.count_this_page 10 7 0 30%
src/paperap/models/abstract/queryset.py BaseQuerySet.all 1 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet.order_by 10 3 0 70%
src/paperap/models/abstract/queryset.py BaseQuerySet.first 4 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet.last 8 4 0 50%
src/paperap/models/abstract/queryset.py BaseQuerySet.exists 3 1 0 67%
src/paperap/models/abstract/queryset.py BaseQuerySet.none 1 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet.filter_field_by_str 4 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet._fetch_all_results 9 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet._request_iter 5 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet._get_next 12 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet._chain 7 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet.__iter__ 19 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet.__len__ 1 0 0 100%
src/paperap/models/abstract/queryset.py BaseQuerySet.__bool__ 1 1 0 0%
src/paperap/models/abstract/queryset.py BaseQuerySet.__getitem__ 30 10 0 67%
src/paperap/models/abstract/queryset.py BaseQuerySet.__contains__ 3 3 0 0%
src/paperap/models/abstract/queryset.py StandardQuerySet.get 5 0 0 100%
src/paperap/models/abstract/queryset.py StandardQuerySet.id 3 0 0 100%
src/paperap/models/abstract/queryset.py StandardQuerySet.__contains__ 8 2 0 75%
src/paperap/models/abstract/queryset.py StandardQuerySet.bulk_action 6 6 0 0%
src/paperap/models/abstract/queryset.py StandardQuerySet.bulk_delete 1 1 0 0%
src/paperap/models/abstract/queryset.py StandardQuerySet.bulk_update 6 6 0 0%
src/paperap/models/abstract/queryset.py StandardQuerySet.bulk_assign_tags 6 6 0 0%
src/paperap/models/abstract/queryset.py StandardQuerySet.bulk_assign_correspondent 6 6 0 0%
src/paperap/models/abstract/queryset.py StandardQuerySet.bulk_assign_document_type 6 6 0 0%
src/paperap/models/abstract/queryset.py StandardQuerySet.bulk_assign_storage_path 6 6 0 0%
src/paperap/models/abstract/queryset.py StandardQuerySet.bulk_assign_owner 6 6 0 0%
src/paperap/models/abstract/queryset.py (no function) 63 0 3 100%
src/paperap/models/config/__init__.py (no function) 1 1 0 0%
src/paperap/models/config/config.py (no function) 20 20 0 0%
src/paperap/models/correspondent/__init__.py (no function) 2 0 0 100%
src/paperap/models/correspondent/model.py Correspondent.documents 1 0 0 100%
src/paperap/models/correspondent/model.py (no function) 18 0 2 100%
src/paperap/models/correspondent/queryset.py CorrespondentQuerySet.name 1 1 0 0%
src/paperap/models/correspondent/queryset.py CorrespondentQuerySet.matching_algorithm 1 1 0 0%
src/paperap/models/correspondent/queryset.py CorrespondentQuerySet.match 1 1 0 0%
src/paperap/models/correspondent/queryset.py CorrespondentQuerySet.case_insensitive 1 1 0 0%
src/paperap/models/correspondent/queryset.py CorrespondentQuerySet.user_can_change 1 1 0 0%
src/paperap/models/correspondent/queryset.py CorrespondentQuerySet.slug 1 1 0 0%
src/paperap/models/correspondent/queryset.py (no function) 13 0 2 100%
src/paperap/models/custom_field/__init__.py (no function) 2 0 0 100%
src/paperap/models/custom_field/model.py CustomField.documents 1 1 0 0%
src/paperap/models/custom_field/model.py (no function) 15 0 2 100%
src/paperap/models/custom_field/queryset.py CustomFieldQuerySet.name 1 1 0 0%
src/paperap/models/custom_field/queryset.py CustomFieldQuerySet.data_type 1 1 0 0%
src/paperap/models/custom_field/queryset.py CustomFieldQuerySet.extra_data 2 2 0 0%
src/paperap/models/custom_field/queryset.py (no function) 10 0 2 100%
src/paperap/models/document/__init__.py (no function) 5 0 0 100%
src/paperap/models/document/download/__init__.py (no function) 2 0 0 100%
src/paperap/models/document/download/model.py (no function) 18 0 0 100%
src/paperap/models/document/download/queryset.py (no function) 7 0 2 100%
src/paperap/models/document/metadata/__init__.py (no function) 2 0 0 100%
src/paperap/models/document/metadata/model.py (no function) 22 0 0 100%
src/paperap/models/document/metadata/queryset.py (no function) 7 0 2 100%
src/paperap/models/document/model.py DocumentNote.serialize_datetime 1 0 0 100%
src/paperap/models/document/model.py DocumentNote.get_document 1 0 0 100%
src/paperap/models/document/model.py DocumentNote.get_user 1 0 0 100%
src/paperap/models/document/model.py Document.serialize_datetime 1 0 0 100%
src/paperap/models/document/model.py Document.serialize_notes 1 0 0 100%
src/paperap/models/document/model.py Document.validate_tags 7 3 0 57%
src/paperap/models/document/model.py Document.validate_custom_fields 5 1 0 80%
src/paperap/models/document/model.py Document.validate_text 5 1 0 80%
src/paperap/models/document/model.py Document.validate_notes 7 3 0 57%
src/paperap/models/document/model.py Document.validate_is_shared_by_requester 5 1 0 80%
src/paperap/models/document/model.py Document.custom_field_ids 1 0 0 100%
src/paperap/models/document/model.py Document.custom_field_values 1 0 0 100%
src/paperap/models/document/model.py Document.tag_names 1 1 0 0%
src/paperap/models/document/model.py Document.tags 3 0 0 100%
src/paperap/models/document/model.py Document.tags 15 1 0 93%
src/paperap/models/document/model.py Document.correspondent 9 0 0 100%
src/paperap/models/document/model.py Document.correspondent 11 0 0 100%
src/paperap/models/document/model.py Document.document_type 9 0 0 100%
src/paperap/models/document/model.py Document.document_type 11 0 0 100%
src/paperap/models/document/model.py Document.storage_path 9 0 0 100%
src/paperap/models/document/model.py Document.storage_path 11 0 0 100%
src/paperap/models/document/model.py Document.custom_fields 3 3 0 0%
src/paperap/models/document/model.py Document.custom_fields 19 19 0 0%
src/paperap/models/document/model.py Document.has_search_hit 1 1 0 0%
src/paperap/models/document/model.py Document.search_hit 1 1 0 0%
src/paperap/models/document/model.py Document.custom_field_value 6 0 0 100%
src/paperap/models/document/model.py Document.add_tag 12 12 0 0%
src/paperap/models/document/model.py Document.remove_tag 12 12 0 0%
src/paperap/models/document/model.py Document.get_metadata 1 1 0 0%
src/paperap/models/document/model.py Document.download 1 1 0 0%
src/paperap/models/document/model.py Document.preview 1 1 0 0%
src/paperap/models/document/model.py Document.thumbnail 1 1 0 0%
src/paperap/models/document/model.py Document.get_suggestions 1 1 0 0%
src/paperap/models/document/model.py Document.append_content 1 1 0 0%
src/paperap/models/document/model.py Document.update_locally 9 9 0 0%
src/paperap/models/document/model.py (no function) 119 0 10 100%
src/paperap/models/document/queryset.py DocumentQuerySet.tag_id 3 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.tag_name 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.title 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.search 1 1 0 0%
src/paperap/models/document/queryset.py DocumentQuerySet.more_like 1 1 0 0%
src/paperap/models/document/queryset.py DocumentQuerySet.correspondent 22 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.correspondent_id 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.correspondent_name 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.correspondent_slug 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.document_type 19 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.document_type_id 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.document_type_name 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.storage_path 19 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.storage_path_id 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.storage_path_name 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.content 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.added_after 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.added_before 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.asn 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.original_file_name 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.user_can_change 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field_fullsearch 3 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field 7 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.has_custom_field_id 3 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet._normalize_custom_field_query_item 14 2 0 86%
src/paperap/models/document/queryset.py DocumentQuerySet._normalize_custom_field_query 9 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field_query 1 1 0 0%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field_query 1 1 0 0%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field_query 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet._ 2 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet._ 3 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field_range 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field_exact 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field_in 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field_isnull 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field_exists 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.custom_field_contains 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.has_custom_fields 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.no_custom_fields 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.notes 1 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.created_before 3 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.created_after 3 0 0 100%
src/paperap/models/document/queryset.py DocumentQuerySet.created_between 5 0 0 100%
src/paperap/models/document/queryset.py (no function) 65 0 3 100%
src/paperap/models/document/suggestions/__init__.py (no function) 2 0 0 100%
src/paperap/models/document/suggestions/model.py (no function) 12 0 0 100%
src/paperap/models/document/suggestions/queryset.py (no function) 7 0 2 100%
src/paperap/models/document_type/__init__.py (no function) 2 0 0 100%
src/paperap/models/document_type/model.py DocumentType.documents 1 1 0 0%
src/paperap/models/document_type/model.py (no function) 17 0 2 100%
src/paperap/models/document_type/queryset.py DocumentTypeQuerySet.name 1 1 0 0%
src/paperap/models/document_type/queryset.py DocumentTypeQuerySet.slug 1 1 0 0%
src/paperap/models/document_type/queryset.py DocumentTypeQuerySet.match 1 1 0 0%
src/paperap/models/document_type/queryset.py DocumentTypeQuerySet.matching_algorithm 1 1 0 0%
src/paperap/models/document_type/queryset.py DocumentTypeQuerySet.case_insensitive 1 1 0 0%
src/paperap/models/document_type/queryset.py DocumentTypeQuerySet.user_can_change 1 1 0 0%
src/paperap/models/document_type/queryset.py (no function) 13 0 2 100%
src/paperap/models/mixins/__init__.py (no function) 2 0 0 100%
src/paperap/models/mixins/models.py (no function) 5 0 0 100%
src/paperap/models/mixins/queryset.py QuerySetProtocol.all 1 0 0 100%
src/paperap/models/mixins/queryset.py QuerySetProtocol.filter 1 0 0 100%
src/paperap/models/mixins/queryset.py QuerySetProtocol.filter_field_by_str 0 0 0 100%
src/paperap/models/mixins/queryset.py HasDocumentCount.document_count 1 1 0 0%
src/paperap/models/mixins/queryset.py HasDocumentCount.document_count_over 1 1 0 0%
src/paperap/models/mixins/queryset.py HasDocumentCount.document_count_under 1 1 0 0%
src/paperap/models/mixins/queryset.py HasDocumentCount.document_count_between 1 1 0 0%
src/paperap/models/mixins/queryset.py HasOwner.owner 3 3 0 0%
src/paperap/models/mixins/queryset.py HasStandard.name 1 1 0 0%
src/paperap/models/mixins/queryset.py HasStandard.slug 1 1 0 0%
src/paperap/models/mixins/queryset.py (no function) 14 0 2 100%
src/paperap/models/profile/__init__.py (no function) 2 0 0 100%
src/paperap/models/profile/model.py (no function) 15 0 0 100%
src/paperap/models/profile/queryset.py ProfileQuerySet.email 1 1 0 0%
src/paperap/models/profile/queryset.py ProfileQuerySet.first_name 1 1 0 0%
src/paperap/models/profile/queryset.py ProfileQuerySet.last_name 1 1 0 0%
src/paperap/models/profile/queryset.py ProfileQuerySet.has_usable_password 1 1 0 0%
src/paperap/models/profile/queryset.py (no function) 10 0 2 100%
src/paperap/models/responses/__init__.py (no function) 0 0 0 100%
src/paperap/models/responses/list.py (no function) 8 8 0 0%
src/paperap/models/saved_view/__init__.py (no function) 2 0 0 100%
src/paperap/models/saved_view/model.py (no function) 21 0 0 100%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.name 1 1 0 0%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.show_in_sidebar 1 1 0 0%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.show_on_dashboard 1 1 0 0%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.sort_field 1 1 0 0%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.sort_reverse 1 1 0 0%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.page_size 1 1 0 0%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.page_size_under 1 1 0 0%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.page_size_over 1 1 0 0%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.page_size_between 1 1 0 0%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.display_mode 1 1 0 0%
src/paperap/models/saved_view/queryset.py SavedViewQuerySet.user_can_change 1 1 0 0%
src/paperap/models/saved_view/queryset.py (no function) 20 0 2 100%
src/paperap/models/share_links/__init__.py (no function) 2 0 0 100%
src/paperap/models/share_links/model.py ShareLinks.serialize_datetime 1 0 0 100%
src/paperap/models/share_links/model.py ShareLinks.get_document 3 3 0 0%
src/paperap/models/share_links/model.py (no function) 17 0 6 100%
src/paperap/models/share_links/queryset.py ShareLinksQuerySet.expiration_before 1 1 0 0%
src/paperap/models/share_links/queryset.py ShareLinksQuerySet.expiration_after 1 1 0 0%
src/paperap/models/share_links/queryset.py ShareLinksQuerySet.slug 1 1 0 0%
src/paperap/models/share_links/queryset.py ShareLinksQuerySet.document 3 3 0 0%
src/paperap/models/share_links/queryset.py ShareLinksQuerySet.file_version 1 1 0 0%
src/paperap/models/share_links/queryset.py ShareLinksQuerySet.created_before 1 1 0 0%
src/paperap/models/share_links/queryset.py ShareLinksQuerySet.created_after 1 1 0 0%
src/paperap/models/share_links/queryset.py ShareLinksQuerySet.created_between 1 1 0 0%
src/paperap/models/share_links/queryset.py (no function) 15 0 2 100%
src/paperap/models/storage_path/__init__.py (no function) 2 0 0 100%
src/paperap/models/storage_path/model.py StoragePath.documents 1 1 0 0%
src/paperap/models/storage_path/model.py (no function) 18 0 2 100%
src/paperap/models/storage_path/queryset.py StoragePathQuerySet.path 1 1 0 0%
src/paperap/models/storage_path/queryset.py StoragePathQuerySet.match 1 1 0 0%
src/paperap/models/storage_path/queryset.py StoragePathQuerySet.matching_algorithm 1 1 0 0%
src/paperap/models/storage_path/queryset.py StoragePathQuerySet.case_insensitive 1 1 0 0%
src/paperap/models/storage_path/queryset.py StoragePathQuerySet.user_can_change 1 1 0 0%
src/paperap/models/storage_path/queryset.py (no function) 12 0 2 100%
src/paperap/models/tag/__init__.py (no function) 2 0 0 100%
src/paperap/models/tag/model.py Tag.documents 1 0 0 100%
src/paperap/models/tag/model.py (no function) 20 0 2 100%
src/paperap/models/tag/queryset.py TagQuerySet.colour 3 3 0 0%
src/paperap/models/tag/queryset.py TagQuerySet.match 1 1 0 0%
src/paperap/models/tag/queryset.py TagQuerySet.matching_algorithm 1 1 0 0%
src/paperap/models/tag/queryset.py TagQuerySet.case_insensitive 1 1 0 0%
src/paperap/models/tag/queryset.py TagQuerySet.is_inbox_tag 1 1 0 0%
src/paperap/models/tag/queryset.py TagQuerySet.user_can_change 1 1 0 0%
src/paperap/models/tag/queryset.py (no function) 13 0 2 100%
src/paperap/models/task/__init__.py (no function) 2 0 0 100%
src/paperap/models/task/model.py (no function) 15 0 0 100%
src/paperap/models/task/queryset.py TaskQuerySet.task_id 1 0 0 100%
src/paperap/models/task/queryset.py TaskQuerySet.task_file_name 1 0 0 100%
src/paperap/models/task/queryset.py TaskQuerySet.date_done 1 0 0 100%
src/paperap/models/task/queryset.py TaskQuerySet.type 1 0 0 100%
src/paperap/models/task/queryset.py TaskQuerySet.status 1 0 0 100%
src/paperap/models/task/queryset.py TaskQuerySet.result 3 0 0 100%
src/paperap/models/task/queryset.py TaskQuerySet.acknowledged 1 0 0 100%
src/paperap/models/task/queryset.py TaskQuerySet.related_document 3 0 0 100%
src/paperap/models/task/queryset.py (no function) 14 0 2 100%
src/paperap/models/ui_settings/__init__.py (no function) 2 0 0 100%
src/paperap/models/ui_settings/model.py (no function) 11 0 0 100%
src/paperap/models/ui_settings/queryset.py UISettingsQuerySet.has_permission 1 1 0 0%
src/paperap/models/ui_settings/queryset.py (no function) 7 0 2 100%
src/paperap/models/user/__init__.py (no function) 2 0 0 100%
src/paperap/models/user/model.py Group.users 1 1 0 0%
src/paperap/models/user/model.py User.get_groups 1 1 0 0%
src/paperap/models/user/model.py (no function) 28 0 0 100%
src/paperap/models/user/queryset.py UserQuerySet.username 1 1 0 0%
src/paperap/models/user/queryset.py UserQuerySet.email 1 1 0 0%
src/paperap/models/user/queryset.py UserQuerySet.first_name 1 1 0 0%
src/paperap/models/user/queryset.py UserQuerySet.last_name 1 1 0 0%
src/paperap/models/user/queryset.py UserQuerySet.staff 1 1 0 0%
src/paperap/models/user/queryset.py UserQuerySet.active 1 1 0 0%
src/paperap/models/user/queryset.py UserQuerySet.superuser 1 1 0 0%
src/paperap/models/user/queryset.py UserQuerySet.in_group 1 1 0 0%
src/paperap/models/user/queryset.py UserQuerySet.has_permission 1 1 0 0%
src/paperap/models/user/queryset.py UserQuerySet.has_inherited_permission 1 1 0 0%
src/paperap/models/user/queryset.py GroupQuerySet.name 1 1 0 0%
src/paperap/models/user/queryset.py GroupQuerySet.has_permission 1 1 0 0%
src/paperap/models/user/queryset.py (no function) 19 0 2 100%
src/paperap/models/workflow/__init__.py (no function) 2 0 0 100%
src/paperap/models/workflow/model.py (no function) 57 0 0 100%
src/paperap/models/workflow/queryset.py WorkflowQuerySet.name 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowQuerySet.order 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowQuerySet.enabled 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowActionQuerySet.type 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowActionQuerySet.assign_title 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowActionQuerySet.assign_tags 3 3 0 0%
src/paperap/models/workflow/queryset.py WorkflowActionQuerySet.assign_correspondent 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowActionQuerySet.assign_document_type 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowActionQuerySet.assign_storage_path 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowActionQuerySet.assign_owner 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowTriggerQuerySet.type 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowTriggerQuerySet.filter_path 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowTriggerQuerySet.filter_filename 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowTriggerQuerySet.filter_mailrule 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowTriggerQuerySet.has_tags 3 3 0 0%
src/paperap/models/workflow/queryset.py WorkflowTriggerQuerySet.has_correspondent 1 1 0 0%
src/paperap/models/workflow/queryset.py WorkflowTriggerQuerySet.has_document_type 1 1 0 0%
src/paperap/models/workflow/queryset.py (no function) 25 0 2 100%
src/paperap/plugins/__init__.py (no function) 1 0 0 100%
src/paperap/plugins/base.py Plugin.__init_subclass__ 3 0 0 100%
src/paperap/plugins/base.py Plugin.__init__ 2 0 0 100%
src/paperap/plugins/base.py Plugin.client 1 0 0 100%
src/paperap/plugins/base.py Plugin.setup 0 0 0 100%
src/paperap/plugins/base.py Plugin.teardown 0 0 0 100%
src/paperap/plugins/base.py Plugin.get_config_schema 1 0 0 100%
src/paperap/plugins/base.py (no function) 28 0 3 100%
src/paperap/plugins/collect_test_data.py SampleDataCollector.validate_test_dir 11 2 0 82%
src/paperap/plugins/collect_test_data.py SampleDataCollector.setup 3 0 0 100%
src/paperap/plugins/collect_test_data.py SampleDataCollector.teardown 3 0 0 100%
src/paperap/plugins/collect_test_data.py SampleDataCollector._json_serializer 15 1 0 93%
src/paperap/plugins/collect_test_data.py SampleDataCollector._sanitize_response 6 0 0 100%
src/paperap/plugins/collect_test_data.py SampleDataCollector._sanitize_value_recursive 8 0 0 100%
src/paperap/plugins/collect_test_data.py SampleDataCollector.save_response 9 0 0 100%
src/paperap/plugins/collect_test_data.py SampleDataCollector.save_list_response 5 0 0 100%
src/paperap/plugins/collect_test_data.py SampleDataCollector.save_first_item 7 0 0 100%
src/paperap/plugins/collect_test_data.py SampleDataCollector.save_parsed_response 15 0 0 100%
src/paperap/plugins/collect_test_data.py SampleDataCollector.get_config_schema 1 0 0 100%
src/paperap/plugins/collect_test_data.py (no function) 41 0 0 100%
src/paperap/plugins/manager.py PluginManager.enabled_plugins 3 1 0 67%
src/paperap/plugins/manager.py PluginManager.discover_plugins 18 7 0 61%
src/paperap/plugins/manager.py PluginManager.configure 9 2 0 78%
src/paperap/plugins/manager.py PluginManager.get_plugin_config 1 0 0 100%
src/paperap/plugins/manager.py PluginManager.initialize_plugin 15 1 0 93%
src/paperap/plugins/manager.py PluginManager.initialize_all_plugins 7 0 0 100%
src/paperap/plugins/manager.py (no function) 27 0 0 100%
src/paperap/resources/__init__.py (no function) 18 0 0 100%
src/paperap/resources/base.py BaseResource.__init__ 7 0 0 100%
src/paperap/resources/base.py BaseResource.__init_subclass__ 8 1 0 88%
src/paperap/resources/base.py BaseResource._meta 1 0 0 100%
src/paperap/resources/base.py BaseResource._validate_endpoints 14 4 0 71%
src/paperap/resources/base.py BaseResource.all 1 0 0 100%
src/paperap/resources/base.py BaseResource.filter 1 0 0 100%
src/paperap/resources/base.py BaseResource.get 1 1 0 0%
src/paperap/resources/base.py BaseResource.create 10 10 0 0%
src/paperap/resources/base.py BaseResource.update 1 1 0 0%
src/paperap/resources/base.py BaseResource.update_dict 1 1 0 0%
src/paperap/resources/base.py BaseResource.delete 1 1 0 0%
src/paperap/resources/base.py BaseResource.parse_to_model 6 3 0 50%
src/paperap/resources/base.py BaseResource.transform_data_input 4 0 0 100%
src/paperap/resources/base.py BaseResource.transform_data_output 1 0 0 100%
src/paperap/resources/base.py BaseResource.transform_data_output 1 0 0 100%
src/paperap/resources/base.py BaseResource.transform_data_output 8 2 0 75%
src/paperap/resources/base.py BaseResource.create_model 1 0 0 100%
src/paperap/resources/base.py BaseResource.request_raw 7 1 0 86%
src/paperap/resources/base.py BaseResource.handle_response 5 0 0 100%
src/paperap/resources/base.py BaseResource.handle_results 7 2 0 71%
src/paperap/resources/base.py BaseResource.__call__ 1 0 0 100%
src/paperap/resources/base.py StandardResource.get 13 2 0 85%
src/paperap/resources/base.py StandardResource.update 3 3 0 0%
src/paperap/resources/base.py StandardResource.bulk_action 9 9 0 0%
src/paperap/resources/base.py StandardResource.bulk_delete 1 1 0 0%
src/paperap/resources/base.py StandardResource.bulk_update 2 2 0 0%
src/paperap/resources/base.py StandardResource.bulk_assign_tags 2 2 0 0%
src/paperap/resources/base.py StandardResource.bulk_assign_correspondent 1 1 0 0%
src/paperap/resources/base.py StandardResource.bulk_assign_document_type 1 1 0 0%
src/paperap/resources/base.py StandardResource.bulk_assign_storage_path 1 1 0 0%
src/paperap/resources/base.py StandardResource.bulk_assign_owner 1 1 0 0%
src/paperap/resources/base.py StandardResource.delete 7 7 0 0%
src/paperap/resources/base.py StandardResource.update_dict 10 10 0 0%
src/paperap/resources/base.py (no function) 64 0 3 100%
src/paperap/resources/correspondents.py (no function) 6 0 0 100%
src/paperap/resources/custom_fields.py (no function) 7 0 0 100%
src/paperap/resources/document_download.py DownloadedDocumentResource.load 18 18 0 0%
src/paperap/resources/document_download.py (no function) 13 0 0 100%
src/paperap/resources/document_metadata.py (no function) 10 0 0 100%
src/paperap/resources/document_suggestions.py (no function) 10 0 0 100%
src/paperap/resources/document_types.py (no function) 7 0 0 100%
src/paperap/resources/documents.py DocumentResource.download 6 6 0 0%
src/paperap/resources/documents.py DocumentResource.upload 5 5 0 0%
src/paperap/resources/documents.py (no function) 17 0 0 100%
src/paperap/resources/profile.py (no function) 7 0 0 100%
src/paperap/resources/saved_views.py (no function) 7 0 0 100%
src/paperap/resources/share_links.py (no function) 7 0 0 100%
src/paperap/resources/storage_paths.py (no function) 7 0 0 100%
src/paperap/resources/tags.py (no function) 7 0 0 100%
src/paperap/resources/tasks.py TaskResource.acknowledge 1 1 0 0%
src/paperap/resources/tasks.py TaskResource.bulk_acknowledge 1 1 0 0%
src/paperap/resources/tasks.py (no function) 9 0 0 100%
src/paperap/resources/ui_settings.py UISettingsResource.get_current 5 5 0 0%
src/paperap/resources/ui_settings.py UISettingsResource.update_current 5 5 0 0%
src/paperap/resources/ui_settings.py (no function) 10 0 0 100%
src/paperap/resources/users.py UserResource.get_current 3 3 0 0%
src/paperap/resources/users.py (no function) 12 0 0 100%
src/paperap/resources/workflows.py (no function) 15 0 0 100%
src/paperap/scripts/__init__.py (no function) 1 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.progress_bar 3 3 0 0%
src/paperap/scripts/describe.py DescribePhotos.openai_url 1 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.openai_key 1 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.openai_model 1 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.openai 7 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.validate_max_threads 7 1 0 86%
src/paperap/scripts/describe.py DescribePhotos.jinja_env 4 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.choose_template 1 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.get_prompt 9 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.extract_images_from_pdf 34 2 0 94%
src/paperap/scripts/describe.py DescribePhotos.parse_date 3 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.parse_datetime 11 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.standardize_image_contents 7 0 0 100%
src/paperap/scripts/describe.py DescribePhotos._convert_to_png 7 0 0 100%
src/paperap/scripts/describe.py DescribePhotos._send_describe_request 25 4 0 84%
src/paperap/scripts/describe.py DescribePhotos.convert_image_to_jpg 9 0 0 100%
src/paperap/scripts/describe.py DescribePhotos.describe_document 32 9 0 72%
src/paperap/scripts/describe.py DescribePhotos.process_response 43 32 0 26%
src/paperap/scripts/describe.py DescribePhotos.describe_documents 12 1 0 92%
src/paperap/scripts/describe.py main 35 0 0 100%
src/paperap/scripts/describe.py (no function) 91 1 0 99%
src/paperap/scripts/utils.py ProgressBar.__call__ 1 0 0 100%
src/paperap/scripts/utils.py ProgressBar.text 1 0 0 100%
src/paperap/scripts/utils.py setup_logging 13 13 0 0%
src/paperap/scripts/utils.py setup_logging.CustomFormatter.format 2 2 0 0%
src/paperap/scripts/utils.py (no function) 6 0 0 100%
src/paperap/settings.py Settings.validate_url 3 1 0 67%
src/paperap/settings.py Settings.validate_timeout 10 0 0 100%
src/paperap/settings.py Settings.model_post_init 7 1 0 86%
src/paperap/settings.py (no function) 33 0 0 100%
src/paperap/signals.py Signal.__init__ 5 0 0 100%
src/paperap/signals.py Signal.connect 3 0 0 100%
src/paperap/signals.py Signal.disconnect 3 0 0 100%
src/paperap/signals.py Signal.emit 1 0 0 100%
src/paperap/signals.py Signal.emit 1 0 0 100%
src/paperap/signals.py Signal.emit 11 0 0 100%
src/paperap/signals.py Signal.disable 1 0 0 100%
src/paperap/signals.py Signal.enable 2 0 0 100%
src/paperap/signals.py SignalRegistry.__init__ 3 0 0 100%
src/paperap/signals.py SignalRegistry.__new__ 3 0 0 100%
src/paperap/signals.py SignalRegistry.get_instance 3 0 0 100%
src/paperap/signals.py SignalRegistry.register 9 1 0 89%
src/paperap/signals.py SignalRegistry.queue_action 6 0 0 100%
src/paperap/signals.py SignalRegistry.get 1 0 0 100%
src/paperap/signals.py SignalRegistry.list_signals 1 0 0 100%
src/paperap/signals.py SignalRegistry.create 3 0 0 100%
src/paperap/signals.py SignalRegistry.emit 0 0 0 100%
src/paperap/signals.py SignalRegistry.emit 0 0 0 100%
src/paperap/signals.py SignalRegistry.emit 0 0 0 100%
src/paperap/signals.py SignalRegistry.emit 5 0 0 100%
src/paperap/signals.py SignalRegistry.connect 3 0 0 100%
src/paperap/signals.py SignalRegistry.disconnect 3 0 0 100%
src/paperap/signals.py SignalRegistry.disable 3 0 0 100%
src/paperap/signals.py SignalRegistry.enable 3 1 0 67%
src/paperap/signals.py SignalRegistry.is_queued 7 2 0 71%
src/paperap/signals.py (no function) 59 0 0 100%
src/paperap/utils.py datetime_to_str 3 3 0 0%
src/paperap/utils.py parse_filter_params 9 9 0 0%
src/paperap/utils.py (no function) 7 7 0 0%
Total   3633 598 78 84%

No items found using the specified filter.