{ "errors": [ { "line": 94, "column": 5, "stop_line": 94, "stop_column": 31, "path": "src/documents/admin.py", "code": -2, "name": "missing-attribute", "description": "Object of class `FunctionType` has no attribute `short_description`", "concise_description": "Object of class `FunctionType` has no attribute `short_description`", "severity": "error" }, { "line": 245, "column": 27, "stop_line": 245, "stop_column": 35, "path": "src/documents/admin.py", "code": -2, "name": "unbound-name", "description": "`LogEntry` may be uninitialized", "concise_description": "`LogEntry` may be uninitialized", "severity": "error" }, { "line": 246, "column": 25, "stop_line": 246, "stop_column": 33, "path": "src/documents/admin.py", "code": -2, "name": "unbound-name", "description": "`LogEntry` may be uninitialized", "concise_description": "`LogEntry` may be uninitialized", "severity": "error" }, { "line": 239, "column": 16, "stop_line": 239, "stop_column": 24, "path": "src/documents/barcodes.py", "code": -2, "name": "missing-import", "description": "Cannot find module `zxingcpp`\n Looked in these locations (from config in `/home/trenton/projects/paperless-ngx/pyproject.toml`):\n Search path (from config file): [\"/home/trenton/projects/paperless-ngx/src\"]\n Import root (inferred from project layout): \"/home/trenton/projects/paperless-ngx/src\"\n Site package path queried from interpreter: [\"/home/trenton/.local/share/uv/python/cpython-3.13.4-linux-x86_64-gnu/lib/python3.13\", \"/home/trenton/.local/share/uv/python/cpython-3.13.4-linux-x86_64-gnu/lib/python3.13/lib-dynload\", \"/home/trenton/projects/paperless-ngx/.venv/lib/python3.13/site-packages\"]", "concise_description": "Cannot find module `zxingcpp`", "severity": "error" }, { "line": 323, "column": 38, "stop_line": 323, "stop_column": 51, "path": "src/documents/barcodes.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Image` has no attribute `filename`", "concise_description": "Object of class `Image` has no attribute `filename`", "severity": "error" }, { "line": 77, "column": 9, "stop_line": 77, "stop_column": 21, "path": "src/documents/bulk_download.py", "code": -2, "name": "bad-override", "description": "Class member `OriginalsOnlyStrategy.add_document` overrides parent class `BulkArchiveStrategy` in an inconsistent manner\n `OriginalsOnlyStrategy.add_document` has type `BoundMethod[OriginalsOnlyStrategy, (self: OriginalsOnlyStrategy, doc: Document) -> None]`, which is not assignable to `BoundMethod[OriginalsOnlyStrategy, (self: OriginalsOnlyStrategy, doc: Document) -> NoReturn]`, the type of `BulkArchiveStrategy.add_document`", "concise_description": "Class member `OriginalsOnlyStrategy.add_document` overrides parent class `BulkArchiveStrategy` in an inconsistent manner", "severity": "error" }, { "line": 82, "column": 9, "stop_line": 82, "stop_column": 21, "path": "src/documents/bulk_download.py", "code": -2, "name": "bad-override", "description": "Class member `ArchiveOnlyStrategy.add_document` overrides parent class `BulkArchiveStrategy` in an inconsistent manner\n `ArchiveOnlyStrategy.add_document` has type `BoundMethod[ArchiveOnlyStrategy, (self: ArchiveOnlyStrategy, doc: Document) -> None]`, which is not assignable to `BoundMethod[ArchiveOnlyStrategy, (self: ArchiveOnlyStrategy, doc: Document) -> NoReturn]`, the type of `BulkArchiveStrategy.add_document`", "concise_description": "Class member `ArchiveOnlyStrategy.add_document` overrides parent class `BulkArchiveStrategy` in an inconsistent manner", "severity": "error" }, { "line": 95, "column": 9, "stop_line": 95, "stop_column": 21, "path": "src/documents/bulk_download.py", "code": -2, "name": "bad-override", "description": "Class member `OriginalAndArchiveStrategy.add_document` overrides parent class `BulkArchiveStrategy` in an inconsistent manner\n `OriginalAndArchiveStrategy.add_document` has type `BoundMethod[OriginalAndArchiveStrategy, (self: OriginalAndArchiveStrategy, doc: Document) -> None]`, which is not assignable to `BoundMethod[OriginalAndArchiveStrategy, (self: OriginalAndArchiveStrategy, doc: Document) -> NoReturn]`, the type of `BulkArchiveStrategy.add_document`", "concise_description": "Class member `OriginalAndArchiveStrategy.add_document` overrides parent class `BulkArchiveStrategy` in an inconsistent manner", "severity": "error" }, { "line": 200, "column": 16, "stop_line": 200, "stop_column": 23, "path": "src/documents/bulk_edit.py", "code": -2, "name": "bad-return", "description": "Returned type `Literal['ERROR']` is not assignable to declared return type `Literal['OK']`", "concise_description": "Returned type `Literal['ERROR']` is not assignable to declared return type `Literal['OK']`", "severity": "error" }, { "line": 214, "column": 9, "stop_line": 216, "stop_column": 60, "path": "src/documents/bulk_edit.py", "code": -2, "name": "bad-assignment", "description": "`dict_items[Unknown, Unknown] | list[tuple[int, None]]` is not assignable to variable `add_custom_fields` with type `dict[Unknown, Unknown] | list[int]`", "concise_description": "`dict_items[Unknown, Unknown] | list[tuple[int, None]]` is not assignable to variable `add_custom_fields` with type `dict[Unknown, Unknown] | list[int]`", "severity": "error" }, { "line": 220, "column": 32, "stop_line": 220, "stop_column": 40, "path": "src/documents/bulk_edit.py", "code": -2, "name": "not-iterable", "description": "Type `int` is not iterable", "concise_description": "Type `int` is not iterable", "severity": "error" }, { "line": 222, "column": 9, "stop_line": 222, "stop_column": 24, "path": "src/documents/bulk_edit.py", "code": -2, "name": "not-iterable", "description": "Type `int` is not iterable", "concise_description": "Type `int` is not iterable", "severity": "error" }, { "line": 228, "column": 21, "stop_line": 228, "stop_column": 43, "path": "src/documents/bulk_edit.py", "code": -2, "name": "bad-index", "description": "Cannot index into `dict[CustomField.FieldDataType, str]`\n Argument `str` is not assignable to parameter `key` with type `CustomField.FieldDataType` in function `dict.__getitem__`", "concise_description": "Cannot index into `dict[CustomField.FieldDataType, str]`", "severity": "error" }, { "line": 264, "column": 5, "stop_line": 267, "stop_column": 18, "path": "src/documents/bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `QuerySet` has no attribute `hard_delete`", "concise_description": "Object of class `QuerySet` has no attribute `hard_delete`", "severity": "error" }, { "line": 536, "column": 33, "stop_line": 536, "stop_column": 63, "path": "src/documents/bulk_edit.py", "code": -2, "name": "missing-argument", "description": "Missing argument `p` in function `pikepdf._core.PageList.remove`", "concise_description": "Missing argument `p` in function `pikepdf._core.PageList.remove`", "severity": "error" }, { "line": 772, "column": 13, "stop_line": 772, "stop_column": 64, "path": "src/documents/bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `append`", "concise_description": "Object of class `NoneType` has no attribute `append`", "severity": "error" }, { "line": 180, "column": 25, "stop_line": 180, "stop_column": 55, "path": "src/documents/caching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `bytes | None` is not assignable to parameter `data` with type `Buffer` in function `binascii.hexlify`\n Protocol `Buffer` requires attribute `__buffer__`", "concise_description": "Argument `bytes | None` is not assignable to parameter `data` with type `Buffer` in function `binascii.hexlify`", "severity": "error" }, { "line": 27, "column": 1, "stop_line": 27, "stop_column": 12, "path": "src/documents/checks.py", "code": -2, "name": "bad-specialization", "description": "`(app_configs: Unknown, **kwargs: Unknown) -> list[django.core.checks.messages.Warning | builtins.Warning] | list[Unknown]` is not assignable to upper bound `_CheckCallable` of type variable `_C`", "concise_description": "`(app_configs: Unknown, **kwargs: Unknown) -> list[django.core.checks.messages.Warning | builtins.Warning] | list[Unknown]` is not assignable to upper bound `_CheckCallable` of type variable `_C`", "severity": "error" }, { "line": 37, "column": 21, "stop_line": 37, "stop_column": 25, "path": "src/documents/checks.py", "code": -2, "name": "unexpected-keyword", "description": "Unexpected keyword argument `hint` in function `BaseException.__init__`", "concise_description": "Unexpected keyword argument `hint` in function `BaseException.__init__`", "severity": "error" }, { "line": 131, "column": 40, "stop_line": 131, "stop_column": 66, "path": "src/documents/classifier.py", "code": -2, "name": "missing-module-attribute", "description": "Could not import `InconsistentVersionWarning` from `sklearn.exceptions`", "concise_description": "Could not import `InconsistentVersionWarning` from `sklearn.exceptions`", "severity": "error" }, { "line": 307, "column": 36, "stop_line": 309, "stop_column": 10, "path": "src/documents/classifier.py", "code": -2, "name": "bad-assignment", "description": "`ndarray[tuple[Any, ...], dtype[Any]] | spmatrix` is not assignable to `ndarray[tuple[Any, ...], dtype[Any]]`", "concise_description": "`ndarray[tuple[Any, ...], dtype[Any]] | spmatrix` is not assignable to `ndarray[tuple[Any, ...], dtype[Any]]`", "severity": "error" }, { "line": 314, "column": 44, "stop_line": 314, "stop_column": 48, "path": "src/documents/classifier.py", "code": -2, "name": "bad-assignment", "description": "`None` is not assignable to attribute `stop_words_` with type `set[Unknown]`", "concise_description": "`None` is not assignable to attribute `stop_words_` with type `set[Unknown]`", "severity": "error" }, { "line": 327, "column": 51, "stop_line": 329, "stop_column": 24, "path": "src/documents/classifier.py", "code": -2, "name": "missing-attribute", "description": "Object of class `spmatrix` has no attribute `ravel`", "concise_description": "Object of class `spmatrix` has no attribute `ravel`", "severity": "error" }, { "line": 332, "column": 42, "stop_line": 332, "stop_column": 88, "path": "src/documents/classifier.py", "code": -2, "name": "bad-assignment", "description": "`ndarray[tuple[Any, ...], dtype[Any]] | spmatrix` is not assignable to variable `labels_tags_vectorized` with type `ndarray[tuple[Any, ...], dtype[Any]]`", "concise_description": "`ndarray[tuple[Any, ...], dtype[Any]] | spmatrix` is not assignable to variable `labels_tags_vectorized` with type `ndarray[tuple[Any, ...], dtype[Any]]`", "severity": "error" }, { "line": 424, "column": 18, "stop_line": 424, "stop_column": 42, "path": "src/documents/classifier.py", "code": -2, "name": "not-iterable", "description": "`in` is not supported between `str` and `None`", "concise_description": "`in` is not supported between `str` and `None`", "severity": "error" }, { "line": 430, "column": 26, "stop_line": 430, "stop_column": 44, "path": "src/documents/classifier.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `stem`", "concise_description": "Object of class `NoneType` has no attribute `stem`", "severity": "error" }, { "line": 487, "column": 22, "stop_line": 487, "stop_column": 52, "path": "src/documents/classifier.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `transform`", "concise_description": "Object of class `NoneType` has no attribute `transform`", "severity": "error" }, { "line": 522, "column": 24, "stop_line": 522, "stop_column": 61, "path": "src/documents/classifier.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `inverse_transform`", "concise_description": "Object of class `NoneType` has no attribute `inverse_transform`", "severity": "error" }, { "line": 79, "column": 5, "stop_line": 79, "stop_column": 16, "path": "src/documents/conditionals.py", "code": -2, "name": "unreachable", "description": "This `return` statement is unreachable", "concise_description": "This `return` statement is unreachable", "severity": "error" }, { "line": 93, "column": 5, "stop_line": 93, "stop_column": 16, "path": "src/documents/conditionals.py", "code": -2, "name": "unreachable", "description": "This `return` statement is unreachable", "concise_description": "This `return` statement is unreachable", "severity": "error" }, { "line": 109, "column": 5, "stop_line": 109, "stop_column": 16, "path": "src/documents/conditionals.py", "code": -2, "name": "unreachable", "description": "This `return` statement is unreachable", "concise_description": "This `return` statement is unreachable", "severity": "error" }, { "line": 122, "column": 5, "stop_line": 122, "stop_column": 16, "path": "src/documents/conditionals.py", "code": -2, "name": "unreachable", "description": "This `return` statement is unreachable", "concise_description": "This `return` statement is unreachable", "severity": "error" }, { "line": 68, "column": 9, "stop_line": 68, "stop_column": 23, "path": "src/documents/consumer.py", "code": -2, "name": "not-iterable", "description": "Type `None` is not iterable", "concise_description": "Type `None` is not iterable", "severity": "error" }, { "line": 113, "column": 26, "stop_line": 113, "stop_column": 35, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-count", "description": "Expected 0 positional arguments, got 5 in function `object.__init__`", "concise_description": "Expected 0 positional arguments, got 5 in function `object.__init__`", "severity": "error" }, { "line": 115, "column": 9, "stop_line": 115, "stop_column": 33, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `renew_logging_group`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `renew_logging_group`", "severity": "error" }, { "line": 117, "column": 25, "stop_line": 117, "stop_column": 38, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "severity": "error" }, { "line": 117, "column": 51, "stop_line": 117, "stop_column": 65, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `input_doc`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `input_doc`", "severity": "error" }, { "line": 127, "column": 9, "stop_line": 127, "stop_column": 24, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `status_mgr`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `status_mgr`", "severity": "error" }, { "line": 134, "column": 29, "stop_line": 134, "stop_column": 42, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "severity": "error" }, { "line": 134, "column": 55, "stop_line": 134, "stop_column": 68, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "severity": "error" }, { "line": 135, "column": 36, "stop_line": 135, "stop_column": 49, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "severity": "error" }, { "line": 136, "column": 20, "stop_line": 136, "stop_column": 33, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "severity": "error" }, { "line": 137, "column": 37, "stop_line": 137, "stop_column": 50, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "severity": "error" }, { "line": 138, "column": 20, "stop_line": 138, "stop_column": 33, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `metadata`", "severity": "error" }, { "line": 150, "column": 9, "stop_line": 150, "stop_column": 17, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumerPluginMixin` has no attribute `log`", "concise_description": "Object of class `ConsumerPluginMixin` has no attribute `log`", "severity": "error" }, { "line": 196, "column": 17, "stop_line": 196, "stop_column": 25, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `LoggerAdapter` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`", "concise_description": "Argument `LoggerAdapter` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`", "severity": "error" }, { "line": 273, "column": 17, "stop_line": 273, "stop_column": 25, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `LoggerAdapter` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`", "concise_description": "Argument `LoggerAdapter` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`", "severity": "error" }, { "line": 321, "column": 25, "stop_line": 325, "stop_column": 26, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[Path | str]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`", "concise_description": "Argument `list[Path | str]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`", "severity": "error" }, { "line": 326, "column": 32, "stop_line": 326, "stop_column": 40, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `LoggerAdapter` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`", "concise_description": "Argument `LoggerAdapter` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`", "severity": "error" }, { "line": 436, "column": 66, "stop_line": 436, "stop_column": 70, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `content` with type `str` in function `documents.plugins.date_parsing.base.DateParserPluginBase.parse`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `content` with type `str` in function `documents.plugins.date_parsing.base.DateParserPluginBase.parse`", "severity": "error" }, { "line": 481, "column": 26, "stop_line": 481, "stop_column": 30, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `text` with type `str` in function `ConsumerPlugin._store`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `text` with type `str` in function `ConsumerPlugin._store`", "severity": "error" }, { "line": 523, "column": 54, "stop_line": 523, "stop_column": 75, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `source_path` with type `Path` in function `documents.file_handling.create_source_path_directory`", "concise_description": "Argument `Path | None` is not assignable to parameter `source_path` with type `Path` in function `documents.file_handling.create_source_path_directory`", "severity": "error" }, { "line": 610, "column": 13, "stop_line": 610, "stop_column": 31, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `correspondent_name` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "concise_description": "Argument `str | None` is not assignable to parameter `correspondent_name` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "severity": "error" }, { "line": 611, "column": 13, "stop_line": 611, "stop_column": 26, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `doc_type_name` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "concise_description": "Argument `str | None` is not assignable to parameter `doc_type_name` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "severity": "error" }, { "line": 612, "column": 13, "stop_line": 612, "stop_column": 27, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `owner_username` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "concise_description": "Argument `str | None` is not assignable to parameter `owner_username` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "severity": "error" }, { "line": 731, "column": 31, "stop_line": 731, "stop_column": 46, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `data_type` with type `CustomField.FieldDataType` in function `documents.models.CustomFieldInstance.get_value_field_name`", "concise_description": "Argument `str` is not assignable to parameter `data_type` with type `CustomField.FieldDataType` in function `documents.models.CustomFieldInstance.get_value_field_name`", "severity": "error" }, { "line": 804, "column": 21, "stop_line": 804, "stop_column": 36, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 805, "column": 24, "stop_line": 805, "stop_column": 51, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `original_filename`", "concise_description": "Object of class `NoneType` has no attribute `original_filename`", "severity": "error" }, { "line": 806, "column": 30, "stop_line": 806, "stop_column": 48, "path": "src/documents/consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `object | Unknown` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `object | Unknown` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 806, "column": 58, "stop_line": 806, "stop_column": 76, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filename`", "concise_description": "Object of class `NoneType` has no attribute `filename`", "severity": "error" }, { "line": 807, "column": 28, "stop_line": 807, "stop_column": 40, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `pk`", "concise_description": "Object of class `NoneType` has no attribute `pk`", "severity": "error" }, { "line": 814, "column": 65, "stop_line": 814, "stop_column": 77, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `pk`", "concise_description": "Object of class `NoneType` has no attribute `pk`", "severity": "error" }, { "line": 891, "column": 16, "stop_line": 891, "stop_column": 51, "path": "src/documents/consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `deleted_at`", "concise_description": "Object of class `NoneType` has no attribute `deleted_at`", "severity": "error" }, { "line": 31, "column": 13, "stop_line": 37, "stop_column": 14, "path": "src/documents/converters.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[Path | str]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`", "concise_description": "Argument `list[Path | str]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`", "severity": "error" }, { "line": 46, "column": 24, "stop_line": 46, "stop_column": 49, "path": "src/documents/converters.py", "code": -2, "name": "bad-argument-type", "description": "Argument `bytes | None` is not assignable to parameter `buffer` with type `Buffer` in function `_io.BufferedWriter.write`\n Protocol `Buffer` requires attribute `__buffer__`", "concise_description": "Argument `bytes | None` is not assignable to parameter `buffer` with type `Buffer` in function `_io.BufferedWriter.write`", "severity": "error" }, { "line": 109, "column": 13, "stop_line": 112, "stop_column": 26, "path": "src/documents/data_models.py", "code": -2, "name": "missing-attribute", "description": "Object of class `list` has no attribute `values_list`", "concise_description": "Object of class `list` has no attribute `values_list`", "severity": "error" }, { "line": 115, "column": 13, "stop_line": 118, "stop_column": 26, "path": "src/documents/data_models.py", "code": -2, "name": "missing-attribute", "description": "Object of class `list` has no attribute `values_list`", "concise_description": "Object of class `list` has no attribute `values_list`", "severity": "error" }, { "line": 131, "column": 26, "stop_line": 131, "stop_column": 43, "path": "src/documents/data_models.py", "code": -2, "name": "not-iterable", "description": "Type `Group` is not iterable", "concise_description": "Type `Group` is not iterable", "severity": "error" }, { "line": 132, "column": 35, "stop_line": 132, "stop_column": 59, "path": "src/documents/data_models.py", "code": -2, "name": "bad-index", "description": "Cannot index into `Group`\n Object of class `Group` has no attribute `__getitem__`", "concise_description": "Cannot index into `Group`", "severity": "error" }, { "line": 136, "column": 26, "stop_line": 136, "stop_column": 43, "path": "src/documents/data_models.py", "code": -2, "name": "not-iterable", "description": "Type `Group` is not iterable", "concise_description": "Type `Group` is not iterable", "severity": "error" }, { "line": 137, "column": 37, "stop_line": 137, "stop_column": 61, "path": "src/documents/data_models.py", "code": -2, "name": "bad-index", "description": "Cannot index into `Group`\n Object of class `Group` has no attribute `__getitem__`", "concise_description": "Cannot index into `Group`", "severity": "error" }, { "line": 165, "column": 22, "stop_line": 165, "stop_column": 65, "path": "src/documents/data_models.py", "code": -2, "name": "bad-assignment", "description": "`None` is not assignable to `str`", "concise_description": "`None` is not assignable to `str`", "severity": "error" }, { "line": 174, "column": 51, "stop_line": 174, "stop_column": 61, "path": "src/documents/filters.py", "code": -2, "name": "missing-attribute", "description": "Object of class `SharedByUser` has no attribute `model`", "concise_description": "Object of class `SharedByUser` has no attribute `model`", "severity": "error" }, { "line": 227, "column": 31, "stop_line": 227, "stop_column": 51, "path": "src/documents/filters.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get`", "concise_description": "Object of class `NoneType` has no attribute `get`", "severity": "error" }, { "line": 259, "column": 25, "stop_line": 259, "stop_column": 66, "path": "src/documents/filters.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 286, "column": 47, "stop_line": 286, "stop_column": 76, "path": "src/documents/filters.py", "code": -2, "name": "bad-argument-type", "description": "Argument `dict[Unknown | None, Unknown]` is not assignable to parameter `detail` with type `ErrorDetail | Mapping[str, Unknown] | Sequence[Unknown] | _StrPromise | dict[str, Unknown] | list[Unknown] | str | None` in function `rest_framework.exceptions.APIException.__init__`", "concise_description": "Argument `dict[Unknown | None, Unknown]` is not assignable to parameter `detail` with type `ErrorDetail | Mapping[str, Unknown] | Sequence[Unknown] | _StrPromise | dict[str, Unknown] | list[Unknown] | str | None` in function `rest_framework.exceptions.APIException.__init__`", "severity": "error" }, { "line": 295, "column": 5, "stop_line": 295, "stop_column": 26, "path": "src/documents/filters.py", "code": -2, "name": "missing-attribute", "description": "Object of class `FunctionType` has no attribute `__signature__`", "concise_description": "Object of class `FunctionType` has no attribute `__signature__`", "severity": "error" }, { "line": 600, "column": 26, "stop_line": 600, "stop_column": 49, "path": "src/documents/filters.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ForeignObjectRel` has no attribute `deconstruct`\nObject of class `GenericForeignKey` has no attribute `deconstruct`", "concise_description": "Object of class `ForeignObjectRel` has no attribute `deconstruct`\nObject of class `GenericForeignKey` has no attribute `deconstruct`", "severity": "error" }, { "line": 603, "column": 17, "stop_line": 603, "stop_column": 28, "path": "src/documents/filters.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Field[Unknown, Unknown] | ForeignObjectRel | GenericForeignKey` is not assignable to parameter `model_field` with type `Field[Unknown, Unknown]` in function `rest_framework.serializers.ModelSerializer.build_standard_field`", "concise_description": "Argument `Field[Unknown, Unknown] | ForeignObjectRel | GenericForeignKey` is not assignable to parameter `model_field` with type `Field[Unknown, Unknown]` in function `rest_framework.serializers.ModelSerializer.build_standard_field`", "severity": "error" }, { "line": 660, "column": 17, "stop_line": 660, "stop_column": 42, "path": "src/documents/filters.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `set.__init__` called with arguments: (Any | None)\n Possible overloads:\n () -> None\n (iterable: Iterable[_T], /) -> None [closest match]", "concise_description": "No matching overload found for function `set.__init__` called with arguments: (Any | None)", "severity": "error" }, { "line": 845, "column": 9, "stop_line": 845, "stop_column": 24, "path": "src/documents/filters.py", "code": -2, "name": "bad-override", "description": "Class member `ObjectOwnedOrGrantedPermissionsFilter.filter_queryset` overrides parent class `ObjectPermissionsFilter` in an inconsistent manner\n `ObjectOwnedOrGrantedPermissionsFilter.filter_queryset` has type `BoundMethod[ObjectOwnedOrGrantedPermissionsFilter, (self: ObjectOwnedOrGrantedPermissionsFilter, request: Unknown, queryset: Unknown, view: Unknown) -> type[Any]]`, which is not assignable to `BoundMethod[ObjectOwnedOrGrantedPermissionsFilter, (self: ObjectOwnedOrGrantedPermissionsFilter, request: Unknown, queryset: Unknown, view: Unknown) -> QuerySet[Unknown, Unknown]]`, the type of `ObjectPermissionsFilter.filter_queryset`", "concise_description": "Class member `ObjectOwnedOrGrantedPermissionsFilter.filter_queryset` overrides parent class `ObjectPermissionsFilter` in an inconsistent manner", "severity": "error" }, { "line": 858, "column": 9, "stop_line": 858, "stop_column": 24, "path": "src/documents/filters.py", "code": -2, "name": "bad-override", "description": "Class member `ObjectOwnedPermissionsFilter.filter_queryset` overrides parent class `ObjectPermissionsFilter` in an inconsistent manner\n `ObjectOwnedPermissionsFilter.filter_queryset` has type `BoundMethod[ObjectOwnedPermissionsFilter, (self: ObjectOwnedPermissionsFilter, request: Unknown, queryset: Unknown, view: Unknown) -> type[Any] | Unknown]`, which is not assignable to `BoundMethod[ObjectOwnedPermissionsFilter, (self: ObjectOwnedPermissionsFilter, request: Unknown, queryset: Unknown, view: Unknown) -> QuerySet[Unknown, Unknown]]`, the type of `ObjectPermissionsFilter.filter_queryset`", "concise_description": "Class member `ObjectOwnedPermissionsFilter.filter_queryset` overrides parent class `ObjectPermissionsFilter` in an inconsistent manner", "severity": "error" }, { "line": 928, "column": 25, "stop_line": 928, "stop_column": 45, "path": "src/documents/filters.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get`", "concise_description": "Object of class `NoneType` has no attribute `get`", "severity": "error" }, { "line": 138, "column": 1, "stop_line": 138, "stop_column": 16, "path": "src/documents/index.py", "code": -2, "name": "bad-argument-type", "description": "Argument `(*, optimize: bool | Unknown = False) -> AsyncWriter` is not assignable to parameter `func` with type `(*, optimize: bool | Unknown = False) -> Iterator[@_]` in function `contextlib.contextmanager`\n Protocol `Iterator` requires attribute `__next__`", "concise_description": "Argument `(*, optimize: bool | Unknown = False) -> AsyncWriter` is not assignable to parameter `func` with type `(*, optimize: bool | Unknown = False) -> Iterator[@_]` in function `contextlib.contextmanager`", "severity": "error" }, { "line": 139, "column": 45, "stop_line": 139, "stop_column": 56, "path": "src/documents/index.py", "code": -2, "name": "bad-return", "description": "Generator function should return `Generator`", "concise_description": "Generator function should return `Generator`", "severity": "error" }, { "line": 151, "column": 1, "stop_line": 151, "stop_column": 16, "path": "src/documents/index.py", "code": -2, "name": "bad-argument-type", "description": "Argument `() -> Searcher` is not assignable to parameter `func` with type `() -> Iterator[@_]` in function `contextlib.contextmanager`\n Protocol `Iterator` requires attribute `__next__`", "concise_description": "Argument `() -> Searcher` is not assignable to parameter `func` with type `() -> Iterator[@_]` in function `contextlib.contextmanager`", "severity": "error" }, { "line": 152, "column": 30, "stop_line": 152, "stop_column": 38, "path": "src/documents/index.py", "code": -2, "name": "bad-return", "description": "Generator function should return `Generator`", "concise_description": "Generator function should return `Generator`", "severity": "error" }, { "line": 187, "column": 37, "stop_line": 187, "stop_column": 41, "path": "src/documents/index.py", "code": -2, "name": "missing-attribute", "description": "Object of class `str` has no attribute `id`", "concise_description": "Object of class `str` has no attribute `id`", "severity": "error" }, { "line": 211, "column": 32, "stop_line": 211, "stop_column": 49, "path": "src/documents/index.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 257, "column": 9, "stop_line": 257, "stop_column": 21, "path": "src/documents/index.py", "code": -2, "name": "bad-param-name-override", "description": "Class member `MappedDocIdSet.__contains__` overrides parent class `DocIdSet` in an inconsistent manner\n Got parameter name `docnum`, expected `i`", "concise_description": "Class member `MappedDocIdSet.__contains__` overrides parent class `DocIdSet` in an inconsistent manner", "severity": "error" }, { "line": 258, "column": 50, "stop_line": 258, "stop_column": 58, "path": "src/documents/index.py", "code": -2, "name": "missing-argument", "description": "Missing argument `docnum` in function `whoosh.reading.IndexReader.stored_fields`", "concise_description": "Missing argument `docnum` in function `whoosh.reading.IndexReader.stored_fields`", "severity": "error" }, { "line": 344, "column": 36, "stop_line": 344, "stop_column": 52, "path": "src/documents/index.py", "code": -2, "name": "missing-attribute", "description": "Object of class `list` has no attribute `score`", "concise_description": "Object of class `list` has no attribute `score`", "severity": "error" }, { "line": 380, "column": 20, "stop_line": 380, "stop_column": 43, "path": "src/documents/index.py", "code": -2, "name": "bad-assignment", "description": "`ManualResultsPage` is not assignable to variable `page` with type `ResultsPage`", "concise_description": "`ManualResultsPage` is not assignable to variable `page` with type `ResultsPage`", "severity": "error" }, { "line": 447, "column": 9, "stop_line": 447, "stop_column": 19, "path": "src/documents/index.py", "code": -2, "name": "bad-override", "description": "Class member `DelayedFullTextQuery._get_query` overrides parent class `DelayedQuery` in an inconsistent manner\n `DelayedFullTextQuery._get_query` has type `BoundMethod[DelayedFullTextQuery, (self: DelayedFullTextQuery) -> tuple[Unknown, ...]]`, which is not assignable to `BoundMethod[DelayedFullTextQuery, (self: DelayedFullTextQuery) -> Never]`, the type of `DelayedQuery._get_query`", "concise_description": "Class member `DelayedFullTextQuery._get_query` overrides parent class `DelayedQuery` in an inconsistent manner", "severity": "error" }, { "line": 485, "column": 9, "stop_line": 485, "stop_column": 19, "path": "src/documents/index.py", "code": -2, "name": "bad-override", "description": "Class member `DelayedMoreLikeThisQuery._get_query` overrides parent class `DelayedQuery` in an inconsistent manner\n `DelayedMoreLikeThisQuery._get_query` has type `BoundMethod[DelayedMoreLikeThisQuery, (self: DelayedMoreLikeThisQuery) -> tuple[Unknown, ...]]`, which is not assignable to `BoundMethod[DelayedMoreLikeThisQuery, (self: DelayedMoreLikeThisQuery) -> Never]`, the type of `DelayedQuery._get_query`", "concise_description": "Class member `DelayedMoreLikeThisQuery._get_query` overrides parent class `DelayedQuery` in an inconsistent manner", "severity": "error" }, { "line": 637, "column": 21, "stop_line": 637, "stop_column": 26, "path": "src/documents/index.py", "code": -2, "name": "unbound-name", "description": "`start` may be uninitialized", "concise_description": "`start` may be uninitialized", "severity": "error" }, { "line": 638, "column": 19, "stop_line": 638, "stop_column": 22, "path": "src/documents/index.py", "code": -2, "name": "unbound-name", "description": "`end` may be uninitialized", "concise_description": "`end` may be uninitialized", "severity": "error" }, { "line": 13, "column": 31, "stop_line": 13, "stop_column": 48, "path": "src/documents/loggers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `LoggingMixin` has no attribute `logging_name`", "concise_description": "Object of class `LoggingMixin` has no attribute `logging_name`", "severity": "error" }, { "line": 35, "column": 9, "stop_line": 35, "stop_column": 15, "path": "src/documents/management/commands/convert_mariadb_uuid.py", "code": -2, "name": "bad-override", "description": "Class member `Command.handle` overrides parent class `BaseCommand` in an inconsistent manner\n `Command.handle` has type `BoundMethod[Command, (self: Command, **options: Unknown) -> None]`, which is not assignable to `BoundMethod[Command, (self: Command, *args: Any, **options: Any) -> str | None]`, the type of `BaseCommand.handle`", "concise_description": "Class member `Command.handle` overrides parent class `BaseCommand` in an inconsistent manner", "severity": "error" }, { "line": 426, "column": 41, "stop_line": 426, "stop_column": 50, "path": "src/documents/management/commands/document_exporter.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | str` is not assignable to parameter `element` with type `str` in function `set.add`", "concise_description": "Argument `Path | str` is not assignable to parameter `element` with type `str` in function `set.add`", "severity": "error" }, { "line": 571, "column": 32, "stop_line": 571, "stop_column": 60, "path": "src/documents/management/commands/document_exporter.py", "code": -2, "name": "bad-index", "description": "Cannot index into `str`\n No matching overload found for function `str.__getitem__` called with arguments: (Literal['exporter_key'])\n Possible overloads:\n (key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString\n (key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]", "concise_description": "Cannot index into `str`", "severity": "error" }, { "line": 572, "column": 32, "stop_line": 572, "stop_column": 54, "path": "src/documents/management/commands/document_exporter.py", "code": -2, "name": "bad-index", "description": "Cannot index into `str`\n No matching overload found for function `str.__getitem__` called with arguments: (Literal['fields'])\n Possible overloads:\n (key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString\n (key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]", "concise_description": "Cannot index into `str`", "severity": "error" }, { "line": 104, "column": 38, "stop_line": 104, "stop_column": 70, "path": "src/documents/management/commands/document_fuzzy_match.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[tuple[int, int] | tuple[int, ...]]` is not assignable to parameter `*s` with type `Iterable[tuple[int, int]]` in function `set.update`", "concise_description": "Argument `list[tuple[int, int] | tuple[int, ...]]` is not assignable to parameter `*s` with type `Iterable[tuple[int, int]]` in function `set.update`", "severity": "error" }, { "line": 237, "column": 14, "stop_line": 237, "stop_column": 18, "path": "src/documents/management/commands/document_importer.py", "code": -2, "name": "bad-override", "description": "Class member `Command.salt` overrides parent class `CryptMixin` in an inconsistent manner\n `Command.salt` has type `str | None`, which is not consistent with `str` in `CryptMixin.salt` (the type of read-write attributes cannot be changed)", "concise_description": "Class member `Command.salt` overrides parent class `CryptMixin` in an inconsistent manner", "severity": "error" }, { "line": 413, "column": 50, "stop_line": 413, "stop_column": 71, "path": "src/documents/management/commands/document_importer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `source_path` with type `Path` in function `documents.file_handling.create_source_path_directory`", "concise_description": "Argument `Path | None` is not assignable to parameter `source_path` with type `Path` in function `documents.file_handling.create_source_path_directory`", "severity": "error" }, { "line": 417, "column": 62, "stop_line": 417, "stop_column": 83, "path": "src/documents/management/commands/document_importer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `dest` with type `Path | str` in function `documents.utils.copy_file_with_basic_stats`", "concise_description": "Argument `Path | None` is not assignable to parameter `dest` with type `Path | str` in function `documents.utils.copy_file_with_basic_stats`", "severity": "error" }, { "line": 432, "column": 39, "stop_line": 432, "stop_column": 65, "path": "src/documents/management/commands/document_importer.py", "code": -2, "name": "bad-index", "description": "Cannot index into `str`\n No matching overload found for function `str.__getitem__` called with arguments: (Literal['model_name'])\n Possible overloads:\n (key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString\n (key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]", "concise_description": "Cannot index into `str`", "severity": "error" }, { "line": 433, "column": 37, "stop_line": 433, "stop_column": 59, "path": "src/documents/management/commands/document_importer.py", "code": -2, "name": "bad-index", "description": "Cannot index into `str`\n No matching overload found for function `str.__getitem__` called with arguments: (Literal['fields'])\n Possible overloads:\n (key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString\n (key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]", "concise_description": "Cannot index into `str`", "severity": "error" }, { "line": 14, "column": 9, "stop_line": 14, "stop_column": 19, "path": "src/documents/management/commands/loaddata_stdin.py", "code": -2, "name": "bad-override", "description": "Class member `Command.parse_name` overrides parent class `Command` in an inconsistent manner\n `Command.parse_name` has type `BoundMethod[Command, (self: Command, fixture_name: Unknown) -> tuple[Literal['-'], Literal['json'], Literal['stdin']] | None]`, which is not assignable to `BoundMethod[Command, (self: Command, fixture_name: str) -> tuple[str, str | None, str | None]]`, the type of `Command.parse_name`", "concise_description": "Class member `Command.parse_name` overrides parent class `Command` in an inconsistent manner", "severity": "error" }, { "line": 15, "column": 45, "stop_line": 15, "stop_column": 75, "path": "src/documents/management/commands/loaddata_stdin.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str | None, tuple[(str, _ReadBinaryMode) -> BufferedReader[_BufferedReaderStream]]]`\n Argument `tuple[(x: str, y: _ReadBinaryMode) -> TextIO | Any, None]` is not assignable to parameter `value` with type `tuple[(str, _ReadBinaryMode) -> BufferedReader[_BufferedReaderStream]]` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str | None, tuple[(str, _ReadBinaryMode) -> BufferedReader[_BufferedReaderStream]]]`", "severity": "error" }, { "line": 19, "column": 9, "stop_line": 19, "stop_column": 22, "path": "src/documents/management/commands/loaddata_stdin.py", "code": -2, "name": "bad-override", "description": "Class member `Command.find_fixtures` overrides parent class `Command` in an inconsistent manner\n `Command.find_fixtures` has type `BoundMethod[Command, (self: Command, fixture_label: Unknown) -> list[tuple[str, str | None, str | None]] | list[tuple[str, None, str]]]`, which is not assignable to `BoundMethod[Command, (self: Command, fixture_label: str) -> list[tuple[str, str | None, str | None]]]`, the type of `Command.find_fixtures`", "concise_description": "Class member `Command.find_fixtures` overrides parent class `Command` in an inconsistent manner", "severity": "error" }, { "line": 33, "column": 28, "stop_line": 33, "stop_column": 47, "path": "src/documents/management/commands/mixins.py", "code": -2, "name": "unsupported-operation", "description": "`//` is not supported between `None` and `Literal[4]`\n Argument `None` is not assignable to parameter `value` with type `int` in function `int.__rfloordiv__`", "concise_description": "`//` is not supported between `None` and `Literal[4]`", "severity": "error" }, { "line": 94, "column": 33, "stop_line": 111, "stop_column": 6, "path": "src/documents/management/commands/mixins.py", "code": -2, "name": "bad-assignment", "description": "`list[dict[str, list[str] | str]]` is not assignable to `CryptFields`", "concise_description": "`list[dict[str, list[str] | str]]` is not assignable to `CryptFields`", "severity": "error" }, { "line": 19, "column": 9, "stop_line": 19, "stop_column": 15, "path": "src/documents/management/commands/prune_audit_logs.py", "code": -2, "name": "bad-override", "description": "Class member `Command.handle` overrides parent class `BaseCommand` in an inconsistent manner\n `Command.handle` has type `BoundMethod[Command, (self: Command, **options: Unknown) -> None]`, which is not assignable to `BoundMethod[Command, (self: Command, *args: Any, **options: Any) -> str | None]`, the type of `BaseCommand.handle`", "concise_description": "Class member `Command.handle` overrides parent class `BaseCommand` in an inconsistent manner", "severity": "error" }, { "line": 345, "column": 24, "stop_line": 348, "stop_column": 10, "path": "src/documents/matching.py", "code": -2, "name": "bad-specialization", "description": "`Path` is not assignable to upper bound `bytes | str` of type variable `AnyStr`", "concise_description": "`Path` is not assignable to upper bound `bytes | str` of type variable `AnyStr`", "severity": "error" }, { "line": 347, "column": 13, "stop_line": 347, "stop_column": 32, "path": "src/documents/matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `pat` with type `Path` in function `fnmatch.fnmatch`", "concise_description": "Argument `str` is not assignable to parameter `pat` with type `Path` in function `fnmatch.fnmatch`", "severity": "error" }, { "line": 356, "column": 12, "stop_line": 356, "stop_column": 37, "path": "src/documents/matching.py", "code": -2, "name": "bad-return", "description": "Returned type `tuple[bool, Literal[''] | tuple[str]]` is not assignable to declared return type `tuple[bool, str]`", "concise_description": "Returned type `tuple[bool, Literal[''] | tuple[str]]` is not assignable to declared return type `tuple[bool, str]`", "severity": "error" }, { "line": 370, "column": 9, "stop_line": 370, "stop_column": 16, "path": "src/documents/matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `WorkflowTrigger` is not assignable to parameter `matching_model` with type `MatchingModel` in function `matches`", "concise_description": "Argument `WorkflowTrigger` is not assignable to parameter `matching_model` with type `MatchingModel` in function `matches`", "severity": "error" }, { "line": 395, "column": 17, "stop_line": 395, "stop_column": 55, "path": "src/documents/matching.py", "code": -2, "name": "unsupported-operation", "description": "`&` is not supported between `None` and `set[Any]`\n Cannot find `__and__` or `__rand__`", "concise_description": "`&` is not supported between `None` and `set[Any]`", "severity": "error" }, { "line": 405, "column": 42, "stop_line": 405, "stop_column": 58, "path": "src/documents/matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `set[Any] | None` is not assignable to parameter `s` with type `Iterable[Any]` in function `set.issubset`\n Protocol `Iterable` requires attribute `__iter__`", "concise_description": "Argument `set[Any] | None` is not assignable to parameter `s` with type `Iterable[Any]` in function `set.issubset`", "severity": "error" }, { "line": 414, "column": 12, "stop_line": 414, "stop_column": 47, "path": "src/documents/matching.py", "code": -2, "name": "unsupported-operation", "description": "`&` is not supported between `None` and `set[Any]`\n Cannot find `__and__` or `__rand__`", "concise_description": "`&` is not supported between `None` and `set[Any]`", "severity": "error" }, { "line": 685, "column": 21, "stop_line": 685, "stop_column": 29, "path": "src/documents/matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `ConsumableDocument | Document` is not assignable to parameter `document` with type `ConsumableDocument` in function `consumable_document_matches_workflow`", "concise_description": "Argument `ConsumableDocument | Document` is not assignable to parameter `document` with type `ConsumableDocument` in function `consumable_document_matches_workflow`", "severity": "error" }, { "line": 694, "column": 21, "stop_line": 694, "stop_column": 29, "path": "src/documents/matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `ConsumableDocument | Document` is not assignable to parameter `document` with type `Document` in function `existing_document_matches_workflow`", "concise_description": "Argument `ConsumableDocument | Document` is not assignable to parameter `document` with type `Document` in function `existing_document_matches_workflow`", "severity": "error" }, { "line": 117, "column": 11, "stop_line": 117, "stop_column": 15, "path": "src/documents/models.py", "code": -2, "name": "inconsistent-inheritance", "description": "Field `ordering` has inconsistent types inherited from multiple base classes\n Inherited types include:\n `tuple[Literal['name']]` from `Meta`\n `list[str]` from `Meta`", "concise_description": "Field `ordering` has inconsistent types inherited from multiple base classes", "severity": "error" }, { "line": 372, "column": 21, "stop_line": 372, "stop_column": 38, "path": "src/documents/models.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 872, "column": 9, "stop_line": 872, "stop_column": 15, "path": "src/documents/models.py", "code": -2, "name": "bad-override", "description": "Class member `ShareLinkBundle.delete` overrides parent class `Model` in an inconsistent manner\n `ShareLinkBundle.delete` has type `BoundMethod[ShareLinkBundle, (self: ShareLinkBundle, using: Unknown | None = None, *, keep_parents: bool | Unknown = False) -> tuple[int, dict[str, int]]]`, which is not assignable to `BoundMethod[ShareLinkBundle, (self: ShareLinkBundle, using: Any | None = None, keep_parents: bool = False) -> tuple[int, dict[str, int]]]`, the type of `Model.delete`", "concise_description": "Class member `ShareLinkBundle.delete` overrides parent class `Model` in an inconsistent manner", "severity": "error" }, { "line": 1035, "column": 31, "stop_line": 1035, "stop_column": 70, "path": "src/documents/models.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 1059, "column": 54, "stop_line": 1059, "stop_column": 74, "path": "src/documents/models.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `data_type` with type `CustomField.FieldDataType` in function `CustomFieldInstance.get_value_field_name`", "concise_description": "Argument `str` is not assignable to parameter `data_type` with type `CustomField.FieldDataType` in function `CustomFieldInstance.get_value_field_name`", "severity": "error" }, { "line": 1064, "column": 5, "stop_line": 1064, "stop_column": 13, "path": "src/documents/models.py", "code": -2, "name": "unbound-name", "description": "`auditlog` may be uninitialized", "concise_description": "`auditlog` may be uninitialized", "severity": "error" }, { "line": 1069, "column": 5, "stop_line": 1069, "stop_column": 13, "path": "src/documents/models.py", "code": -2, "name": "unbound-name", "description": "`auditlog` may be uninitialized", "concise_description": "`auditlog` may be uninitialized", "severity": "error" }, { "line": 1070, "column": 5, "stop_line": 1070, "stop_column": 13, "path": "src/documents/models.py", "code": -2, "name": "unbound-name", "description": "`auditlog` may be uninitialized", "concise_description": "`auditlog` may be uninitialized", "severity": "error" }, { "line": 1071, "column": 5, "stop_line": 1071, "stop_column": 13, "path": "src/documents/models.py", "code": -2, "name": "unbound-name", "description": "`auditlog` may be uninitialized", "concise_description": "`auditlog` may be uninitialized", "severity": "error" }, { "line": 1072, "column": 5, "stop_line": 1072, "stop_column": 13, "path": "src/documents/models.py", "code": -2, "name": "unbound-name", "description": "`auditlog` may be uninitialized", "concise_description": "`auditlog` may be uninitialized", "severity": "error" }, { "line": 1073, "column": 5, "stop_line": 1073, "stop_column": 13, "path": "src/documents/models.py", "code": -2, "name": "unbound-name", "description": "`auditlog` may be uninitialized", "concise_description": "`auditlog` may be uninitialized", "severity": "error" }, { "line": 1074, "column": 5, "stop_line": 1074, "stop_column": 13, "path": "src/documents/models.py", "code": -2, "name": "unbound-name", "description": "`auditlog` may be uninitialized", "concise_description": "`auditlog` may be uninitialized", "severity": "error" }, { "line": 71, "column": 32, "stop_line": 71, "stop_column": 64, "path": "src/documents/parsers.py", "code": -2, "name": "bad-index", "description": "Cannot index into `str`\n No matching overload found for function `str.__getitem__` called with arguments: (Literal['mime_types'])\n Possible overloads:\n (key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString\n (key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]", "concise_description": "Cannot index into `str`", "severity": "error" }, { "line": 71, "column": 32, "stop_line": 71, "stop_column": 64, "path": "src/documents/parsers.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 99, "column": 32, "stop_line": 99, "stop_column": 64, "path": "src/documents/parsers.py", "code": -2, "name": "bad-index", "description": "Cannot index into `str`\n No matching overload found for function `str.__getitem__` called with arguments: (Literal['mime_types'])\n Possible overloads:\n (key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString\n (key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]", "concise_description": "Cannot index into `str`", "severity": "error" }, { "line": 99, "column": 32, "stop_line": 99, "stop_column": 64, "path": "src/documents/parsers.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 121, "column": 32, "stop_line": 121, "stop_column": 64, "path": "src/documents/parsers.py", "code": -2, "name": "bad-index", "description": "Cannot index into `str`\n No matching overload found for function `str.__getitem__` called with arguments: (Literal['mime_types'])\n Possible overloads:\n (key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString\n (key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]", "concise_description": "Cannot index into `str`", "severity": "error" }, { "line": 121, "column": 32, "stop_line": 121, "stop_column": 64, "path": "src/documents/parsers.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 202, "column": 28, "stop_line": 202, "stop_column": 31, "path": "src/documents/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[Path | str | Unknown]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`", "concise_description": "Argument `list[Path | str | Unknown]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`", "severity": "error" }, { "line": 94, "column": 42, "stop_line": 94, "stop_column": 64, "path": "src/documents/permissions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `list` has no attribute `exists`", "concise_description": "Object of class `list` has no attribute `exists`", "severity": "error" }, { "line": 95, "column": 35, "stop_line": 95, "stop_column": 58, "path": "src/documents/permissions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `list` has no attribute `exclude`", "concise_description": "Object of class `list` has no attribute `exclude`", "severity": "error" }, { "line": 96, "column": 16, "stop_line": 96, "stop_column": 38, "path": "src/documents/permissions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `list` has no attribute `exists`", "concise_description": "Object of class `list` has no attribute `exists`", "severity": "error" }, { "line": 181, "column": 12, "stop_line": 181, "stop_column": 64, "path": "src/documents/permissions.py", "code": -2, "name": "bad-return", "description": "Returned type `UnionType | type` is not assignable to declared return type `QuerySet[Unknown, Unknown]`", "concise_description": "Returned type `UnionType | type` is not assignable to declared return type `QuerySet[Unknown, Unknown]`", "severity": "error" }, { "line": 40, "column": 29, "stop_line": 40, "stop_column": 48, "path": "src/documents/plugins/helpers.py", "code": -2, "name": "bad-assignment", "description": "`BaseChannelLayer | None` is not assignable to attribute `_channel` with type `RedisPubSubChannelLayer | None`", "concise_description": "`BaseChannelLayer | None` is not assignable to attribute `_channel` with type `RedisPubSubChannelLayer | None`", "severity": "error" }, { "line": 90, "column": 19, "stop_line": 90, "stop_column": 26, "path": "src/documents/plugins/helpers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `dict[str, str | dict[str, ProgressStatusOptions | int | str | None]]` is not assignable to parameter `payload` with type `dict[str, int | str | None]` in function `BaseStatusManager.send`", "concise_description": "Argument `dict[str, str | dict[str, ProgressStatusOptions | int | str | None]]` is not assignable to parameter `payload` with type `dict[str, int | str | None]` in function `BaseStatusManager.send`", "severity": "error" }, { "line": 102, "column": 19, "stop_line": 102, "stop_column": 26, "path": "src/documents/plugins/helpers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `dict[str, str | dict[str, list[int]]]` is not assignable to parameter `payload` with type `dict[str, int | str | None]` in function `BaseStatusManager.send`", "concise_description": "Argument `dict[str, str | dict[str, list[int]]]` is not assignable to parameter `payload` with type `dict[str, int | str | None]` in function `BaseStatusManager.send`", "severity": "error" }, { "line": 23, "column": 26, "stop_line": 23, "stop_column": 33, "path": "src/documents/regex.py", "code": -2, "name": "missing-attribute", "description": "Object of class `error` has no attribute `msg`", "concise_description": "Object of class `error` has no attribute `msg`", "severity": "error" }, { "line": 127, "column": 9, "stop_line": 127, "stop_column": 17, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-param-name-override", "description": "Class member `MatchingModelSerializer.validate` overrides parent class `ModelSerializer` in an inconsistent manner\n Got parameter name `data`, expected `attrs`", "concise_description": "Class member `MatchingModelSerializer.validate` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 201, "column": 62, "stop_line": 203, "stop_column": 26, "path": "src/documents/serialisers.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str, QuerySet[User, User]]`\n Argument `QuerySet[Group, Group]` is not assignable to parameter `value` with type `QuerySet[User, User]` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str, QuerySet[User, User]]`", "severity": "error" }, { "line": 290, "column": 17, "stop_line": 294, "stop_column": 30, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `list` has no attribute `values_list`", "concise_description": "Object of class `list` has no attribute `values_list`", "severity": "error" }, { "line": 356, "column": 21, "stop_line": 356, "stop_column": 37, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `has_perm`", "concise_description": "Object of class `NoneType` has no attribute `has_perm`", "severity": "error" }, { "line": 468, "column": 9, "stop_line": 468, "stop_column": 26, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-param-name-override", "description": "Class member `OwnedObjectListSerializer.to_representation` overrides parent class `ListSerializer` in an inconsistent manner\n Got parameter name `documents`, expected `data`", "concise_description": "Class member `OwnedObjectListSerializer.to_representation` overrides parent class `ListSerializer` in an inconsistent manner", "severity": "error" }, { "line": 469, "column": 9, "stop_line": 469, "stop_column": 27, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `context`", "concise_description": "Object of class `NoneType` has no attribute `context`", "severity": "error" }, { "line": 469, "column": 51, "stop_line": 469, "stop_column": 83, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BaseSerializer` has no attribute `get_shared_object_pks`\nObject of class `Field` has no attribute `get_shared_object_pks`\nObject of class `NoneType` has no attribute `get_shared_object_pks`", "concise_description": "Object of class `BaseSerializer` has no attribute `get_shared_object_pks`\nObject of class `Field` has no attribute `get_shared_object_pks`\nObject of class `NoneType` has no attribute `get_shared_object_pks`", "severity": "error" }, { "line": 478, "column": 11, "stop_line": 478, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `CorrespondentSerializer.Meta` overrides parent class `MatchingModelSerializer` in an inconsistent manner\n `CorrespondentSerializer.Meta` has type `type[CorrespondentSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `MatchingModelSerializer.Meta`", "concise_description": "Class member `CorrespondentSerializer.Meta` overrides parent class `MatchingModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 478, "column": 11, "stop_line": 478, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `CorrespondentSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `CorrespondentSerializer.Meta` has type `type[CorrespondentSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `CorrespondentSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 497, "column": 11, "stop_line": 497, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `DocumentTypeSerializer.Meta` overrides parent class `MatchingModelSerializer` in an inconsistent manner\n `DocumentTypeSerializer.Meta` has type `type[DocumentTypeSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `MatchingModelSerializer.Meta`", "concise_description": "Class member `DocumentTypeSerializer.Meta` overrides parent class `MatchingModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 497, "column": 11, "stop_line": 497, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `DocumentTypeSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `DocumentTypeSerializer.Meta` has type `type[DocumentTypeSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `DocumentTypeSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 554, "column": 11, "stop_line": 554, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `TagSerializerVersion1.Meta` overrides parent class `MatchingModelSerializer` in an inconsistent manner\n `TagSerializerVersion1.Meta` has type `type[TagSerializerVersion1.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `MatchingModelSerializer.Meta`", "concise_description": "Class member `TagSerializerVersion1.Meta` overrides parent class `MatchingModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 554, "column": 11, "stop_line": 554, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `TagSerializerVersion1.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `TagSerializerVersion1.Meta` has type `type[TagSerializerVersion1.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `TagSerializerVersion1.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 590, "column": 14, "stop_line": 595, "stop_column": 6, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-assignment", "description": "`ManyRelatedField | RelatedField[@_, @_, Any]` is not assignable to attribute `parent` with type `BaseSerializer[Unknown]`", "concise_description": "`ManyRelatedField | RelatedField[@_, @_, Any]` is not assignable to attribute `parent` with type `BaseSerializer[Unknown]`", "severity": "error" }, { "line": 644, "column": 11, "stop_line": 644, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `TagSerializer.Meta` overrides parent class `MatchingModelSerializer` in an inconsistent manner\n `TagSerializer.Meta` has type `type[TagSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `MatchingModelSerializer.Meta`", "concise_description": "Class member `TagSerializer.Meta` overrides parent class `MatchingModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 644, "column": 11, "stop_line": 644, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `TagSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `TagSerializer.Meta` has type `type[TagSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `TagSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 671, "column": 9, "stop_line": 671, "stop_column": 17, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-param-name-override", "description": "Class member `TagSerializer.validate` overrides parent class `MatchingModelSerializer` in an inconsistent manner\n Got parameter name `attrs`, expected `data`", "concise_description": "Class member `TagSerializer.validate` overrides parent class `MatchingModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 733, "column": 17, "stop_line": 733, "stop_column": 42, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[CustomField.FieldDataType]` is not assignable to parameter `choices` with type `Sequence[Any]` in function `rest_framework.fields.ChoiceField.__init__`", "concise_description": "Argument `type[CustomField.FieldDataType]` is not assignable to parameter `choices` with type `Sequence[Any]` in function `rest_framework.fields.ChoiceField.__init__`", "severity": "error" }, { "line": 739, "column": 11, "stop_line": 739, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `CustomFieldSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `CustomFieldSerializer.Meta` has type `type[CustomFieldSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `CustomFieldSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 850, "column": 28, "stop_line": 850, "stop_column": 39, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-assignment", "description": "`Unknown | None` is not assignable to attribute `method_name` with type `str`", "concise_description": "`Unknown | None` is not assignable to attribute `method_name` with type `str`", "severity": "error" }, { "line": 869, "column": 13, "stop_line": 869, "stop_column": 35, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `data_type` with type `CustomField.FieldDataType` in function `documents.models.CustomFieldInstance.get_value_field_name`", "concise_description": "Argument `str` is not assignable to parameter `data_type` with type `CustomField.FieldDataType` in function `documents.models.CustomFieldInstance.get_value_field_name`", "severity": "error" }, { "line": 885, "column": 9, "stop_line": 885, "stop_column": 18, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-param-name-override", "description": "Class member `CustomFieldInstanceSerializer.get_value` overrides parent class `ModelSerializer` in an inconsistent manner\n Got parameter name `obj`, expected `dictionary`", "concise_description": "Class member `CustomFieldInstanceSerializer.get_value` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 888, "column": 9, "stop_line": 888, "stop_column": 17, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-param-name-override", "description": "Class member `CustomFieldInstanceSerializer.validate` overrides parent class `ModelSerializer` in an inconsistent manner\n Got parameter name `data`, expected `attrs`", "concise_description": "Class member `CustomFieldInstanceSerializer.validate` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 931, "column": 34, "stop_line": 931, "stop_column": 68, "path": "src/documents/serialisers.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 949, "column": 21, "stop_line": 949, "stop_column": 34, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[Unknown] | None` is not assignable to parameter `obj` with type `Sized` in function `len`\n Protocol `Sized` requires attribute `__len__`", "concise_description": "Argument `list[Unknown] | None` is not assignable to parameter `obj` with type `Sized` in function `len`", "severity": "error" }, { "line": 1001, "column": 11, "stop_line": 1001, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `CustomFieldInstanceSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `CustomFieldInstanceSerializer.Meta` has type `type[CustomFieldInstanceSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `CustomFieldInstanceSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 1011, "column": 11, "stop_line": 1011, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `BasicUserSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `BasicUserSerializer.Meta` has type `type[BasicUserSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `BasicUserSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 1019, "column": 11, "stop_line": 1019, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `NotesSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `NotesSerializer.Meta` has type `type[NotesSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `NotesSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 1130, "column": 30, "stop_line": 1130, "stop_column": 55, "path": "src/documents/serialisers.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 1190, "column": 12, "stop_line": 1190, "stop_column": 34, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1194, "column": 42, "stop_line": 1194, "stop_column": 64, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1224, "column": 35, "stop_line": 1224, "stop_column": 50, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get_ancestors`", "concise_description": "Object of class `NoneType` has no attribute `get_ancestors`", "severity": "error" }, { "line": 1277, "column": 11, "stop_line": 1277, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `DocumentSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `DocumentSerializer.Meta` has type `type[DocumentSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `DocumentSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 1277, "column": 11, "stop_line": 1277, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `DocumentSerializer.Meta` overrides parent class `NestedUpdateMixin` in an inconsistent manner\n `DocumentSerializer.Meta` has type `type[DocumentSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `NestedUpdateMixin.Meta`", "concise_description": "Class member `DocumentSerializer.Meta` overrides parent class `NestedUpdateMixin` in an inconsistent manner", "severity": "error" }, { "line": 1277, "column": 11, "stop_line": 1277, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `DocumentSerializer.Meta` overrides parent class `DynamicFieldsModelSerializer` in an inconsistent manner\n `DocumentSerializer.Meta` has type `type[DocumentSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `DynamicFieldsModelSerializer.Meta`", "concise_description": "Class member `DocumentSerializer.Meta` overrides parent class `DynamicFieldsModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 1311, "column": 9, "stop_line": 1311, "stop_column": 26, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-param-name-override", "description": "Class member `SearchResultListSerializer.to_representation` overrides parent class `ListSerializer` in an inconsistent manner\n Got parameter name `hits`, expected `data`", "concise_description": "Class member `SearchResultListSerializer.to_representation` overrides parent class `ListSerializer` in an inconsistent manner", "severity": "error" }, { "line": 1314, "column": 21, "stop_line": 1314, "stop_column": 47, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BaseSerializer` has no attribute `fetch_documents`\nObject of class `Field` has no attribute `fetch_documents`\nObject of class `NoneType` has no attribute `fetch_documents`", "concise_description": "Object of class `BaseSerializer` has no attribute `fetch_documents`\nObject of class `Field` has no attribute `fetch_documents`\nObject of class `NoneType` has no attribute `fetch_documents`", "severity": "error" }, { "line": 1315, "column": 9, "stop_line": 1315, "stop_column": 27, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `context`", "concise_description": "Object of class `NoneType` has no attribute `context`", "severity": "error" }, { "line": 1317, "column": 9, "stop_line": 1317, "stop_column": 27, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `context`", "concise_description": "Object of class `NoneType` has no attribute `context`", "severity": "error" }, { "line": 1317, "column": 51, "stop_line": 1317, "stop_column": 83, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BaseSerializer` has no attribute `get_shared_object_pks`\nObject of class `Field` has no attribute `get_shared_object_pks`\nObject of class `NoneType` has no attribute `get_shared_object_pks`", "concise_description": "Object of class `BaseSerializer` has no attribute `get_shared_object_pks`\nObject of class `Field` has no attribute `get_shared_object_pks`\nObject of class `NoneType` has no attribute `get_shared_object_pks`", "severity": "error" }, { "line": 1342, "column": 9, "stop_line": 1342, "stop_column": 26, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-param-name-override", "description": "Class member `SearchResultSerializer.to_representation` overrides parent class `DocumentSerializer` in an inconsistent manner\n Got parameter name `hit`, expected `instance`", "concise_description": "Class member `SearchResultSerializer.to_representation` overrides parent class `DocumentSerializer` in an inconsistent manner", "severity": "error" }, { "line": 1353, "column": 35, "stop_line": 1353, "stop_column": 49, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `notes`", "concise_description": "Object of class `Document` has no attribute `notes`", "severity": "error" }, { "line": 1368, "column": 9, "stop_line": 1368, "stop_column": 30, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `Meta.list_serializer_class` overrides parent class `Meta` in an inconsistent manner\n `Meta.list_serializer_class` has type `type[SearchResultListSerializer]`, which is not consistent with `type[OwnedObjectListSerializer]` in `Meta.list_serializer_class` (the type of read-write attributes cannot be changed)", "concise_description": "Class member `Meta.list_serializer_class` overrides parent class `Meta` in an inconsistent manner", "severity": "error" }, { "line": 1372, "column": 11, "stop_line": 1372, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `SavedViewFilterRuleSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `SavedViewFilterRuleSerializer.Meta` has type `type[SavedViewFilterRuleSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `SavedViewFilterRuleSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 1380, "column": 11, "stop_line": 1380, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `SavedViewSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `SavedViewSerializer.Meta` has type `type[SavedViewSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `SavedViewSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 1403, "column": 21, "stop_line": 1403, "stop_column": 62, "path": "src/documents/serialisers.py", "code": -2, "name": "unsupported-operation", "description": "`Literal[SavedView.DisplayFields.CUSTOM_FIELD]` is not subscriptable", "concise_description": "`Literal[SavedView.DisplayFields.CUSTOM_FIELD]` is not subscriptable", "severity": "error" }, { "line": 1405, "column": 36, "stop_line": 1405, "stop_column": 63, "path": "src/documents/serialisers.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 2059, "column": 73, "stop_line": 2059, "stop_column": 80, "path": "src/documents/serialisers.py", "code": -2, "name": "unbound-name", "description": "`address` is uninitialized", "concise_description": "`address` is uninitialized", "severity": "error" }, { "line": 2072, "column": 11, "stop_line": 2072, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `StoragePathSerializer.Meta` overrides parent class `MatchingModelSerializer` in an inconsistent manner\n `StoragePathSerializer.Meta` has type `type[StoragePathSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `MatchingModelSerializer.Meta`", "concise_description": "Class member `StoragePathSerializer.Meta` overrides parent class `MatchingModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2072, "column": 11, "stop_line": 2072, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `StoragePathSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `StoragePathSerializer.Meta` has type `type[StoragePathSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `StoragePathSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2117, "column": 11, "stop_line": 2117, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `UiSettingsViewSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `UiSettingsViewSerializer.Meta` has type `type[UiSettingsViewSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `UiSettingsViewSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2143, "column": 11, "stop_line": 2143, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `TasksViewSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `TasksViewSerializer.Meta` has type `type[TasksViewSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `TasksViewSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2181, "column": 30, "stop_line": 2181, "stop_column": 57, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `group`", "concise_description": "Object of class `NoneType` has no attribute `group`", "severity": "error" }, { "line": 2232, "column": 11, "stop_line": 2232, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `ShareLinkSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `ShareLinkSerializer.Meta` has type `type[ShareLinkSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `ShareLinkSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2266, "column": 11, "stop_line": 2266, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `ShareLinkBundleSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `ShareLinkBundleSerializer.Meta` has type `type[ShareLinkBundleSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `ShareLinkBundleSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2413, "column": 17, "stop_line": 2413, "stop_column": 37, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `objects`", "concise_description": "Object of class `NoneType` has no attribute `objects`", "severity": "error" }, { "line": 2457, "column": 11, "stop_line": 2457, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `WorkflowTriggerSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `WorkflowTriggerSerializer.Meta` has type `type[WorkflowTriggerSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `WorkflowTriggerSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2553, "column": 11, "stop_line": 2553, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `WorkflowActionEmailSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `WorkflowActionEmailSerializer.Meta` has type `type[WorkflowActionEmailSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `WorkflowActionEmailSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2571, "column": 11, "stop_line": 2571, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `WorkflowActionWebhookSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `WorkflowActionWebhookSerializer.Meta` has type `type[WorkflowActionWebhookSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `WorkflowActionWebhookSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2594, "column": 11, "stop_line": 2594, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `WorkflowActionSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `WorkflowActionSerializer.Meta` has type `type[WorkflowActionSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `WorkflowActionSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2713, "column": 11, "stop_line": 2713, "stop_column": 15, "path": "src/documents/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `WorkflowSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `WorkflowSerializer.Meta` has type `type[WorkflowSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `WorkflowSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 2895, "column": 16, "stop_line": 2895, "stop_column": 33, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowTrigger` has no attribute `workflows`", "concise_description": "Object of class `WorkflowTrigger` has no attribute `workflows`", "severity": "error" }, { "line": 2899, "column": 16, "stop_line": 2899, "stop_column": 32, "path": "src/documents/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `workflows`", "concise_description": "Object of class `WorkflowAction` has no attribute `workflows`", "severity": "error" }, { "line": 2914, "column": 52, "stop_line": 2914, "stop_column": 60, "path": "src/documents/serialisers.py", "code": -2, "name": "unbound-name", "description": "`triggers` may be uninitialized", "concise_description": "`triggers` may be uninitialized", "severity": "error" }, { "line": 2914, "column": 62, "stop_line": 2914, "stop_column": 69, "path": "src/documents/serialisers.py", "code": -2, "name": "unbound-name", "description": "`actions` may be uninitialized", "concise_description": "`actions` may be uninitialized", "severity": "error" }, { "line": 118, "column": 72, "stop_line": 118, "stop_column": 82, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_correspondents`", "concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_correspondents`", "severity": "error" }, { "line": 144, "column": 17, "stop_line": 144, "stop_column": 25, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `selected` with type `MatchingModel` in function `_suggestion_printer`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `selected` with type `MatchingModel` in function `_suggestion_printer`", "severity": "error" }, { "line": 174, "column": 71, "stop_line": 174, "stop_column": 81, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_document_types`", "concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_document_types`", "severity": "error" }, { "line": 201, "column": 17, "stop_line": 201, "stop_column": 25, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `selected` with type `MatchingModel` in function `_suggestion_printer`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `selected` with type `MatchingModel` in function `_suggestion_printer`", "severity": "error" }, { "line": 236, "column": 50, "stop_line": 236, "stop_column": 60, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_tags`", "concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_tags`", "severity": "error" }, { "line": 247, "column": 19, "stop_line": 247, "stop_column": 37, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `SUCCESS`", "concise_description": "Object of class `NoneType` has no attribute `SUCCESS`", "severity": "error" }, { "line": 249, "column": 13, "stop_line": 249, "stop_column": 25, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `write`", "concise_description": "Object of class `NoneType` has no attribute `write`", "severity": "error" }, { "line": 250, "column": 13, "stop_line": 250, "stop_column": 25, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `write`", "concise_description": "Object of class `NoneType` has no attribute `write`", "severity": "error" }, { "line": 252, "column": 13, "stop_line": 252, "stop_column": 25, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `write`", "concise_description": "Object of class `NoneType` has no attribute `write`", "severity": "error" }, { "line": 252, "column": 36, "stop_line": 252, "stop_column": 54, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `SUCCESS`", "concise_description": "Object of class `NoneType` has no attribute `SUCCESS`", "severity": "error" }, { "line": 254, "column": 13, "stop_line": 254, "stop_column": 25, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `write`", "concise_description": "Object of class `NoneType` has no attribute `write`", "severity": "error" }, { "line": 256, "column": 13, "stop_line": 256, "stop_column": 25, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `write`", "concise_description": "Object of class `NoneType` has no attribute `write`", "severity": "error" }, { "line": 289, "column": 9, "stop_line": 289, "stop_column": 19, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_storage_paths`", "concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_storage_paths`", "severity": "error" }, { "line": 317, "column": 17, "stop_line": 317, "stop_column": 25, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `selected` with type `MatchingModel` in function `_suggestion_printer`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `selected` with type `MatchingModel` in function `_suggestion_printer`", "severity": "error" }, { "line": 365, "column": 16, "stop_line": 365, "stop_column": 24, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`settings` may be uninitialized", "concise_description": "`settings` may be uninitialized", "severity": "error" }, { "line": 384, "column": 18, "stop_line": 384, "stop_column": 26, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`settings` may be uninitialized", "concise_description": "`settings` may be uninitialized", "severity": "error" }, { "line": 390, "column": 22, "stop_line": 390, "stop_column": 30, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`settings` may be uninitialized", "concise_description": "`settings` may be uninitialized", "severity": "error" }, { "line": 495, "column": 46, "stop_line": 495, "stop_column": 66, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 496, "column": 49, "stop_line": 496, "stop_column": 69, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 534, "column": 21, "stop_line": 534, "stop_column": 37, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `old_path` with type `Path` in function `validate_move`", "concise_description": "Argument `Path | None` is not assignable to parameter `old_path` with type `Path` in function `validate_move`", "severity": "error" }, { "line": 535, "column": 21, "stop_line": 535, "stop_column": 42, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `new_path` with type `Path` in function `validate_move`", "concise_description": "Argument `Path | None` is not assignable to parameter `new_path` with type `Path` in function `validate_move`", "severity": "error" }, { "line": 538, "column": 46, "stop_line": 538, "stop_column": 67, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `source_path` with type `Path` in function `documents.file_handling.create_source_path_directory`", "concise_description": "Argument `Path | None` is not assignable to parameter `source_path` with type `Path` in function `documents.file_handling.create_source_path_directory`", "severity": "error" }, { "line": 539, "column": 28, "stop_line": 539, "stop_column": 69, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-specialization", "description": "`Path | None` is not assignable to upper bound `PathLike[str] | str` of type variable `_StrPathT`", "concise_description": "`Path | None` is not assignable to upper bound `PathLike[str] | str` of type variable `_StrPathT`", "severity": "error" }, { "line": 539, "column": 29, "stop_line": 539, "stop_column": 45, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `src` with type `PathLike[str] | str` in function `shutil.move`", "concise_description": "Argument `Path | None` is not assignable to parameter `src` with type `PathLike[str] | str` in function `shutil.move`", "severity": "error" }, { "line": 559, "column": 20, "stop_line": 559, "stop_column": 33, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`move_original` is uninitialized", "concise_description": "`move_original` is uninitialized", "severity": "error" }, { "line": 561, "column": 55, "stop_line": 561, "stop_column": 70, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`old_source_path` is uninitialized", "concise_description": "`old_source_path` is uninitialized", "severity": "error" }, { "line": 563, "column": 20, "stop_line": 563, "stop_column": 32, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`move_archive` is uninitialized", "concise_description": "`move_archive` is uninitialized", "severity": "error" }, { "line": 563, "column": 37, "stop_line": 563, "stop_column": 66, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `is_file`", "concise_description": "Object of class `NoneType` has no attribute `is_file`", "severity": "error" }, { "line": 565, "column": 32, "stop_line": 565, "stop_column": 73, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-specialization", "description": "`Path | None` is not assignable to upper bound `PathLike[str] | str` of type variable `_StrPathT`", "concise_description": "`Path | None` is not assignable to upper bound `PathLike[str] | str` of type variable `_StrPathT`", "severity": "error" }, { "line": 565, "column": 33, "stop_line": 565, "stop_column": 54, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `src` with type `PathLike[str] | str` in function `shutil.move`", "concise_description": "Argument `Path | None` is not assignable to parameter `src` with type `PathLike[str] | str` in function `shutil.move`", "severity": "error" }, { "line": 565, "column": 56, "stop_line": 565, "stop_column": 72, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`old_archive_path` is uninitialized", "concise_description": "`old_archive_path` is uninitialized", "severity": "error" }, { "line": 579, "column": 33, "stop_line": 579, "stop_column": 45, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`old_filename` is uninitialized", "concise_description": "`old_filename` is uninitialized", "severity": "error" }, { "line": 580, "column": 41, "stop_line": 580, "stop_column": 61, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`old_archive_filename` is uninitialized", "concise_description": "`old_archive_filename` is uninitialized", "severity": "error" }, { "line": 590, "column": 49, "stop_line": 590, "stop_column": 73, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `is_file`", "concise_description": "Object of class `NoneType` has no attribute `is_file`", "severity": "error" }, { "line": 592, "column": 22, "stop_line": 592, "stop_column": 38, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 609, "column": 23, "stop_line": 609, "stop_column": 50, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get`", "concise_description": "Object of class `NoneType` has no attribute `get`", "severity": "error" }, { "line": 613, "column": 5, "stop_line": 613, "stop_column": 24, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `CustomField` has no attribute `fields`", "concise_description": "Object of class `CustomField` has no attribute `fields`", "severity": "error" }, { "line": 617, "column": 24, "stop_line": 617, "stop_column": 43, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `CustomField` has no attribute `fields`", "concise_description": "Object of class `CustomField` has no attribute `fields`", "severity": "error" }, { "line": 634, "column": 13, "stop_line": 634, "stop_column": 28, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `CustomField` has no attribute `fields`", "concise_description": "Object of class `CustomField` has no attribute `fields`", "severity": "error" }, { "line": 648, "column": 12, "stop_line": 648, "stop_column": 51, "path": "src/documents/signals/handlers.py", "code": -2, "name": "not-iterable", "description": "`in` is not supported between `str` and `None`", "concise_description": "`in` is not supported between `str` and `None`", "severity": "error" }, { "line": 652, "column": 13, "stop_line": 652, "stop_column": 39, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `remove`", "concise_description": "Object of class `NoneType` has no attribute `remove`", "severity": "error" }, { "line": 691, "column": 27, "stop_line": 691, "stop_column": 51, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get`", "concise_description": "Object of class `NoneType` has no attribute `get`", "severity": "error" }, { "line": 711, "column": 17, "stop_line": 711, "stop_column": 52, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `None`\n Object of class `NoneType` has no attribute `__setitem__`", "concise_description": "Cannot set item in `None`", "severity": "error" }, { "line": 778, "column": 13, "stop_line": 778, "stop_column": 33, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `source_path`", "concise_description": "Object of class `ConsumableDocument` has no attribute `source_path`", "severity": "error" }, { "line": 778, "column": 60, "stop_line": 778, "stop_column": 82, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `original_file`", "concise_description": "Object of class `Document` has no attribute `original_file`", "severity": "error" }, { "line": 789, "column": 13, "stop_line": 789, "stop_column": 37, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `refresh_from_db`", "concise_description": "Object of class `ConsumableDocument` has no attribute `refresh_from_db`", "severity": "error" }, { "line": 790, "column": 32, "stop_line": 790, "stop_column": 45, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `tags`", "concise_description": "Object of class `ConsumableDocument` has no attribute `tags`", "severity": "error" }, { "line": 807, "column": 29, "stop_line": 807, "stop_column": 37, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `ConsumableDocument | Document` is not assignable to parameter `document` with type `Document` in function `documents.workflows.mutations.apply_assignment_to_document`", "concise_description": "Argument `ConsumableDocument | Document` is not assignable to parameter `document` with type `Document` in function `documents.workflows.mutations.apply_assignment_to_document`", "severity": "error" }, { "line": 808, "column": 29, "stop_line": 808, "stop_column": 40, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`doc_tag_ids` may be uninitialized", "concise_description": "`doc_tag_ids` may be uninitialized", "severity": "error" }, { "line": 815, "column": 59, "stop_line": 815, "stop_column": 67, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `ConsumableDocument | Document` is not assignable to parameter `document` with type `Document` in function `documents.workflows.mutations.apply_removal_to_document`", "concise_description": "Argument `ConsumableDocument | Document` is not assignable to parameter `document` with type `Document` in function `documents.workflows.mutations.apply_removal_to_document`", "severity": "error" }, { "line": 815, "column": 69, "stop_line": 815, "stop_column": 80, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`doc_tag_ids` may be uninitialized", "concise_description": "`doc_tag_ids` may be uninitialized", "severity": "error" }, { "line": 840, "column": 17, "stop_line": 840, "stop_column": 31, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `title`", "concise_description": "Object of class `ConsumableDocument` has no attribute `title`", "severity": "error" }, { "line": 840, "column": 34, "stop_line": 840, "stop_column": 48, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `title`", "concise_description": "Object of class `ConsumableDocument` has no attribute `title`", "severity": "error" }, { "line": 842, "column": 17, "stop_line": 842, "stop_column": 30, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `save`", "concise_description": "Object of class `ConsumableDocument` has no attribute `save`", "severity": "error" }, { "line": 843, "column": 17, "stop_line": 843, "stop_column": 30, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `tags`", "concise_description": "Object of class `ConsumableDocument` has no attribute `tags`", "severity": "error" }, { "line": 843, "column": 35, "stop_line": 843, "stop_column": 46, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unbound-name", "description": "`doc_tag_ids` may be uninitialized", "concise_description": "`doc_tag_ids` may be uninitialized", "severity": "error" }, { "line": 866, "column": 8, "stop_line": 866, "stop_column": 29, "path": "src/documents/signals/handlers.py", "code": -2, "name": "not-iterable", "description": "`not in` is not supported between `Literal['task']` and `None`", "concise_description": "`not in` is not supported between `Literal['task']` and `None`", "severity": "error" }, { "line": 866, "column": 33, "stop_line": 866, "stop_column": 48, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 873, "column": 21, "stop_line": 873, "stop_column": 28, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 881, "column": 21, "stop_line": 881, "stop_column": 34, "path": "src/documents/signals/handlers.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 939, "column": 36, "stop_line": 939, "stop_column": 41, "path": "src/documents/signals/handlers.py", "code": -2, "name": "bad-assignment", "description": "`Unknown | None` is not assignable to attribute `status` with type `str`", "concise_description": "`Unknown | None` is not assignable to attribute `status` with type `str`", "severity": "error" }, { "line": 988, "column": 13, "stop_line": 988, "stop_column": 28, "path": "src/documents/signals/handlers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BaseDatabaseWrapper` has no attribute `close_pool`", "concise_description": "Object of class `BaseDatabaseWrapper` has no attribute `close_pool`", "severity": "error" }, { "line": 185, "column": 17, "stop_line": 185, "stop_column": 32, "path": "src/documents/tasks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `task_id` with type `str` in function `documents.plugins.base.ConsumeTaskPlugin.__init__`", "concise_description": "Argument `str | None` is not assignable to parameter `task_id` with type `str` in function `documents.plugins.base.ConsumeTaskPlugin.__init__`", "severity": "error" }, { "line": 217, "column": 12, "stop_line": 217, "stop_column": 15, "path": "src/documents/tasks.py", "code": -2, "name": "unbound-name", "description": "`msg` may be uninitialized", "concise_description": "`msg` may be uninitialized", "severity": "error" }, { "line": 276, "column": 42, "stop_line": 276, "stop_column": 83, "path": "src/documents/tasks.py", "code": -2, "name": "bad-assignment", "description": "`type[DocumentParser] | None` is not assignable to `type[DocumentParser]`", "concise_description": "`type[DocumentParser] | None` is not assignable to `type[DocumentParser]`", "severity": "error" }, { "line": 299, "column": 27, "stop_line": 299, "stop_column": 52, "path": "src/documents/tasks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 316, "column": 21, "stop_line": 316, "stop_column": 48, "path": "src/documents/tasks.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Manager` has no attribute `log_create`", "concise_description": "Object of class `Manager` has no attribute `log_create`", "severity": "error" }, { "line": 340, "column": 21, "stop_line": 340, "stop_column": 48, "path": "src/documents/tasks.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Manager` has no attribute `log_create`", "concise_description": "Object of class `Manager` has no attribute `log_create`", "severity": "error" }, { "line": 353, "column": 50, "stop_line": 353, "stop_column": 71, "path": "src/documents/tasks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `source_path` with type `Path` in function `documents.file_handling.create_source_path_directory`", "concise_description": "Argument `Path | None` is not assignable to parameter `source_path` with type `Path` in function `documents.file_handling.create_source_path_directory`", "severity": "error" }, { "line": 354, "column": 32, "stop_line": 354, "stop_column": 82, "path": "src/documents/tasks.py", "code": -2, "name": "bad-specialization", "description": "`Path | None` is not assignable to upper bound `PathLike[str] | str` of type variable `_StrPathT`", "concise_description": "`Path | None` is not assignable to upper bound `PathLike[str] | str` of type variable `_StrPathT`", "severity": "error" }, { "line": 354, "column": 33, "stop_line": 354, "stop_column": 58, "path": "src/documents/tasks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `src` with type `PathLike[str] | str` in function `shutil.move`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `src` with type `PathLike[str] | str` in function `shutil.move`", "severity": "error" }, { "line": 520, "column": 33, "stop_line": 520, "stop_column": 61, "path": "src/documents/tasks.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `run_at`", "concise_description": "Object of class `NoneType` has no attribute `run_at`", "severity": "error" }, { "line": 84, "column": 49, "stop_line": 84, "stop_column": 61, "path": "src/documents/templating/filepath.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str, ((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown]`\n Argument `(custom_field_data: dict[str, dict[str, str]], name: str, default: str | None = None) -> str | None` is not assignable to parameter `value` with type `((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str, ((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown]`", "severity": "error" }, { "line": 86, "column": 45, "stop_line": 86, "stop_column": 60, "path": "src/documents/templating/filepath.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str, ((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown]`\n Argument `(value: datetime | str, format: str) -> str` is not assignable to parameter `value` with type `((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str, ((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown]`", "severity": "error" }, { "line": 90, "column": 50, "stop_line": 90, "stop_column": 63, "path": "src/documents/templating/filepath.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str, ((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown]`\n Argument `(value: date | datetime | str, format: str, locale: str) -> str` is not assignable to parameter `value` with type `((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str, ((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown]`", "severity": "error" }, { "line": 239, "column": 17, "stop_line": 239, "stop_column": 66, "path": "src/documents/templating/filepath.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 241, "column": 23, "stop_line": 241, "stop_column": 72, "path": "src/documents/templating/filepath.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 261, "column": 12, "stop_line": 261, "stop_column": 22, "path": "src/documents/templating/filepath.py", "code": -2, "name": "bad-return", "description": "Returned type `dict[str, dict[str, dict[str, str | Unknown | None]]]` is not assignable to declared return type `dict[str, dict[str, dict[str, str]]]`", "concise_description": "Returned type `dict[str, dict[str, dict[str, str | Unknown | None]]]` is not assignable to declared return type `dict[str, dict[str, dict[str, str]]]`", "severity": "error" }, { "line": 30, "column": 17, "stop_line": 30, "stop_column": 38, "path": "src/documents/templating/filters.py", "code": -2, "name": "bad-assignment", "description": "`datetime | None` is not assignable to variable `value` with type `date | datetime | str`", "concise_description": "`datetime | None` is not assignable to variable `value` with type `date | datetime | str`", "severity": "error" }, { "line": 47, "column": 17, "stop_line": 47, "stop_column": 34, "path": "src/documents/templating/filters.py", "code": -2, "name": "bad-assignment", "description": "`date | None` is not assignable to variable `value` with type `datetime | str`", "concise_description": "`date | None` is not assignable to variable `value` with type `datetime | str`", "severity": "error" }, { "line": 48, "column": 12, "stop_line": 48, "stop_column": 26, "path": "src/documents/templating/filters.py", "code": -2, "name": "missing-attribute", "description": "Object of class `str` has no attribute `strftime`", "concise_description": "Object of class `str` has no attribute `strftime`", "severity": "error" }, { "line": 25, "column": 45, "stop_line": 25, "stop_column": 60, "path": "src/documents/templating/workflows.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str, ((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown]`\n Argument `(value: datetime | str, format: str) -> str` is not assignable to parameter `value` with type `((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str, ((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown]`", "severity": "error" }, { "line": 29, "column": 50, "stop_line": 29, "stop_column": 63, "path": "src/documents/templating/workflows.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str, ((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown]`\n Argument `(value: date | datetime | str, format: str, locale: str) -> str` is not assignable to parameter `value` with type `((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str, ((obj: Sized, /) -> int) | ((s: Any, /) -> Markup) | ((s: Any, /) -> str) | ((env: Environment, s: str, length: int = 255, killwords: bool = False, end: str = '...', leeway: int | None = None) -> str) | ((environment: Environment, obj: Any, name: str) -> Undefined | Any) | ((environment: Environment, s: str, width: int = 79, break_long_words: bool = True, wrapstring: str | None = None, break_on_hyphens: bool = True) -> str) | ((eval_ctx: EvalContext, d: Mapping[str, Any], autospace: bool = True) -> str) | ((eval_ctx: EvalContext, s: str, old: str, new: str, count: int | None = None) -> str) | ((eval_ctx: EvalContext, value: str, trim_url_limit: int | None = None, nofollow: bool = False, target: str | None = None, rel: str | None = None, extra_schemes: Iterable[str] | None = None) -> str) | ((eval_ctx: EvalContext, value: Any, indent: int | None = None) -> Markup) | ((s: str) -> int) | ((s: str) -> str) | ((s: str, width: int | str = 4, first: bool = False, blank: bool = False) -> str) | ((value: HasHTML | str) -> Markup) | ((value: HasHTML | str) -> str) | ((value: Iterable[tuple[str, Any]] | Mapping[str, Any] | str) -> str) | ((value: float | int | str, binary: bool = False) -> str) | ((value: float, precision: int = 0, method: Literal['ceil', 'common', 'floor'] = 'common') -> float) | ((value: str) -> Markup) | ((value: str, chars: str | None = None) -> str) | ((value: str, width: int = 80) -> str) | ((value: str, *args: Any, **kwargs: Any) -> str) | ((value: Any) -> str) | ((value: Any, default: float = ...) -> float) | ((value: Any, default: int = 0, base: int = 10) -> int) | ((*args: Unknown, **kwargs: Unknown) -> Unknown) | Overload[(context: Context, value: AsyncIterable[Any] | Iterable[Any], name: str, *args: Any, **kwargs: Any) -> Iterable[Any], (context: Context, value: AsyncIterable[Any] | Iterable[Any], *, attribute: str = ..., default: Any | None = None) -> Iterable[Any]] | Overload[(value: str) -> str, [V](value: Iterable[Unknown]) -> Iterable[Unknown]] | [K, V](value: Mapping[Unknown, Unknown], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[Unknown, Unknown]] | [K, V](value: Mapping[Unknown, Unknown] | Undefined) -> Iterator[tuple[Unknown, Unknown]] | [V](value: Iterable[Unknown], linecount: int, fill_with: Unknown | None = None) -> Iterator[list[Unknown]] | [V](value: Unknown, default_value: Unknown = ..., boolean: bool = False) -> Unknown | [V](environment: Environment, seq: Reversible[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | Unknown | [V](context: Context, seq: Sequence[Unknown]) -> Undefined | Unknown | [V](environment: Environment, value: Iterable[Unknown], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[Unknown] | [_T](x: SupportsAbs[Unknown], /) -> Unknown]`", "severity": "error" }, { "line": 109, "column": 12, "stop_line": 109, "stop_column": 16, "path": "src/documents/templating/workflows.py", "code": -2, "name": "bad-return", "description": "Returned type `None` is not assignable to declared return type `str`", "concise_description": "Returned type `None` is not assignable to declared return type `str`", "severity": "error" }, { "line": 28, "column": 12, "stop_line": 28, "stop_column": 41, "path": "src/documents/tests/conftest.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Manager` has no attribute `create_user`", "concise_description": "Object of class `Manager` has no attribute `create_user`", "severity": "error" }, { "line": 9, "column": 11, "stop_line": 9, "stop_column": 15, "path": "src/documents/tests/factories.py", "code": -2, "name": "bad-override", "description": "Class member `CorrespondentFactory.Meta` overrides parent class `DjangoModelFactory` in an inconsistent manner\n `CorrespondentFactory.Meta` has type `type[CorrespondentFactory.Meta]`, which is not assignable to `type[DjangoModelFactory.Meta]`, the type of `DjangoModelFactory.Meta`", "concise_description": "Class member `CorrespondentFactory.Meta` overrides parent class `DjangoModelFactory` in an inconsistent manner", "severity": "error" }, { "line": 16, "column": 11, "stop_line": 16, "stop_column": 15, "path": "src/documents/tests/factories.py", "code": -2, "name": "bad-override", "description": "Class member `DocumentFactory.Meta` overrides parent class `DjangoModelFactory` in an inconsistent manner\n `DocumentFactory.Meta` has type `type[DocumentFactory.Meta]`, which is not assignable to `type[DjangoModelFactory.Meta]`, the type of `DjangoModelFactory.Meta`", "concise_description": "Class member `DocumentFactory.Meta` overrides parent class `DjangoModelFactory` in an inconsistent manner", "severity": "error" }, { "line": 36, "column": 26, "stop_line": 36, "stop_column": 65, "path": "src/documents/tests/test_admin.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 107, "column": 26, "stop_line": 107, "stop_column": 38, "path": "src/documents/tests/test_admin.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ModelForm` has no attribute `request`", "concise_description": "Object of class `ModelForm` has no attribute `request`", "severity": "error" }, { "line": 119, "column": 9, "stop_line": 119, "stop_column": 21, "path": "src/documents/tests/test_admin.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ModelForm` has no attribute `request`", "concise_description": "Object of class `ModelForm` has no attribute `request`", "severity": "error" }, { "line": 127, "column": 9, "stop_line": 127, "stop_column": 21, "path": "src/documents/tests/test_admin.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ModelForm` has no attribute `request`", "concise_description": "Object of class `ModelForm` has no attribute `request`", "severity": "error" }, { "line": 91, "column": 9, "stop_line": 91, "stop_column": 25, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `app_title`", "concise_description": "Object of class `NoneType` has no attribute `app_title`", "severity": "error" }, { "line": 92, "column": 9, "stop_line": 92, "stop_column": 24, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `app_logo`", "concise_description": "Object of class `NoneType` has no attribute `app_logo`", "severity": "error" }, { "line": 93, "column": 9, "stop_line": 93, "stop_column": 20, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 98, "column": 30, "stop_line": 98, "stop_column": 46, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `app_title`", "concise_description": "Object of class `NoneType` has no attribute `app_title`", "severity": "error" }, { "line": 99, "column": 29, "stop_line": 99, "stop_column": 44, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `app_logo`", "concise_description": "Object of class `NoneType` has no attribute `app_logo`", "severity": "error" }, { "line": 125, "column": 26, "stop_line": 125, "stop_column": 58, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `color_conversion_strategy`", "concise_description": "Object of class `NoneType` has no attribute `color_conversion_strategy`", "severity": "error" }, { "line": 150, "column": 26, "stop_line": 150, "stop_column": 42, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `user_args`", "concise_description": "Object of class `NoneType` has no attribute `user_args`", "severity": "error" }, { "line": 151, "column": 26, "stop_line": 151, "stop_column": 41, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `language`", "concise_description": "Object of class `NoneType` has no attribute `language`", "severity": "error" }, { "line": 152, "column": 26, "stop_line": 152, "stop_column": 52, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `barcode_tag_mapping`", "concise_description": "Object of class `NoneType` has no attribute `barcode_tag_mapping`", "severity": "error" }, { "line": 187, "column": 20, "stop_line": 187, "stop_column": 35, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `app_logo`", "concise_description": "Object of class `NoneType` has no attribute `app_logo`", "severity": "error" }, { "line": 636, "column": 9, "stop_line": 636, "stop_column": 27, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `llm_api_key`", "concise_description": "Object of class `NoneType` has no attribute `llm_api_key`", "severity": "error" }, { "line": 637, "column": 9, "stop_line": 637, "stop_column": 20, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 650, "column": 9, "stop_line": 650, "stop_column": 31, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `refresh_from_db`", "concise_description": "Object of class `NoneType` has no attribute `refresh_from_db`", "severity": "error" }, { "line": 651, "column": 26, "stop_line": 651, "stop_column": 44, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `llm_api_key`", "concise_description": "Object of class `NoneType` has no attribute `llm_api_key`", "severity": "error" }, { "line": 663, "column": 9, "stop_line": 663, "stop_column": 31, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `refresh_from_db`", "concise_description": "Object of class `NoneType` has no attribute `refresh_from_db`", "severity": "error" }, { "line": 676, "column": 9, "stop_line": 676, "stop_column": 26, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `ai_enabled`", "concise_description": "Object of class `NoneType` has no attribute `ai_enabled`", "severity": "error" }, { "line": 677, "column": 9, "stop_line": 677, "stop_column": 37, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `llm_embedding_backend`", "concise_description": "Object of class `NoneType` has no attribute `llm_embedding_backend`", "severity": "error" }, { "line": 678, "column": 9, "stop_line": 678, "stop_column": 20, "path": "src/documents/tests/test_api_app_config.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 57, "column": 20, "stop_line": 57, "stop_column": 83, "path": "src/documents/tests/test_api_bulk_download.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)\n Possible overloads:\n (src: StrPath, dst: _StrPathT, *, follow_symlinks: bool = True) -> str | _StrPathT [closest match]\n (src: BytesPath, dst: _BytesPathT, *, follow_symlinks: bool = True) -> bytes | _BytesPathT", "concise_description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)", "severity": "error" }, { "line": 278, "column": 26, "stop_line": 278, "stop_column": 43, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 358, "column": 13, "stop_line": 358, "stop_column": 47, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 422, "column": 26, "stop_line": 422, "stop_column": 43, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 635, "column": 30, "stop_line": 635, "stop_column": 47, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 676, "column": 26, "stop_line": 676, "stop_column": 43, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 693, "column": 26, "stop_line": 693, "stop_column": 43, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 741, "column": 30, "stop_line": 741, "stop_column": 47, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 758, "column": 30, "stop_line": 758, "stop_column": 47, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 759, "column": 26, "stop_line": 759, "stop_column": 43, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 800, "column": 30, "stop_line": 800, "stop_column": 47, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 840, "column": 38, "stop_line": 840, "stop_column": 55, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 892, "column": 30, "stop_line": 892, "stop_column": 47, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 963, "column": 30, "stop_line": 963, "stop_column": 47, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 998, "column": 30, "stop_line": 998, "stop_column": 47, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1039, "column": 30, "stop_line": 1039, "stop_column": 47, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1076, "column": 30, "stop_line": 1076, "stop_column": 47, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1171, "column": 26, "stop_line": 1171, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1172, "column": 26, "stop_line": 1172, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1173, "column": 26, "stop_line": 1173, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1190, "column": 26, "stop_line": 1190, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1207, "column": 26, "stop_line": 1207, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1208, "column": 26, "stop_line": 1208, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1209, "column": 26, "stop_line": 1209, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1221, "column": 26, "stop_line": 1221, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1222, "column": 26, "stop_line": 1222, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1223, "column": 26, "stop_line": 1223, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1248, "column": 26, "stop_line": 1248, "stop_column": 44, "path": "src/documents/tests/test_api_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 316, "column": 44, "stop_line": 316, "stop_column": 67, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 331, "column": 31, "stop_line": 331, "stop_column": 54, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `thumbnail_dir`", "concise_description": "Class `dirs` has no class attribute `thumbnail_dir`", "severity": "error" }, { "line": 361, "column": 44, "stop_line": 361, "stop_column": 67, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 383, "column": 20, "stop_line": 383, "stop_column": 43, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `thumbnail_dir`", "concise_description": "Class `dirs` has no class attribute `thumbnail_dir`", "severity": "error" }, { "line": 421, "column": 19, "stop_line": 421, "stop_column": 35, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 1192, "column": 47, "stop_line": 1192, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1235, "column": 47, "stop_line": 1235, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1266, "column": 47, "stop_line": 1266, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1279, "column": 47, "stop_line": 1279, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1292, "column": 47, "stop_line": 1292, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1313, "column": 47, "stop_line": 1313, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1335, "column": 47, "stop_line": 1335, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1349, "column": 47, "stop_line": 1349, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1371, "column": 47, "stop_line": 1371, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1385, "column": 47, "stop_line": 1385, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1407, "column": 47, "stop_line": 1407, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1421, "column": 47, "stop_line": 1421, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1438, "column": 31, "stop_line": 1438, "stop_column": 48, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[int] | None` is not assignable to parameter `first` with type `Iterable[Any]` in function `unittest.case.TestCase.assertCountEqual`\n Protocol `Iterable` requires attribute `__iter__`", "concise_description": "Argument `list[int] | None` is not assignable to parameter `first` with type `Iterable[Any]` in function `unittest.case.TestCase.assertCountEqual`", "severity": "error" }, { "line": 1444, "column": 47, "stop_line": 1444, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1460, "column": 47, "stop_line": 1460, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1488, "column": 47, "stop_line": 1488, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1512, "column": 47, "stop_line": 1512, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1546, "column": 47, "stop_line": 1546, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1593, "column": 9, "stop_line": 1593, "stop_column": 25, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "not-iterable", "description": "Type `None` is not iterable", "concise_description": "Type `None` is not iterable", "severity": "error" }, { "line": 1608, "column": 47, "stop_line": 1608, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1654, "column": 47, "stop_line": 1654, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1726, "column": 47, "stop_line": 1726, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1750, "column": 47, "stop_line": 1750, "stop_column": 60, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "implicit-import", "description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.result` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 1781, "column": 20, "stop_line": 1781, "stop_column": 52, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)\n Possible overloads:\n (src: StrPath, dst: _StrPathT, *, follow_symlinks: bool = True) -> str | _StrPathT [closest match]\n (src: BytesPath, dst: _BytesPathT, *, follow_symlinks: bool = True) -> bytes | _BytesPathT", "concise_description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)", "severity": "error" }, { "line": 2089, "column": 26, "stop_line": 2089, "stop_column": 41, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Object of class `SavedView` has no attribute `filter_rules`", "concise_description": "Object of class `SavedView` has no attribute `filter_rules`", "severity": "error" }, { "line": 2101, "column": 26, "stop_line": 2101, "stop_column": 41, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Object of class `SavedView` has no attribute `filter_rules`", "concise_description": "Object of class `SavedView` has no attribute `filter_rules`", "severity": "error" }, { "line": 2109, "column": 26, "stop_line": 2109, "stop_column": 41, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Object of class `SavedView` has no attribute `filter_rules`", "concise_description": "Object of class `SavedView` has no attribute `filter_rules`", "severity": "error" }, { "line": 2110, "column": 26, "stop_line": 2110, "stop_column": 41, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Object of class `SavedView` has no attribute `filter_rules`", "concise_description": "Object of class `SavedView` has no attribute `filter_rules`", "severity": "error" }, { "line": 2118, "column": 26, "stop_line": 2118, "stop_column": 41, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Object of class `SavedView` has no attribute `filter_rules`", "concise_description": "Object of class `SavedView` has no attribute `filter_rules`", "severity": "error" }, { "line": 2527, "column": 27, "stop_line": 2527, "stop_column": 39, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `id`", "concise_description": "Object of class `NoneType` has no attribute `id`", "severity": "error" }, { "line": 2528, "column": 33, "stop_line": 2528, "stop_column": 51, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `username`", "concise_description": "Object of class `NoneType` has no attribute `username`", "severity": "error" }, { "line": 2529, "column": 35, "stop_line": 2529, "stop_column": 55, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `first_name`", "concise_description": "Object of class `NoneType` has no attribute `first_name`", "severity": "error" }, { "line": 2530, "column": 34, "stop_line": 2530, "stop_column": 53, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `last_name`", "concise_description": "Object of class `NoneType` has no attribute `last_name`", "severity": "error" }, { "line": 3129, "column": 20, "stop_line": 3129, "stop_column": 52, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)\n Possible overloads:\n (src: StrPath, dst: _StrPathT, *, follow_symlinks: bool = True) -> str | _StrPathT [closest match]\n (src: BytesPath, dst: _BytesPathT, *, follow_symlinks: bool = True) -> bytes | _BytesPathT", "concise_description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)", "severity": "error" }, { "line": 3466, "column": 39, "stop_line": 3466, "stop_column": 53, "path": "src/documents/tests/test_api_documents.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[bool] | list[date] | list[float] | list[int] | list[str]` is not assignable to parameter `iterable` with type `Iterable[bool]` in function `enumerate.__new__`", "concise_description": "Argument `list[bool] | list[date] | list[float] | list[int] | list[str]` is not assignable to parameter `iterable` with type `Iterable[bool]` in function `enumerate.__new__`", "severity": "error" }, { "line": 44, "column": 20, "stop_line": 47, "stop_column": 10, "path": "src/documents/tests/test_api_email.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)\n Possible overloads:\n (src: StrPath, dst: _StrPathT, *, follow_symlinks: bool = True) -> str | _StrPathT [closest match]\n (src: BytesPath, dst: _BytesPathT, *, follow_symlinks: bool = True) -> bytes | _BytesPathT", "concise_description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)", "severity": "error" }, { "line": 103, "column": 24, "stop_line": 103, "stop_column": 51, "path": "src/documents/tests/test_api_email.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `stat`", "concise_description": "Object of class `NoneType` has no attribute `stat`", "severity": "error" }, { "line": 25, "column": 16, "stop_line": 25, "stop_column": 44, "path": "src/documents/tests/test_api_filter_by_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 28, "column": 16, "stop_line": 28, "stop_column": 44, "path": "src/documents/tests/test_api_filter_by_custom_fields.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 222, "column": 26, "stop_line": 222, "stop_column": 36, "path": "src/documents/tests/test_api_permissions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 252, "column": 26, "stop_line": 252, "stop_column": 36, "path": "src/documents/tests/test_api_permissions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 299, "column": 55, "stop_line": 299, "stop_column": 59, "path": "src/documents/tests/test_api_permissions.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Tag | None` is not assignable to parameter `obj` with type `Model` in function `guardian.core.ObjectPermissionChecker.has_perm`", "concise_description": "Argument `Tag | None` is not assignable to parameter `obj` with type `Model` in function `guardian.core.ObjectPermissionChecker.has_perm`", "severity": "error" }, { "line": 300, "column": 53, "stop_line": 300, "stop_column": 57, "path": "src/documents/tests/test_api_permissions.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Tag | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_perms`", "concise_description": "Argument `Tag | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_perms`", "severity": "error" }, { "line": 344, "column": 26, "stop_line": 344, "stop_column": 36, "path": "src/documents/tests/test_api_permissions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 345, "column": 53, "stop_line": 345, "stop_column": 57, "path": "src/documents/tests/test_api_permissions.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Tag | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_perms`", "concise_description": "Argument `Tag | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_perms`", "severity": "error" }, { "line": 46, "column": 21, "stop_line": 46, "stop_column": 29, "path": "src/documents/tests/test_api_profile.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `name`", "concise_description": "Object of class `NoneType` has no attribute `name`", "severity": "error" }, { "line": 49, "column": 19, "stop_line": 49, "stop_column": 39, "path": "src/documents/tests/test_api_profile.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `provider_id`", "concise_description": "Object of class `NoneType` has no attribute `provider_id`", "severity": "error" }, { "line": 71, "column": 9, "stop_line": 71, "stop_column": 36, "path": "src/documents/tests/test_api_profile.py", "code": -2, "name": "missing-attribute", "description": "Object of class `User` has no attribute `socialaccount_set`", "concise_description": "Object of class `User` has no attribute `socialaccount_set`", "severity": "error" }, { "line": 279, "column": 41, "stop_line": 279, "stop_column": 51, "path": "src/documents/tests/test_api_profile.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `key`", "concise_description": "Object of class `NoneType` has no attribute `key`", "severity": "error" }, { "line": 382, "column": 29, "stop_line": 382, "stop_column": 56, "path": "src/documents/tests/test_api_profile.py", "code": -2, "name": "missing-attribute", "description": "Object of class `User` has no attribute `socialaccount_set`", "concise_description": "Object of class `User` has no attribute `socialaccount_set`", "severity": "error" }, { "line": 393, "column": 17, "stop_line": 393, "stop_column": 44, "path": "src/documents/tests/test_api_profile.py", "code": -2, "name": "missing-attribute", "description": "Object of class `User` has no attribute `socialaccount_set`", "concise_description": "Object of class `User` has no attribute `socialaccount_set`", "severity": "error" }, { "line": 53, "column": 52, "stop_line": 53, "stop_column": 65, "path": "src/documents/tests/test_api_tasks.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 57, "column": 52, "stop_line": 57, "stop_column": 65, "path": "src/documents/tests/test_api_tasks.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 235, "column": 20, "stop_line": 235, "stop_column": 33, "path": "src/documents/tests/test_api_tasks.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 261, "column": 20, "stop_line": 261, "stop_column": 33, "path": "src/documents/tests/test_api_tasks.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 291, "column": 20, "stop_line": 291, "stop_column": 33, "path": "src/documents/tests/test_api_tasks.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 317, "column": 20, "stop_line": 317, "stop_column": 33, "path": "src/documents/tests/test_api_tasks.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 355, "column": 20, "stop_line": 355, "stop_column": 33, "path": "src/documents/tests/test_api_tasks.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 73, "column": 23, "stop_line": 73, "stop_column": 49, "path": "src/documents/tests/test_api_uisettings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `User` has no attribute `ui_settings`", "concise_description": "Object of class `User` has no attribute `ui_settings`", "severity": "error" }, { "line": 99, "column": 13, "stop_line": 99, "stop_column": 48, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `pk`", "concise_description": "Object of class `NoneType` has no attribute `pk`", "severity": "error" }, { "line": 243, "column": 17, "stop_line": 243, "stop_column": 40, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_tags`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_tags`", "severity": "error" }, { "line": 247, "column": 17, "stop_line": 247, "stop_column": 44, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_all_tags`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_all_tags`", "severity": "error" }, { "line": 251, "column": 17, "stop_line": 251, "stop_column": 44, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_not_tags`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_not_tags`", "severity": "error" }, { "line": 255, "column": 17, "stop_line": 255, "stop_column": 54, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_any_correspondents`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_any_correspondents`", "severity": "error" }, { "line": 259, "column": 17, "stop_line": 259, "stop_column": 54, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_not_correspondents`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_not_correspondents`", "severity": "error" }, { "line": 263, "column": 17, "stop_line": 263, "stop_column": 54, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_any_document_types`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_any_document_types`", "severity": "error" }, { "line": 267, "column": 17, "stop_line": 267, "stop_column": 54, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_not_document_types`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_not_document_types`", "severity": "error" }, { "line": 271, "column": 17, "stop_line": 271, "stop_column": 53, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_any_storage_paths`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_any_storage_paths`", "severity": "error" }, { "line": 275, "column": 17, "stop_line": 275, "stop_column": 53, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_not_storage_paths`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_not_storage_paths`", "severity": "error" }, { "line": 279, "column": 13, "stop_line": 279, "stop_column": 46, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_custom_field_query`", "concise_description": "Object of class `NoneType` has no attribute `filter_custom_field_query`", "severity": "error" }, { "line": 462, "column": 26, "stop_line": 462, "stop_column": 67, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_tags`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_tags`", "severity": "error" }, { "line": 464, "column": 13, "stop_line": 464, "stop_column": 58, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_all_tags`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_all_tags`", "severity": "error" }, { "line": 468, "column": 13, "stop_line": 468, "stop_column": 58, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_not_tags`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_not_tags`", "severity": "error" }, { "line": 472, "column": 13, "stop_line": 472, "stop_column": 68, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_any_correspondents`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_any_correspondents`", "severity": "error" }, { "line": 476, "column": 13, "stop_line": 476, "stop_column": 68, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_not_correspondents`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_not_correspondents`", "severity": "error" }, { "line": 480, "column": 13, "stop_line": 480, "stop_column": 68, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_any_document_types`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_any_document_types`", "severity": "error" }, { "line": 484, "column": 13, "stop_line": 484, "stop_column": 68, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_not_document_types`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_not_document_types`", "severity": "error" }, { "line": 488, "column": 13, "stop_line": 488, "stop_column": 67, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_any_storage_paths`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_any_storage_paths`", "severity": "error" }, { "line": 492, "column": 13, "stop_line": 492, "stop_column": 67, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_has_not_storage_paths`", "concise_description": "Object of class `NoneType` has no attribute `filter_has_not_storage_paths`", "severity": "error" }, { "line": 496, "column": 13, "stop_line": 496, "stop_column": 64, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filter_custom_field_query`", "concise_description": "Object of class `NoneType` has no attribute `filter_custom_field_query`", "severity": "error" }, { "line": 499, "column": 26, "stop_line": 499, "stop_column": 63, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `assign_title`", "concise_description": "Object of class `NoneType` has no attribute `assign_title`", "severity": "error" }, { "line": 581, "column": 29, "stop_line": 581, "stop_column": 57, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `id`", "concise_description": "Object of class `NoneType` has no attribute `id`", "severity": "error" }, { "line": 583, "column": 29, "stop_line": 583, "stop_column": 56, "path": "src/documents/tests/test_api_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `id`", "concise_description": "Object of class `NoneType` has no attribute `id`", "severity": "error" }, { "line": 29, "column": 12, "stop_line": 29, "stop_column": 20, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-import", "description": "Cannot find module `zxingcpp`\n Looked in these locations (from config in `/home/trenton/projects/paperless-ngx/pyproject.toml`):\n Search path (from config file): [\"/home/trenton/projects/paperless-ngx/src\"]\n Import root (inferred from project layout): \"/home/trenton/projects/paperless-ngx/src\"\n Site package path queried from interpreter: [\"/home/trenton/.local/share/uv/python/cpython-3.13.4-linux-x86_64-gnu/lib/python3.13\", \"/home/trenton/.local/share/uv/python/cpython-3.13.4-linux-x86_64-gnu/lib/python3.13/lib-dynload\", \"/home/trenton/projects/paperless-ngx/.venv/lib/python3.13/site-packages\"]", "concise_description": "Cannot find module `zxingcpp`", "severity": "error" }, { "line": 42, "column": 13, "stop_line": 42, "stop_column": 54, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DummyProgressManager` is not assignable to parameter `status_mgr` with type `ProgressManager` in function `documents.barcodes.BarcodePlugin.__init__`", "concise_description": "Argument `DummyProgressManager` is not assignable to parameter `status_mgr` with type `ProgressManager` in function `documents.barcodes.BarcodePlugin.__init__`", "severity": "error" }, { "line": 43, "column": 13, "stop_line": 43, "stop_column": 22, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-attribute", "description": "Object of class `GetReaderPluginMixin` has no attribute `dirs`", "concise_description": "Object of class `GetReaderPluginMixin` has no attribute `dirs`", "severity": "error" }, { "line": 597, "column": 9, "stop_line": 597, "stop_column": 36, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `barcodes_enabled`", "concise_description": "Object of class `NoneType` has no attribute `barcodes_enabled`", "severity": "error" }, { "line": 598, "column": 9, "stop_line": 598, "stop_column": 34, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `barcode_string`", "concise_description": "Object of class `NoneType` has no attribute `barcode_string`", "severity": "error" }, { "line": 599, "column": 9, "stop_line": 599, "stop_column": 24, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 631, "column": 21, "stop_line": 631, "stop_column": 42, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 667, "column": 5, "stop_line": 667, "stop_column": 20, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "bad-argument-type", "description": "Argument `(self: Self@TestAsnBarcode, filepath: Path) -> BarcodePlugin` is not assignable to parameter `func` with type `(self: Self@TestAsnBarcode, filepath: Path) -> Iterator[@_]` in function `contextlib.contextmanager`\n Protocol `Iterator` requires attribute `__next__`", "concise_description": "Argument `(self: Self@TestAsnBarcode, filepath: Path) -> BarcodePlugin` is not assignable to parameter `func` with type `(self: Self@TestAsnBarcode, filepath: Path) -> Iterator[@_]` in function `contextlib.contextmanager`", "severity": "error" }, { "line": 668, "column": 45, "stop_line": 668, "stop_column": 58, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "bad-return", "description": "Generator function should return `Generator`", "concise_description": "Generator function should return `Generator`", "severity": "error" }, { "line": 672, "column": 13, "stop_line": 672, "stop_column": 54, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DummyProgressManager` is not assignable to parameter `status_mgr` with type `ProgressManager` in function `documents.barcodes.BarcodePlugin.__init__`", "concise_description": "Argument `DummyProgressManager` is not assignable to parameter `status_mgr` with type `ProgressManager` in function `documents.barcodes.BarcodePlugin.__init__`", "severity": "error" }, { "line": 673, "column": 13, "stop_line": 673, "stop_column": 34, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 785, "column": 30, "stop_line": 785, "stop_column": 60, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `archive_serial_number`", "concise_description": "Object of class `NoneType` has no attribute `archive_serial_number`", "severity": "error" }, { "line": 848, "column": 5, "stop_line": 848, "stop_column": 20, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "bad-argument-type", "description": "Argument `(self: Self@TestTagBarcode, filepath: Path) -> BarcodePlugin` is not assignable to parameter `func` with type `(self: Self@TestTagBarcode, filepath: Path) -> Iterator[@_]` in function `contextlib.contextmanager`\n Protocol `Iterator` requires attribute `__next__`", "concise_description": "Argument `(self: Self@TestTagBarcode, filepath: Path) -> BarcodePlugin` is not assignable to parameter `func` with type `(self: Self@TestTagBarcode, filepath: Path) -> Iterator[@_]` in function `contextlib.contextmanager`", "severity": "error" }, { "line": 849, "column": 45, "stop_line": 849, "stop_column": 58, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "bad-return", "description": "Generator function should return `Generator`", "concise_description": "Generator function should return `Generator`", "severity": "error" }, { "line": 853, "column": 13, "stop_line": 853, "stop_column": 54, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DummyProgressManager` is not assignable to parameter `status_mgr` with type `ProgressManager` in function `documents.barcodes.BarcodePlugin.__init__`", "concise_description": "Argument `DummyProgressManager` is not assignable to parameter `status_mgr` with type `ProgressManager` in function `documents.barcodes.BarcodePlugin.__init__`", "severity": "error" }, { "line": 854, "column": 13, "stop_line": 854, "stop_column": 34, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 1094, "column": 30, "stop_line": 1094, "stop_column": 52, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `name`", "concise_description": "Object of class `NoneType` has no attribute `name`", "severity": "error" }, { "line": 1098, "column": 30, "stop_line": 1098, "stop_column": 52, "path": "src/documents/tests/test_barcodes.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `name`", "concise_description": "Object of class `NoneType` has no attribute `name`", "severity": "error" }, { "line": 74, "column": 13, "stop_line": 74, "stop_column": 23, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int` is not assignable to parameter `correspondent` with type `Correspondent` in function `documents.bulk_edit.set_correspondent`", "concise_description": "Argument `int` is not assignable to parameter `correspondent` with type `Correspondent` in function `documents.bulk_edit.set_correspondent`", "severity": "error" }, { "line": 83, "column": 81, "stop_line": 83, "stop_column": 85, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `correspondent` with type `Correspondent` in function `documents.bulk_edit.set_correspondent`", "concise_description": "Argument `None` is not assignable to parameter `correspondent` with type `Correspondent` in function `documents.bulk_edit.set_correspondent`", "severity": "error" }, { "line": 93, "column": 13, "stop_line": 93, "stop_column": 24, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int` is not assignable to parameter `document_type` with type `DocumentType` in function `documents.bulk_edit.set_document_type`", "concise_description": "Argument `int` is not assignable to parameter `document_type` with type `DocumentType` in function `documents.bulk_edit.set_document_type`", "severity": "error" }, { "line": 102, "column": 81, "stop_line": 102, "stop_column": 85, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `document_type` with type `DocumentType` in function `documents.bulk_edit.set_document_type`", "concise_description": "Argument `None` is not assignable to parameter `document_type` with type `DocumentType` in function `documents.bulk_edit.set_document_type`", "severity": "error" }, { "line": 121, "column": 13, "stop_line": 121, "stop_column": 24, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int` is not assignable to parameter `storage_path` with type `StoragePath` in function `documents.bulk_edit.set_storage_path`", "concise_description": "Argument `int` is not assignable to parameter `storage_path` with type `StoragePath` in function `documents.bulk_edit.set_storage_path`", "severity": "error" }, { "line": 145, "column": 13, "stop_line": 145, "stop_column": 24, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int` is not assignable to parameter `storage_path` with type `StoragePath` in function `documents.bulk_edit.set_storage_path`", "concise_description": "Argument `int` is not assignable to parameter `storage_path` with type `StoragePath` in function `documents.bulk_edit.set_storage_path`", "severity": "error" }, { "line": 152, "column": 13, "stop_line": 152, "stop_column": 17, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `storage_path` with type `StoragePath` in function `documents.bulk_edit.set_storage_path`", "concise_description": "Argument `None` is not assignable to parameter `storage_path` with type `StoragePath` in function `documents.bulk_edit.set_storage_path`", "severity": "error" }, { "line": 243, "column": 13, "stop_line": 243, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 247, "column": 13, "stop_line": 247, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 303, "column": 13, "stop_line": 303, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 307, "column": 13, "stop_line": 307, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 311, "column": 13, "stop_line": 311, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 315, "column": 13, "stop_line": 315, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 319, "column": 13, "stop_line": 319, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 324, "column": 13, "stop_line": 324, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 340, "column": 13, "stop_line": 340, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 344, "column": 13, "stop_line": 344, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 368, "column": 13, "stop_line": 368, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 372, "column": 13, "stop_line": 372, "stop_column": 36, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 416, "column": 48, "stop_line": 416, "stop_column": 50, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 422, "column": 26, "stop_line": 422, "stop_column": 49, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 460, "column": 48, "stop_line": 460, "stop_column": 50, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 466, "column": 26, "stop_line": 466, "stop_column": 49, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 481, "column": 19, "stop_line": 481, "stop_column": 40, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 490, "column": 27, "stop_line": 490, "stop_column": 48, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `archive_dir`", "concise_description": "Class `dirs` has no class attribute `archive_dir`", "severity": "error" }, { "line": 499, "column": 19, "stop_line": 499, "stop_column": 40, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 508, "column": 27, "stop_line": 508, "stop_column": 48, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `archive_dir`", "concise_description": "Class `dirs` has no class attribute `archive_dir`", "severity": "error" }, { "line": 517, "column": 19, "stop_line": 517, "stop_column": 40, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 550, "column": 19, "stop_line": 550, "stop_column": 40, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 555, "column": 27, "stop_line": 555, "stop_column": 48, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `archive_dir`", "concise_description": "Class `dirs` has no class attribute `archive_dir`", "severity": "error" }, { "line": 895, "column": 31, "stop_line": 895, "stop_column": 62, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "unsupported-operation", "description": "`-` is not supported between `None` and `int`\n Argument `None` is not assignable to parameter `value` with type `int` in function `int.__rsub__`", "concise_description": "`-` is not supported between `None` and `int`", "severity": "error" }, { "line": 1125, "column": 20, "stop_line": 1125, "stop_column": 41, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 1183, "column": 20, "stop_line": 1183, "stop_column": 41, "path": "src/documents/tests/test_bulk_edit.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 38, "column": 25, "stop_line": 38, "stop_column": 29, "path": "src/documents/tests/test_checks.py", "code": -2, "name": "unexpected-keyword", "description": "Unexpected keyword argument `hint` in function `BaseException.__init__`", "concise_description": "Unexpected keyword argument `hint` in function `BaseException.__init__`", "severity": "error" }, { "line": 206, "column": 18, "stop_line": 206, "stop_column": 67, "path": "src/documents/tests/test_classifier.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `classes_`", "concise_description": "Object of class `NoneType` has no attribute `classes_`", "severity": "error" }, { "line": 210, "column": 18, "stop_line": 210, "stop_column": 57, "path": "src/documents/tests/test_classifier.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `classes_`", "concise_description": "Object of class `NoneType` has no attribute `classes_`", "severity": "error" }, { "line": 230, "column": 23, "stop_line": 230, "stop_column": 64, "path": "src/documents/tests/test_classifier.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `transform`", "concise_description": "Object of class `NoneType` has no attribute `transform`", "severity": "error" }, { "line": 691, "column": 13, "stop_line": 691, "stop_column": 34, "path": "src/documents/tests/test_classifier.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 694, "column": 24, "stop_line": 694, "stop_column": 45, "path": "src/documents/tests/test_classifier.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 38, "column": 9, "stop_line": 38, "stop_column": 21, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "bad-override", "description": "Class member `_BaseTestParser.get_settings` overrides parent class `DocumentParser` in an inconsistent manner\n `_BaseTestParser.get_settings` has type `BoundMethod[_BaseTestParser, (self: _BaseTestParser) -> None]`, which is not assignable to `BoundMethod[_BaseTestParser, (self: _BaseTestParser) -> Never]`, the type of `DocumentParser.get_settings`", "concise_description": "Class member `_BaseTestParser.get_settings` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 51, "column": 9, "stop_line": 51, "stop_column": 22, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "bad-override", "description": "Class member `DummyParser.get_thumbnail` overrides parent class `_BaseTestParser` in an inconsistent manner\n `DummyParser.get_thumbnail` has type `BoundMethod[DummyParser, (self: DummyParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> str]`, which is not assignable to `BoundMethod[DummyParser, (self: DummyParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `_BaseTestParser.get_thumbnail`", "concise_description": "Class member `DummyParser.get_thumbnail` overrides parent class `_BaseTestParser` in an inconsistent manner", "severity": "error" }, { "line": 54, "column": 9, "stop_line": 54, "stop_column": 14, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "bad-override", "description": "Class member `DummyParser.parse` overrides parent class `_BaseTestParser` in an inconsistent manner\n `DummyParser.parse` has type `BoundMethod[DummyParser, (self: DummyParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> None]`, which is not assignable to `BoundMethod[DummyParser, (self: DummyParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `_BaseTestParser.parse`", "concise_description": "Class member `DummyParser.parse` overrides parent class `_BaseTestParser` in an inconsistent manner", "severity": "error" }, { "line": 59, "column": 9, "stop_line": 59, "stop_column": 22, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "bad-override", "description": "Class member `CopyParser.get_thumbnail` overrides parent class `_BaseTestParser` in an inconsistent manner\n `CopyParser.get_thumbnail` has type `BoundMethod[CopyParser, (self: CopyParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> str]`, which is not assignable to `BoundMethod[CopyParser, (self: CopyParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `_BaseTestParser.get_thumbnail`", "concise_description": "Class member `CopyParser.get_thumbnail` overrides parent class `_BaseTestParser` in an inconsistent manner", "severity": "error" }, { "line": 66, "column": 9, "stop_line": 66, "stop_column": 14, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "bad-override", "description": "Class member `CopyParser.parse` overrides parent class `_BaseTestParser` in an inconsistent manner\n `CopyParser.parse` has type `BoundMethod[CopyParser, (self: CopyParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> None]`, which is not assignable to `BoundMethod[CopyParser, (self: CopyParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `_BaseTestParser.parse`", "concise_description": "Class member `CopyParser.parse` overrides parent class `_BaseTestParser` in an inconsistent manner", "severity": "error" }, { "line": 77, "column": 9, "stop_line": 77, "stop_column": 22, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "bad-override", "description": "Class member `FaultyParser.get_thumbnail` overrides parent class `_BaseTestParser` in an inconsistent manner\n `FaultyParser.get_thumbnail` has type `BoundMethod[FaultyParser, (self: FaultyParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> str]`, which is not assignable to `BoundMethod[FaultyParser, (self: FaultyParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `_BaseTestParser.get_thumbnail`", "concise_description": "Class member `FaultyParser.get_thumbnail` overrides parent class `_BaseTestParser` in an inconsistent manner", "severity": "error" }, { "line": 89, "column": 9, "stop_line": 89, "stop_column": 22, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "bad-override", "description": "Class member `FaultyGenericExceptionParser.get_thumbnail` overrides parent class `_BaseTestParser` in an inconsistent manner\n `FaultyGenericExceptionParser.get_thumbnail` has type `BoundMethod[FaultyGenericExceptionParser, (self: FaultyGenericExceptionParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> str]`, which is not assignable to `BoundMethod[FaultyGenericExceptionParser, (self: FaultyGenericExceptionParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `_BaseTestParser.get_thumbnail`", "concise_description": "Class member `FaultyGenericExceptionParser.get_thumbnail` overrides parent class `_BaseTestParser` in an inconsistent manner", "severity": "error" }, { "line": 147, "column": 13, "stop_line": 147, "stop_column": 34, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 152, "column": 44, "stop_line": 152, "stop_column": 65, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 159, "column": 60, "stop_line": 159, "stop_column": 81, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 186, "column": 15, "stop_line": 186, "stop_column": 36, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 198, "column": 15, "stop_line": 198, "stop_column": 36, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 206, "column": 15, "stop_line": 206, "stop_column": 36, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 239, "column": 27, "stop_line": 239, "stop_column": 48, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 257, "column": 28, "stop_line": 257, "stop_column": 49, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 320, "column": 26, "stop_line": 320, "stop_column": 51, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `id`", "concise_description": "Object of class `NoneType` has no attribute `id`", "severity": "error" }, { "line": 334, "column": 26, "stop_line": 334, "stop_column": 48, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 348, "column": 26, "stop_line": 348, "stop_column": 47, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `storage_path`", "concise_description": "Object of class `NoneType` has no attribute `storage_path`", "severity": "error" }, { "line": 364, "column": 27, "stop_line": 364, "stop_column": 40, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 365, "column": 30, "stop_line": 365, "stop_column": 43, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 366, "column": 27, "stop_line": 366, "stop_column": 40, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 391, "column": 56, "stop_line": 391, "stop_column": 78, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "severity": "error" }, { "line": 396, "column": 26, "stop_line": 396, "stop_column": 48, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "severity": "error" }, { "line": 398, "column": 13, "stop_line": 398, "stop_column": 35, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "severity": "error" }, { "line": 412, "column": 26, "stop_line": 412, "stop_column": 56, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `archive_serial_number`", "concise_description": "Object of class `NoneType` has no attribute `archive_serial_number`", "severity": "error" }, { "line": 440, "column": 26, "stop_line": 440, "stop_column": 40, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 454, "column": 26, "stop_line": 454, "stop_column": 40, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 473, "column": 64, "stop_line": 473, "stop_column": 72, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.core.ObjectPermissionChecker.has_perm`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.core.ObjectPermissionChecker.has_perm`", "severity": "error" }, { "line": 475, "column": 65, "stop_line": 475, "stop_column": 73, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.core.ObjectPermissionChecker.has_perm`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.core.ObjectPermissionChecker.has_perm`", "severity": "error" }, { "line": 543, "column": 13, "stop_line": 543, "stop_column": 28, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `delete`", "concise_description": "Object of class `NoneType` has no attribute `delete`", "severity": "error" }, { "line": 639, "column": 26, "stop_line": 639, "stop_column": 40, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 640, "column": 26, "stop_line": 640, "stop_column": 43, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filename`", "concise_description": "Object of class `NoneType` has no attribute `filename`", "severity": "error" }, { "line": 641, "column": 26, "stop_line": 641, "stop_column": 51, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `archive_filename`", "concise_description": "Object of class `NoneType` has no attribute `archive_filename`", "severity": "error" }, { "line": 667, "column": 26, "stop_line": 667, "stop_column": 40, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 669, "column": 27, "stop_line": 669, "stop_column": 47, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `source_path`", "concise_description": "Object of class `NoneType` has no attribute `source_path`", "severity": "error" }, { "line": 670, "column": 27, "stop_line": 670, "stop_column": 48, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `archive_path`", "concise_description": "Object of class `NoneType` has no attribute `archive_path`", "severity": "error" }, { "line": 697, "column": 26, "stop_line": 697, "stop_column": 48, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 698, "column": 26, "stop_line": 698, "stop_column": 48, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 699, "column": 27, "stop_line": 699, "stop_column": 40, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 700, "column": 30, "stop_line": 700, "stop_column": 43, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 743, "column": 9, "stop_line": 743, "stop_column": 24, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `delete`", "concise_description": "Object of class `NoneType` has no attribute `delete`", "severity": "error" }, { "line": 750, "column": 37, "stop_line": 750, "stop_column": 51, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 750, "column": 56, "stop_line": 750, "stop_column": 67, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `pk`", "concise_description": "Object of class `NoneType` has no attribute `pk`", "severity": "error" }, { "line": 828, "column": 26, "stop_line": 828, "stop_column": 39, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filename`", "concise_description": "Object of class `NoneType` has no attribute `filename`", "severity": "error" }, { "line": 829, "column": 26, "stop_line": 829, "stop_column": 47, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `archive_filename`", "concise_description": "Object of class `NoneType` has no attribute `archive_filename`", "severity": "error" }, { "line": 831, "column": 26, "stop_line": 831, "stop_column": 39, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filename`", "concise_description": "Object of class `NoneType` has no attribute `filename`", "severity": "error" }, { "line": 832, "column": 26, "stop_line": 832, "stop_column": 47, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `archive_filename`", "concise_description": "Object of class `NoneType` has no attribute `archive_filename`", "severity": "error" }, { "line": 834, "column": 26, "stop_line": 834, "stop_column": 39, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `filename`", "concise_description": "Object of class `NoneType` has no attribute `filename`", "severity": "error" }, { "line": 835, "column": 26, "stop_line": 835, "stop_column": 47, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `archive_filename`", "concise_description": "Object of class `NoneType` has no attribute `archive_filename`", "severity": "error" }, { "line": 934, "column": 15, "stop_line": 934, "stop_column": 36, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 943, "column": 13, "stop_line": 943, "stop_column": 29, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `created`", "concise_description": "Object of class `NoneType` has no attribute `created`", "severity": "error" }, { "line": 964, "column": 15, "stop_line": 964, "stop_column": 36, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 973, "column": 13, "stop_line": 973, "stop_column": 29, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `created`", "concise_description": "Object of class `NoneType` has no attribute `created`", "severity": "error" }, { "line": 994, "column": 15, "stop_line": 994, "stop_column": 36, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 1003, "column": 13, "stop_line": 1003, "stop_column": 29, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `created`", "concise_description": "Object of class `NoneType` has no attribute `created`", "severity": "error" }, { "line": 1026, "column": 15, "stop_line": 1026, "stop_column": 36, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 1035, "column": 13, "stop_line": 1035, "stop_column": 29, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `created`", "concise_description": "Object of class `NoneType` has no attribute `created`", "severity": "error" }, { "line": 1050, "column": 26, "stop_line": 1050, "stop_column": 47, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 1161, "column": 26, "stop_line": 1161, "stop_column": 47, "path": "src/documents/tests/test_consumer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 32, "column": 38, "stop_line": 32, "stop_column": 63, "path": "src/documents/tests/test_double_sided.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `consumption_dir`", "concise_description": "Class `dirs` has no class attribute `consumption_dir`", "severity": "error" }, { "line": 33, "column": 9, "stop_line": 33, "stop_column": 35, "path": "src/documents/tests/test_double_sided.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `double_sided_dir`", "concise_description": "Class `dirs` has no class attribute `double_sided_dir`", "severity": "error" }, { "line": 34, "column": 29, "stop_line": 34, "stop_column": 50, "path": "src/documents/tests/test_double_sided.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 42, "column": 15, "stop_line": 42, "stop_column": 41, "path": "src/documents/tests/test_double_sided.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `double_sided_dir`", "concise_description": "Class `dirs` has no class attribute `double_sided_dir`", "severity": "error" }, { "line": 63, "column": 42, "stop_line": 63, "stop_column": 69, "path": "src/documents/tests/test_double_sided.py", "code": -2, "name": "bad-argument-type", "description": "Argument `tuple[float | Unknown, ...]` is not assignable to parameter `times` with type `tuple[float, float] | tuple[int, int] | None` in function `os.utime`", "concise_description": "Argument `tuple[float | Unknown, ...]` is not assignable to parameter `times` with type `tuple[float, float] | tuple[int, int] | None` in function `os.utime`", "severity": "error" }, { "line": 106, "column": 18, "stop_line": 106, "stop_column": 43, "path": "src/documents/tests/test_double_sided.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `consumption_dir`", "concise_description": "Class `dirs` has no class attribute `consumption_dir`", "severity": "error" }, { "line": 240, "column": 21, "stop_line": 240, "stop_column": 46, "path": "src/documents/tests/test_double_sided.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `consumption_dir`", "concise_description": "Class `dirs` has no class attribute `consumption_dir`", "severity": "error" }, { "line": 505, "column": 18, "stop_line": 505, "stop_column": 34, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 588, "column": 27, "stop_line": 588, "stop_column": 43, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 608, "column": 27, "stop_line": 608, "stop_column": 43, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 635, "column": 30, "stop_line": 635, "stop_column": 46, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`", "severity": "error" }, { "line": 658, "column": 27, "stop_line": 658, "stop_column": 43, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 682, "column": 27, "stop_line": 682, "stop_column": 43, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 704, "column": 27, "stop_line": 704, "stop_column": 43, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 735, "column": 27, "stop_line": 735, "stop_column": 43, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 755, "column": 27, "stop_line": 755, "stop_column": 43, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 786, "column": 27, "stop_line": 786, "stop_column": 43, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 806, "column": 27, "stop_line": 806, "stop_column": 43, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 814, "column": 30, "stop_line": 814, "stop_column": 46, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`", "severity": "error" }, { "line": 841, "column": 27, "stop_line": 841, "stop_column": 44, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 848, "column": 27, "stop_line": 848, "stop_column": 44, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 874, "column": 27, "stop_line": 874, "stop_column": 43, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 1657, "column": 31, "stop_line": 1657, "stop_column": 48, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 1680, "column": 31, "stop_line": 1680, "stop_column": 48, "path": "src/documents/tests/test_file_handling.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 166, "column": 27, "stop_line": 166, "stop_column": 40, "path": "src/documents/tests/test_filters.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Literal[1698330605] | dict[Any, Any] | list[object] | None` is not assignable to parameter `value` with type `date | datetime | str` in function `documents.templating.filters.localize_date`", "concise_description": "Argument `Literal[1698330605] | dict[Any, Any] | list[object] | None` is not assignable to parameter `value` with type `date | datetime | str` in function `documents.templating.filters.localize_date`", "severity": "error" }, { "line": 34, "column": 39, "stop_line": 34, "stop_column": 62, "path": "src/documents/tests/test_management.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 40, "column": 39, "stop_line": 40, "stop_column": 62, "path": "src/documents/tests/test_management.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 48, "column": 27, "stop_line": 48, "stop_column": 43, "path": "src/documents/tests/test_management.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 84, "column": 39, "stop_line": 84, "stop_column": 62, "path": "src/documents/tests/test_management.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 85, "column": 39, "stop_line": 85, "stop_column": 62, "path": "src/documents/tests/test_management.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 118, "column": 14, "stop_line": 118, "stop_column": 30, "path": "src/documents/tests/test_management.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 128, "column": 30, "stop_line": 128, "stop_column": 46, "path": "src/documents/tests/test_management.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`", "severity": "error" }, { "line": 130, "column": 27, "stop_line": 130, "stop_column": 44, "path": "src/documents/tests/test_management.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 56, "column": 24, "stop_line": 56, "stop_column": 52, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-argument", "description": "Missing argument `ignore_errors` in function `unittest.case.TestCase.addCleanup`", "concise_description": "Missing argument `ignore_errors` in function `unittest.case.TestCase.addCleanup`", "severity": "error" }, { "line": 56, "column": 24, "stop_line": 56, "stop_column": 52, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-argument", "description": "Missing argument `onerror` in function `unittest.case.TestCase.addCleanup`", "concise_description": "Missing argument `onerror` in function `unittest.case.TestCase.addCleanup`", "severity": "error" }, { "line": 182, "column": 22, "stop_line": 182, "stop_column": 27, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | str` is not assignable to parameter `command_name` with type `BaseCommand | str` in function `django.core.management.call_command`", "concise_description": "Argument `Path | str` is not assignable to parameter `command_name` with type `BaseCommand | str` in function `django.core.management.call_command`", "severity": "error" }, { "line": 190, "column": 28, "stop_line": 190, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 193, "column": 18, "stop_line": 193, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 292, "column": 28, "stop_line": 292, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 295, "column": 18, "stop_line": 295, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 304, "column": 28, "stop_line": 304, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 307, "column": 18, "stop_line": 307, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 343, "column": 28, "stop_line": 343, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 346, "column": 18, "stop_line": 346, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 373, "column": 28, "stop_line": 373, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 376, "column": 18, "stop_line": 376, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 408, "column": 28, "stop_line": 408, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 411, "column": 18, "stop_line": 411, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 433, "column": 24, "stop_line": 433, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-argument", "description": "Missing argument `ignore_errors` in function `unittest.case.TestCase.addCleanup`", "concise_description": "Missing argument `ignore_errors` in function `unittest.case.TestCase.addCleanup`", "severity": "error" }, { "line": 433, "column": 24, "stop_line": 433, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-argument", "description": "Missing argument `onerror` in function `unittest.case.TestCase.addCleanup`", "concise_description": "Missing argument `onerror` in function `unittest.case.TestCase.addCleanup`", "severity": "error" }, { "line": 453, "column": 28, "stop_line": 453, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 456, "column": 18, "stop_line": 456, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 461, "column": 22, "stop_line": 461, "stop_column": 27, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | str` is not assignable to parameter `command_name` with type `BaseCommand | str` in function `django.core.management.call_command`", "concise_description": "Argument `Path | str` is not assignable to parameter `command_name` with type `BaseCommand | str` in function `django.core.management.call_command`", "severity": "error" }, { "line": 486, "column": 28, "stop_line": 486, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 489, "column": 18, "stop_line": 489, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 497, "column": 26, "stop_line": 497, "stop_column": 31, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | str` is not assignable to parameter `command_name` with type `BaseCommand | str` in function `django.core.management.call_command`", "concise_description": "Argument `Path | str` is not assignable to parameter `command_name` with type `BaseCommand | str` in function `django.core.management.call_command`", "severity": "error" }, { "line": 526, "column": 28, "stop_line": 526, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 529, "column": 18, "stop_line": 529, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 543, "column": 22, "stop_line": 543, "stop_column": 27, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | str` is not assignable to parameter `command_name` with type `BaseCommand | str` in function `django.core.management.call_command`", "concise_description": "Argument `Path | str` is not assignable to parameter `command_name` with type `BaseCommand | str` in function `django.core.management.call_command`", "severity": "error" }, { "line": 624, "column": 28, "stop_line": 624, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 627, "column": 18, "stop_line": 627, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 665, "column": 28, "stop_line": 665, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 668, "column": 18, "stop_line": 668, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 708, "column": 28, "stop_line": 708, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 711, "column": 18, "stop_line": 711, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 739, "column": 28, "stop_line": 739, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 742, "column": 18, "stop_line": 742, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 764, "column": 28, "stop_line": 764, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 767, "column": 18, "stop_line": 767, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 799, "column": 28, "stop_line": 799, "stop_column": 47, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 802, "column": 18, "stop_line": 802, "stop_column": 37, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 823, "column": 23, "stop_line": 823, "stop_column": 42, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 826, "column": 13, "stop_line": 826, "stop_column": 32, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 836, "column": 23, "stop_line": 836, "stop_column": 42, "path": "src/documents/tests/test_management_exporter.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 41, "column": 21, "stop_line": 41, "stop_column": 42, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 59, "column": 25, "stop_line": 59, "stop_column": 46, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 67, "column": 21, "stop_line": 67, "stop_column": 42, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 85, "column": 25, "stop_line": 85, "stop_column": 46, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 96, "column": 21, "stop_line": 96, "stop_column": 42, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 200, "column": 10, "stop_line": 200, "stop_column": 33, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 202, "column": 10, "stop_line": 202, "stop_column": 33, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 210, "column": 21, "stop_line": 210, "stop_column": 42, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 238, "column": 21, "stop_line": 238, "stop_column": 42, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 274, "column": 21, "stop_line": 274, "stop_column": 42, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 294, "column": 10, "stop_line": 294, "stop_column": 31, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 301, "column": 21, "stop_line": 301, "stop_column": 42, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 320, "column": 10, "stop_line": 320, "stop_column": 31, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 321, "column": 10, "stop_line": 321, "stop_column": 31, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 330, "column": 21, "stop_line": 330, "stop_column": 42, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 350, "column": 20, "stop_line": 350, "stop_column": 41, "path": "src/documents/tests/test_management_importer.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 25, "column": 30, "stop_line": 25, "stop_column": 74, "path": "src/documents/tests/test_models.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 30, "column": 27, "stop_line": 30, "stop_column": 71, "path": "src/documents/tests/test_models.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 154, "column": 17, "stop_line": 154, "stop_column": 58, "path": "src/documents/tests/test_parsers.py", "code": -2, "name": "not-callable", "description": "Expected a callable, got `None`", "concise_description": "Expected a callable, got `None`", "severity": "error" }, { "line": 178, "column": 17, "stop_line": 178, "stop_column": 58, "path": "src/documents/tests/test_parsers.py", "code": -2, "name": "not-callable", "description": "Expected a callable, got `None`", "concise_description": "Expected a callable, got `None`", "severity": "error" }, { "line": 211, "column": 17, "stop_line": 211, "stop_column": 58, "path": "src/documents/tests/test_parsers.py", "code": -2, "name": "not-callable", "description": "Expected a callable, got `None`", "concise_description": "Expected a callable, got `None`", "severity": "error" }, { "line": 27, "column": 22, "stop_line": 27, "stop_column": 45, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 37, "column": 22, "stop_line": 37, "stop_column": 43, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `archive_dir`", "concise_description": "Class `dirs` has no class attribute `archive_dir`", "severity": "error" }, { "line": 47, "column": 22, "stop_line": 47, "stop_column": 45, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `thumbnail_dir`", "concise_description": "Class `dirs` has no class attribute `thumbnail_dir`", "severity": "error" }, { "line": 123, "column": 14, "stop_line": 123, "stop_column": 30, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 128, "column": 14, "stop_line": 128, "stop_column": 30, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 130, "column": 14, "stop_line": 130, "stop_column": 30, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`", "severity": "error" }, { "line": 153, "column": 14, "stop_line": 153, "stop_column": 37, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 157, "column": 32, "stop_line": 157, "stop_column": 36, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "bad-index", "description": "Cannot index into `dict[int, list[dict[Unknown, Unknown]]]`\n Argument `None` is not assignable to parameter `key` with type `int` in function `dict.__getitem__`", "concise_description": "Cannot index into `dict[int, list[dict[Unknown, Unknown]]]`", "severity": "error" }, { "line": 166, "column": 25, "stop_line": 166, "stop_column": 44, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 168, "column": 14, "stop_line": 168, "stop_column": 33, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 174, "column": 14, "stop_line": 174, "stop_column": 33, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 175, "column": 14, "stop_line": 175, "stop_column": 33, "path": "src/documents/tests/test_sanity_check.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 125, "column": 28, "stop_line": 125, "stop_column": 47, "path": "src/documents/tests/test_share_link_bundles.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 139, "column": 28, "stop_line": 139, "stop_column": 54, "path": "src/documents/tests/test_share_link_bundles.py", "code": -2, "name": "missing-attribute", "description": "Object of class `_MonkeyPatchedResponse` has no attribute `streaming_content`", "concise_description": "Object of class `_MonkeyPatchedResponse` has no attribute `streaming_content`", "severity": "error" }, { "line": 200, "column": 29, "stop_line": 200, "stop_column": 48, "path": "src/documents/tests/test_share_link_bundles.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 204, "column": 28, "stop_line": 204, "stop_column": 47, "path": "src/documents/tests/test_share_link_bundles.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 434, "column": 30, "stop_line": 434, "stop_column": 49, "path": "src/documents/tests/test_share_link_bundles.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 437, "column": 26, "stop_line": 437, "stop_column": 59, "path": "src/documents/tests/test_share_link_bundles.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `resolve`", "concise_description": "Object of class `NoneType` has no attribute `resolve`", "severity": "error" }, { "line": 94, "column": 23, "stop_line": 94, "stop_column": 35, "path": "src/documents/tests/test_tag_hierarchy.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int` is not assignable to parameter `trigger_type` with type `WorkflowTrigger.WorkflowTriggerType` in function `documents.signals.handlers.run_workflows`", "concise_description": "Argument `int` is not assignable to parameter `trigger_type` with type `WorkflowTrigger.WorkflowTriggerType` in function `documents.signals.handlers.run_workflows`", "severity": "error" }, { "line": 107, "column": 23, "stop_line": 107, "stop_column": 35, "path": "src/documents/tests/test_tag_hierarchy.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int` is not assignable to parameter `trigger_type` with type `WorkflowTrigger.WorkflowTriggerType` in function `documents.signals.handlers.run_workflows`", "concise_description": "Argument `int` is not assignable to parameter `trigger_type` with type `WorkflowTrigger.WorkflowTriggerType` in function `documents.signals.handlers.run_workflows`", "severity": "error" }, { "line": 54, "column": 35, "stop_line": 54, "stop_column": 59, "path": "src/documents/tests/test_task_signals.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Literal['/consume/hello-999.pdf']` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "concise_description": "Argument `Literal['/consume/hello-999.pdf']` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "severity": "error" }, { "line": 77, "column": 26, "stop_line": 77, "stop_column": 39, "path": "src/documents/tests/test_task_signals.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 98, "column": 35, "stop_line": 98, "stop_column": 58, "path": "src/documents/tests/test_task_signals.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Literal['/consume/hello-99.pdf']` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "concise_description": "Argument `Literal['/consume/hello-99.pdf']` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "severity": "error" }, { "line": 117, "column": 26, "stop_line": 117, "stop_column": 39, "path": "src/documents/tests/test_task_signals.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 137, "column": 35, "stop_line": 137, "stop_column": 57, "path": "src/documents/tests/test_task_signals.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Literal['/consume/hello-9.pdf']` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "concise_description": "Argument `Literal['/consume/hello-9.pdf']` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "severity": "error" }, { "line": 154, "column": 19, "stop_line": 154, "stop_column": 32, "path": "src/documents/tests/test_task_signals.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 159, "column": 26, "stop_line": 159, "stop_column": 39, "path": "src/documents/tests/test_task_signals.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 179, "column": 35, "stop_line": 179, "stop_column": 57, "path": "src/documents/tests/test_task_signals.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Literal['/consume/hello-9.pdf']` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "concise_description": "Argument `Literal['/consume/hello-9.pdf']` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "severity": "error" }, { "line": 200, "column": 26, "stop_line": 200, "stop_column": 39, "path": "src/documents/tests/test_task_signals.py", "code": -2, "name": "implicit-import", "description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "concise_description": "Module `celery.states` exists, but was not imported explicitly. You are relying on other modules to load it.", "severity": "error" }, { "line": 216, "column": 19, "stop_line": 216, "stop_column": 40, "path": "src/documents/tests/test_tasks.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 225, "column": 27, "stop_line": 225, "stop_column": 48, "path": "src/documents/tests/test_tasks.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `archive_dir`", "concise_description": "Class `dirs` has no class attribute `archive_dir`", "severity": "error" }, { "line": 257, "column": 19, "stop_line": 257, "stop_column": 40, "path": "src/documents/tests/test_tasks.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 335, "column": 55, "stop_line": 335, "stop_column": 66, "path": "src/documents/tests/test_tasks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "concise_description": "Argument `str | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "severity": "error" }, { "line": 41, "column": 26, "stop_line": 41, "stop_column": 38, "path": "src/documents/tests/test_views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `url`", "concise_description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `url`", "severity": "error" }, { "line": 66, "column": 17, "stop_line": 66, "stop_column": 53, "path": "src/documents/tests/test_views.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 70, "column": 17, "stop_line": 70, "stop_column": 52, "path": "src/documents/tests/test_views.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 74, "column": 17, "stop_line": 74, "stop_column": 52, "path": "src/documents/tests/test_views.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 78, "column": 17, "stop_line": 78, "stop_column": 54, "path": "src/documents/tests/test_views.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 82, "column": 17, "stop_line": 82, "stop_column": 49, "path": "src/documents/tests/test_views.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 97, "column": 9, "stop_line": 97, "stop_column": 24, "path": "src/documents/tests/test_views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `app_logo`", "concise_description": "Object of class `NoneType` has no attribute `app_logo`", "severity": "error" }, { "line": 98, "column": 9, "stop_line": 98, "stop_column": 20, "path": "src/documents/tests/test_views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 103, "column": 26, "stop_line": 103, "stop_column": 41, "path": "src/documents/tests/test_views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `app_logo`", "concise_description": "Object of class `NoneType` has no attribute `app_logo`", "severity": "error" }, { "line": 120, "column": 44, "stop_line": 120, "stop_column": 67, "path": "src/documents/tests/test_views.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 159, "column": 9, "stop_line": 159, "stop_column": 24, "path": "src/documents/tests/test_views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `render`", "concise_description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `render`", "severity": "error" }, { "line": 168, "column": 9, "stop_line": 168, "stop_column": 24, "path": "src/documents/tests/test_views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `render`", "concise_description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `render`", "severity": "error" }, { "line": 369, "column": 13, "stop_line": 372, "stop_column": 26, "path": "src/documents/tests/test_views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `suggestions`", "concise_description": "Object of class `NoneType` has no attribute `suggestions`", "severity": "error" }, { "line": 136, "column": 30, "stop_line": 136, "stop_column": 51, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 172, "column": 13, "stop_line": 172, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 186, "column": 34, "stop_line": 186, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 187, "column": 34, "stop_line": 187, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 188, "column": 39, "stop_line": 188, "stop_column": 52, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 189, "column": 34, "stop_line": 189, "stop_column": 55, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `storage_path`", "concise_description": "Object of class `NoneType` has no attribute `storage_path`", "severity": "error" }, { "line": 190, "column": 34, "stop_line": 190, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 194, "column": 29, "stop_line": 194, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 201, "column": 25, "stop_line": 205, "stop_column": 22, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])\n Possible overloads:\n () -> None\n (iterable: Iterable[_T], /) -> None [closest match]", "concise_description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])", "severity": "error" }, { "line": 203, "column": 29, "stop_line": 203, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 211, "column": 29, "stop_line": 211, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 218, "column": 25, "stop_line": 222, "stop_column": 22, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])\n Possible overloads:\n () -> None\n (iterable: Iterable[_T], /) -> None [closest match]", "concise_description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])", "severity": "error" }, { "line": 220, "column": 29, "stop_line": 220, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 226, "column": 21, "stop_line": 226, "stop_column": 35, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 230, "column": 26, "stop_line": 230, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "severity": "error" }, { "line": 234, "column": 21, "stop_line": 234, "stop_column": 43, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "severity": "error" }, { "line": 283, "column": 13, "stop_line": 283, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 297, "column": 34, "stop_line": 297, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 298, "column": 34, "stop_line": 298, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 299, "column": 39, "stop_line": 299, "stop_column": 52, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 300, "column": 34, "stop_line": 300, "stop_column": 55, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `storage_path`", "concise_description": "Object of class `NoneType` has no attribute `storage_path`", "severity": "error" }, { "line": 301, "column": 34, "stop_line": 301, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 305, "column": 29, "stop_line": 305, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 312, "column": 25, "stop_line": 316, "stop_column": 22, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])\n Possible overloads:\n () -> None\n (iterable: Iterable[_T], /) -> None [closest match]", "concise_description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])", "severity": "error" }, { "line": 314, "column": 29, "stop_line": 314, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 322, "column": 29, "stop_line": 322, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 329, "column": 25, "stop_line": 333, "stop_column": 22, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])\n Possible overloads:\n () -> None\n (iterable: Iterable[_T], /) -> None [closest match]", "concise_description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])", "severity": "error" }, { "line": 331, "column": 29, "stop_line": 331, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 337, "column": 21, "stop_line": 337, "stop_column": 35, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 357, "column": 30, "stop_line": 357, "stop_column": 51, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 401, "column": 13, "stop_line": 401, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 415, "column": 34, "stop_line": 415, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 417, "column": 34, "stop_line": 417, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 418, "column": 34, "stop_line": 418, "stop_column": 55, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `storage_path`", "concise_description": "Object of class `NoneType` has no attribute `storage_path`", "severity": "error" }, { "line": 421, "column": 26, "stop_line": 421, "stop_column": 39, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 427, "column": 29, "stop_line": 427, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 452, "column": 29, "stop_line": 452, "stop_column": 50, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 469, "column": 13, "stop_line": 469, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 482, "column": 34, "stop_line": 482, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 521, "column": 13, "stop_line": 521, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 534, "column": 35, "stop_line": 534, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 535, "column": 35, "stop_line": 535, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 536, "column": 34, "stop_line": 536, "stop_column": 47, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 537, "column": 35, "stop_line": 537, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `storage_path`", "concise_description": "Object of class `NoneType` has no attribute `storage_path`", "severity": "error" }, { "line": 538, "column": 35, "stop_line": 538, "stop_column": 49, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 541, "column": 25, "stop_line": 541, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 543, "column": 28, "stop_line": 543, "stop_column": 30, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 546, "column": 34, "stop_line": 546, "stop_column": 71, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 546, "column": 56, "stop_line": 546, "stop_column": 64, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 549, "column": 25, "stop_line": 549, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 551, "column": 28, "stop_line": 551, "stop_column": 30, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 554, "column": 34, "stop_line": 554, "stop_column": 71, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 554, "column": 56, "stop_line": 554, "stop_column": 64, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 555, "column": 34, "stop_line": 555, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 559, "column": 45, "stop_line": 559, "stop_column": 59, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `str` has no attribute `name`", "concise_description": "Object of class `str` has no attribute `name`", "severity": "error" }, { "line": 595, "column": 13, "stop_line": 595, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 608, "column": 35, "stop_line": 608, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 609, "column": 35, "stop_line": 609, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 610, "column": 34, "stop_line": 610, "stop_column": 47, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 611, "column": 35, "stop_line": 611, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `storage_path`", "concise_description": "Object of class `NoneType` has no attribute `storage_path`", "severity": "error" }, { "line": 612, "column": 35, "stop_line": 612, "stop_column": 49, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 615, "column": 25, "stop_line": 615, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 617, "column": 28, "stop_line": 617, "stop_column": 30, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 621, "column": 21, "stop_line": 623, "stop_column": 28, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 622, "column": 25, "stop_line": 622, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 628, "column": 25, "stop_line": 628, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 630, "column": 28, "stop_line": 630, "stop_column": 30, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 634, "column": 21, "stop_line": 636, "stop_column": 28, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 635, "column": 25, "stop_line": 635, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 639, "column": 34, "stop_line": 639, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 679, "column": 13, "stop_line": 679, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 693, "column": 35, "stop_line": 693, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 694, "column": 35, "stop_line": 694, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 695, "column": 34, "stop_line": 695, "stop_column": 47, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 696, "column": 35, "stop_line": 696, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `storage_path`", "concise_description": "Object of class `NoneType` has no attribute `storage_path`", "severity": "error" }, { "line": 697, "column": 35, "stop_line": 697, "stop_column": 49, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 700, "column": 25, "stop_line": 700, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 702, "column": 28, "stop_line": 702, "stop_column": 30, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 706, "column": 21, "stop_line": 708, "stop_column": 28, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 707, "column": 25, "stop_line": 707, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 713, "column": 25, "stop_line": 713, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 715, "column": 28, "stop_line": 715, "stop_column": 30, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 719, "column": 21, "stop_line": 721, "stop_column": 28, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 720, "column": 25, "stop_line": 720, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 724, "column": 34, "stop_line": 724, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 764, "column": 13, "stop_line": 764, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 777, "column": 35, "stop_line": 777, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 778, "column": 35, "stop_line": 778, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 779, "column": 34, "stop_line": 779, "stop_column": 47, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 780, "column": 35, "stop_line": 780, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `storage_path`", "concise_description": "Object of class `NoneType` has no attribute `storage_path`", "severity": "error" }, { "line": 781, "column": 35, "stop_line": 781, "stop_column": 49, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 784, "column": 25, "stop_line": 784, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 786, "column": 28, "stop_line": 786, "stop_column": 30, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 790, "column": 21, "stop_line": 792, "stop_column": 28, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 791, "column": 25, "stop_line": 791, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 797, "column": 25, "stop_line": 797, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 799, "column": 28, "stop_line": 799, "stop_column": 30, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 803, "column": 21, "stop_line": 805, "stop_column": 28, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 804, "column": 25, "stop_line": 804, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 808, "column": 34, "stop_line": 808, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 882, "column": 13, "stop_line": 882, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 896, "column": 26, "stop_line": 896, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "severity": "error" }, { "line": 1314, "column": 40, "stop_line": 1314, "stop_column": 46, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "concise_description": "Argument `str | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "severity": "error" }, { "line": 1330, "column": 35, "stop_line": 1330, "stop_column": 41, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "concise_description": "Argument `str | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "severity": "error" }, { "line": 1349, "column": 39, "stop_line": 1349, "stop_column": 45, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "concise_description": "Argument `str | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "severity": "error" }, { "line": 1772, "column": 26, "stop_line": 1772, "stop_column": 43, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1797, "column": 13, "stop_line": 1797, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 1809, "column": 17, "stop_line": 1809, "stop_column": 31, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 1855, "column": 26, "stop_line": 1855, "stop_column": 43, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1904, "column": 38, "stop_line": 1907, "stop_column": 10, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-assignment", "description": "`list[str] | Any` is not assignable to `QuerySet[Unknown, Unknown]`", "concise_description": "`list[str] | Any` is not assignable to `QuerySet[Unknown, Unknown]`", "severity": "error" }, { "line": 1908, "column": 40, "stop_line": 1911, "stop_column": 10, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-assignment", "description": "`list[str] | Any` is not assignable to `QuerySet[Unknown, Unknown]`", "concise_description": "`list[str] | Any` is not assignable to `QuerySet[Unknown, Unknown]`", "severity": "error" }, { "line": 1919, "column": 33, "stop_line": 1919, "stop_column": 59, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-assignment", "description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Unknown, Unknown]`", "concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Unknown, Unknown]`", "severity": "error" }, { "line": 2598, "column": 26, "stop_line": 2598, "stop_column": 43, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 2601, "column": 33, "stop_line": 2601, "stop_column": 59, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-assignment", "description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Unknown, Unknown]`", "concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Unknown, Unknown]`", "severity": "error" }, { "line": 2669, "column": 26, "stop_line": 2669, "stop_column": 43, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 2672, "column": 33, "stop_line": 2672, "stop_column": 59, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-assignment", "description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Unknown, Unknown]`", "concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Unknown, Unknown]`", "severity": "error" }, { "line": 2736, "column": 13, "stop_line": 2736, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 2751, "column": 35, "stop_line": 2751, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 2752, "column": 35, "stop_line": 2752, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 2754, "column": 26, "stop_line": 2754, "stop_column": 39, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 2757, "column": 35, "stop_line": 2757, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `storage_path`", "concise_description": "Object of class `NoneType` has no attribute `storage_path`", "severity": "error" }, { "line": 2758, "column": 35, "stop_line": 2758, "stop_column": 49, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 2762, "column": 29, "stop_line": 2762, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 2769, "column": 25, "stop_line": 2773, "stop_column": 22, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])\n Possible overloads:\n () -> None\n (iterable: Iterable[_T], /) -> None [closest match]", "concise_description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])", "severity": "error" }, { "line": 2771, "column": 29, "stop_line": 2771, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 2779, "column": 29, "stop_line": 2779, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 2786, "column": 25, "stop_line": 2790, "stop_column": 22, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])\n Possible overloads:\n () -> None\n (iterable: Iterable[_T], /) -> None [closest match]", "concise_description": "No matching overload found for function `list.__init__` called with arguments: (Group | dict[Unknown, Unknown])", "severity": "error" }, { "line": 2788, "column": 29, "stop_line": 2788, "stop_column": 37, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 2794, "column": 21, "stop_line": 2794, "stop_column": 35, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 2798, "column": 26, "stop_line": 2798, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "severity": "error" }, { "line": 2859, "column": 13, "stop_line": 2859, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 2872, "column": 35, "stop_line": 2872, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `correspondent`", "concise_description": "Object of class `NoneType` has no attribute `correspondent`", "severity": "error" }, { "line": 2873, "column": 35, "stop_line": 2873, "stop_column": 57, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `document_type`", "concise_description": "Object of class `NoneType` has no attribute `document_type`", "severity": "error" }, { "line": 2874, "column": 34, "stop_line": 2874, "stop_column": 47, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `tags`", "concise_description": "Object of class `NoneType` has no attribute `tags`", "severity": "error" }, { "line": 2876, "column": 35, "stop_line": 2876, "stop_column": 56, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `storage_path`", "concise_description": "Object of class `NoneType` has no attribute `storage_path`", "severity": "error" }, { "line": 2877, "column": 35, "stop_line": 2877, "stop_column": 49, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `owner`", "concise_description": "Object of class `NoneType` has no attribute `owner`", "severity": "error" }, { "line": 2880, "column": 25, "stop_line": 2880, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 2882, "column": 28, "stop_line": 2882, "stop_column": 30, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 2886, "column": 21, "stop_line": 2888, "stop_column": 28, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 2887, "column": 25, "stop_line": 2887, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 2893, "column": 25, "stop_line": 2893, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_users_with_perms`", "severity": "error" }, { "line": 2895, "column": 28, "stop_line": 2895, "stop_column": 30, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-count", "description": "Missing positional argument `value` in function `list.count`", "concise_description": "Missing positional argument `value` in function `list.count`", "severity": "error" }, { "line": 2899, "column": 21, "stop_line": 2901, "stop_column": 28, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "concise_description": "Object of class `Group` has no attribute `count`\nObject of class `dict` has no attribute `count`", "severity": "error" }, { "line": 2900, "column": 25, "stop_line": 2900, "stop_column": 33, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "concise_description": "Argument `Document | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_groups_with_perms`", "severity": "error" }, { "line": 2905, "column": 21, "stop_line": 2905, "stop_column": 43, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`\nObject of class `NoneType` has no attribute `custom_fields`", "severity": "error" }, { "line": 3014, "column": 13, "stop_line": 3014, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 3026, "column": 27, "stop_line": 3026, "stop_column": 44, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "concise_description": "Argument `str` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "severity": "error" }, { "line": 3114, "column": 13, "stop_line": 3114, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 3152, "column": 13, "stop_line": 3152, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 3372, "column": 13, "stop_line": 3372, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 3492, "column": 13, "stop_line": 3492, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 3621, "column": 23, "stop_line": 3621, "stop_column": 27, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 3639, "column": 23, "stop_line": 3639, "stop_column": 27, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 3664, "column": 27, "stop_line": 3664, "stop_column": 31, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 3712, "column": 13, "stop_line": 3712, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 3761, "column": 23, "stop_line": 3761, "stop_column": 35, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int` is not assignable to parameter `trigger_type` with type `WorkflowTrigger.WorkflowTriggerType` in function `documents.signals.handlers.run_workflows`", "concise_description": "Argument `int` is not assignable to parameter `trigger_type` with type `WorkflowTrigger.WorkflowTriggerType` in function `documents.signals.handlers.run_workflows`", "severity": "error" }, { "line": 3810, "column": 23, "stop_line": 3810, "stop_column": 35, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int` is not assignable to parameter `trigger_type` with type `WorkflowTrigger.WorkflowTriggerType` in function `documents.signals.handlers.run_workflows`", "concise_description": "Argument `int` is not assignable to parameter `trigger_type` with type `WorkflowTrigger.WorkflowTriggerType` in function `documents.signals.handlers.run_workflows`", "severity": "error" }, { "line": 3842, "column": 23, "stop_line": 3842, "stop_column": 35, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int` is not assignable to parameter `trigger_type` with type `WorkflowTrigger.WorkflowTriggerType` in function `documents.signals.handlers.run_workflows`", "concise_description": "Argument `int` is not assignable to parameter `trigger_type` with type `WorkflowTrigger.WorkflowTriggerType` in function `documents.signals.handlers.run_workflows`", "severity": "error" }, { "line": 3939, "column": 19, "stop_line": 3939, "stop_column": 23, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 3942, "column": 16, "stop_line": 3942, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `headers`", "concise_description": "Object of class `NoneType` has no attribute `headers`", "severity": "error" }, { "line": 3952, "column": 19, "stop_line": 3952, "stop_column": 23, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 3955, "column": 16, "stop_line": 3955, "stop_column": 48, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `headers`", "concise_description": "Object of class `NoneType` has no attribute `headers`", "severity": "error" }, { "line": 3988, "column": 23, "stop_line": 3988, "stop_column": 27, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 3997, "column": 23, "stop_line": 3997, "stop_column": 27, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 4016, "column": 23, "stop_line": 4016, "stop_column": 27, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 4043, "column": 23, "stop_line": 4043, "stop_column": 27, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 4067, "column": 19, "stop_line": 4067, "stop_column": 23, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 4072, "column": 16, "stop_line": 4072, "stop_column": 23, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `url`", "concise_description": "Object of class `NoneType` has no attribute `url`", "severity": "error" }, { "line": 4073, "column": 16, "stop_line": 4073, "stop_column": 27, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `headers`", "concise_description": "Object of class `NoneType` has no attribute `headers`", "severity": "error" }, { "line": 4097, "column": 23, "stop_line": 4097, "stop_column": 27, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 4123, "column": 19, "stop_line": 4123, "stop_column": 23, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "concise_description": "Argument `None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.__call__`", "severity": "error" }, { "line": 4128, "column": 16, "stop_line": 4128, "stop_column": 27, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `headers`", "concise_description": "Object of class `NoneType` has no attribute `headers`", "severity": "error" }, { "line": 4129, "column": 35, "stop_line": 4129, "stop_column": 46, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `headers`", "concise_description": "Object of class `NoneType` has no attribute `headers`", "severity": "error" }, { "line": 4364, "column": 20, "stop_line": 4364, "stop_column": 34, "path": "src/documents/tests/test_workflows.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `title`", "concise_description": "Object of class `NoneType` has no attribute `title`", "severity": "error" }, { "line": 34, "column": 23, "stop_line": 34, "stop_column": 29, "path": "src/documents/tests/utils.py", "code": -2, "name": "invalid-argument", "description": "Expected string literal \"dirs\"", "concise_description": "Expected string literal \"dirs\"", "severity": "error" }, { "line": 41, "column": 22, "stop_line": 41, "stop_column": 35, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `data_dir`", "concise_description": "Class `dirs` has no class attribute `data_dir`", "severity": "error" }, { "line": 42, "column": 26, "stop_line": 42, "stop_column": 40, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 43, "column": 26, "stop_line": 43, "stop_column": 40, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 44, "column": 24, "stop_line": 44, "stop_column": 38, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 45, "column": 24, "stop_line": 45, "stop_column": 37, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `data_dir`", "concise_description": "Class `dirs` has no class attribute `data_dir`", "severity": "error" }, { "line": 47, "column": 5, "stop_line": 47, "stop_column": 19, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `index_dir`", "concise_description": "Class `dirs` has no class attribute `index_dir`", "severity": "error" }, { "line": 48, "column": 5, "stop_line": 48, "stop_column": 23, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 49, "column": 5, "stop_line": 49, "stop_column": 23, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `thumbnail_dir`", "concise_description": "Class `dirs` has no class attribute `thumbnail_dir`", "severity": "error" }, { "line": 50, "column": 5, "stop_line": 50, "stop_column": 21, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `archive_dir`", "concise_description": "Class `dirs` has no class attribute `archive_dir`", "severity": "error" }, { "line": 51, "column": 5, "stop_line": 51, "stop_column": 21, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `logging_dir`", "concise_description": "Class `dirs` has no class attribute `logging_dir`", "severity": "error" }, { "line": 54, "column": 18, "stop_line": 54, "stop_column": 31, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `data_dir`", "concise_description": "Class `dirs` has no class attribute `data_dir`", "severity": "error" }, { "line": 55, "column": 21, "stop_line": 55, "stop_column": 37, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `scratch_dir`", "concise_description": "Class `dirs` has no class attribute `scratch_dir`", "severity": "error" }, { "line": 56, "column": 20, "stop_line": 56, "stop_column": 34, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 57, "column": 23, "stop_line": 57, "stop_column": 41, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `originals_dir`", "concise_description": "Class `dirs` has no class attribute `originals_dir`", "severity": "error" }, { "line": 58, "column": 23, "stop_line": 58, "stop_column": 41, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `thumbnail_dir`", "concise_description": "Class `dirs` has no class attribute `thumbnail_dir`", "severity": "error" }, { "line": 59, "column": 21, "stop_line": 59, "stop_column": 37, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `archive_dir`", "concise_description": "Class `dirs` has no class attribute `archive_dir`", "severity": "error" }, { "line": 60, "column": 25, "stop_line": 60, "stop_column": 45, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `consumption_dir`", "concise_description": "Class `dirs` has no class attribute `consumption_dir`", "severity": "error" }, { "line": 61, "column": 21, "stop_line": 61, "stop_column": 37, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `logging_dir`", "concise_description": "Class `dirs` has no class attribute `logging_dir`", "severity": "error" }, { "line": 62, "column": 19, "stop_line": 62, "stop_column": 33, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `index_dir`", "concise_description": "Class `dirs` has no class attribute `index_dir`", "severity": "error" }, { "line": 63, "column": 21, "stop_line": 63, "stop_column": 36, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `static_dir`", "concise_description": "Class `dirs` has no class attribute `static_dir`", "severity": "error" }, { "line": 64, "column": 20, "stop_line": 64, "stop_column": 33, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `data_dir`", "concise_description": "Class `dirs` has no class attribute `data_dir`", "severity": "error" }, { "line": 65, "column": 20, "stop_line": 65, "stop_column": 34, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 67, "column": 5, "stop_line": 67, "stop_column": 27, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `settings_override`", "concise_description": "Class `dirs` has no class attribute `settings_override`", "severity": "error" }, { "line": 88, "column": 12, "stop_line": 88, "stop_column": 16, "path": "src/documents/tests/utils.py", "code": -2, "name": "redundant-condition", "description": "Class name `dirs` used as condition. It's equivalent to `True`", "concise_description": "Class name `dirs` used as condition. It's equivalent to `True`", "severity": "error" }, { "line": 161, "column": 9, "stop_line": 161, "stop_column": 22, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `setUp`", "concise_description": "Object of class `object` has no attribute `setUp`", "severity": "error" }, { "line": 164, "column": 9, "stop_line": 164, "stop_column": 25, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `tearDown`", "concise_description": "Object of class `object` has no attribute `tearDown`", "severity": "error" }, { "line": 174, "column": 9, "stop_line": 174, "stop_column": 24, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `FileSystemAssertsMixin` has no attribute `assertTrue`", "concise_description": "Object of class `FileSystemAssertsMixin` has no attribute `assertTrue`", "severity": "error" }, { "line": 177, "column": 9, "stop_line": 177, "stop_column": 25, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `FileSystemAssertsMixin` has no attribute `assertFalse`", "concise_description": "Object of class `FileSystemAssertsMixin` has no attribute `assertFalse`", "severity": "error" }, { "line": 180, "column": 9, "stop_line": 180, "stop_column": 24, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `FileSystemAssertsMixin` has no attribute `assertTrue`", "concise_description": "Object of class `FileSystemAssertsMixin` has no attribute `assertTrue`", "severity": "error" }, { "line": 183, "column": 9, "stop_line": 183, "stop_column": 25, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `FileSystemAssertsMixin` has no attribute `assertFalse`", "concise_description": "Object of class `FileSystemAssertsMixin` has no attribute `assertFalse`", "severity": "error" }, { "line": 197, "column": 9, "stop_line": 197, "stop_column": 25, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `FileSystemAssertsMixin` has no attribute `assertEqual`", "concise_description": "Object of class `FileSystemAssertsMixin` has no attribute `assertEqual`", "severity": "error" }, { "line": 201, "column": 9, "stop_line": 201, "stop_column": 24, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `FileSystemAssertsMixin` has no attribute `assertTrue`", "concise_description": "Object of class `FileSystemAssertsMixin` has no attribute `assertTrue`", "severity": "error" }, { "line": 203, "column": 9, "stop_line": 203, "stop_column": 25, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `FileSystemAssertsMixin` has no attribute `assertEqual`", "concise_description": "Object of class `FileSystemAssertsMixin` has no attribute `assertEqual`", "severity": "error" }, { "line": 221, "column": 9, "stop_line": 221, "stop_column": 22, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `setUp`", "concise_description": "Object of class `object` has no attribute `setUp`", "severity": "error" }, { "line": 224, "column": 9, "stop_line": 224, "stop_column": 25, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `tearDown`", "concise_description": "Object of class `object` has no attribute `tearDown`", "severity": "error" }, { "line": 237, "column": 9, "stop_line": 237, "stop_column": 22, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `setUp`", "concise_description": "Object of class `object` has no attribute `setUp`", "severity": "error" }, { "line": 240, "column": 9, "stop_line": 240, "stop_column": 25, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `tearDown`", "concise_description": "Object of class `object` has no attribute `tearDown`", "severity": "error" }, { "line": 290, "column": 16, "stop_line": 290, "stop_column": 74, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `name`", "concise_description": "Object of class `NoneType` has no attribute `name`", "severity": "error" }, { "line": 371, "column": 13, "stop_line": 371, "stop_column": 22, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `GetConsumerMixin` has no attribute `dirs`", "concise_description": "Object of class `GetConsumerMixin` has no attribute `dirs`", "severity": "error" }, { "line": 379, "column": 13, "stop_line": 379, "stop_column": 22, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `GetConsumerMixin` has no attribute `dirs`", "concise_description": "Object of class `GetConsumerMixin` has no attribute `dirs`", "severity": "error" }, { "line": 387, "column": 13, "stop_line": 387, "stop_column": 22, "path": "src/documents/tests/utils.py", "code": -2, "name": "missing-attribute", "description": "Object of class `GetConsumerMixin` has no attribute `dirs`", "concise_description": "Object of class `GetConsumerMixin` has no attribute `dirs`", "severity": "error" }, { "line": 72, "column": 34, "stop_line": 72, "stop_column": 45, "path": "src/documents/utils.py", "code": -2, "name": "bad-assignment", "description": "`float | int | None` is not assignable to attribute `MAX_IMAGE_PIXELS` with type `int | None`", "concise_description": "`float | int | None` is not assignable to attribute `MAX_IMAGE_PIXELS` with type `int | None`", "severity": "error" }, { "line": 251, "column": 31, "stop_line": 251, "stop_column": 57, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `AbstractBaseUser` has no attribute `username`", "concise_description": "Object of class `AbstractBaseUser` has no attribute `username`", "severity": "error" }, { "line": 252, "column": 32, "stop_line": 252, "stop_column": 63, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `AbstractBaseUser` has no attribute `get_full_name`\nObject of class `AnonymousUser` has no attribute `get_full_name`", "concise_description": "Object of class `AbstractBaseUser` has no attribute `get_full_name`\nObject of class `AnonymousUser` has no attribute `get_full_name`", "severity": "error" }, { "line": 302, "column": 17, "stop_line": 302, "stop_column": 30, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BulkPermissionMixin` has no attribute `queryset`", "concise_description": "Object of class `BulkPermissionMixin` has no attribute `queryset`", "severity": "error" }, { "line": 334, "column": 19, "stop_line": 334, "stop_column": 49, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `get_serializer_context`", "concise_description": "Object of class `object` has no attribute `get_serializer_context`", "severity": "error" }, { "line": 337, "column": 21, "stop_line": 337, "stop_column": 33, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BulkPermissionMixin` has no attribute `request`", "concise_description": "Object of class `BulkPermissionMixin` has no attribute `request`", "severity": "error" }, { "line": 352, "column": 24, "stop_line": 352, "stop_column": 44, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BulkPermissionMixin` has no attribute `filter_queryset`", "concise_description": "Object of class `BulkPermissionMixin` has no attribute `filter_queryset`", "severity": "error" }, { "line": 352, "column": 45, "stop_line": 352, "stop_column": 62, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BulkPermissionMixin` has no attribute `get_queryset`", "concise_description": "Object of class `BulkPermissionMixin` has no attribute `get_queryset`", "severity": "error" }, { "line": 354, "column": 22, "stop_line": 354, "stop_column": 35, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BulkPermissionMixin` has no attribute `queryset`", "concise_description": "Object of class `BulkPermissionMixin` has no attribute `queryset`", "severity": "error" }, { "line": 429, "column": 29, "stop_line": 429, "stop_column": 51, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `annotate`", "concise_description": "Object of class `NoneType` has no attribute `annotate`", "severity": "error" }, { "line": 435, "column": 25, "stop_line": 435, "stop_column": 47, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `annotate`", "concise_description": "Object of class `NoneType` has no attribute `annotate`", "severity": "error" }, { "line": 450, "column": 15, "stop_line": 450, "stop_column": 37, "path": "src/documents/views.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `int.__new__` called with arguments: (type[int], str | None)\n Possible overloads:\n (cls: type[int], x: ConvertibleToInt = 0, /) -> int [closest match]\n (cls: type[int], x: bytearray | bytes | str, /, base: SupportsIndex) -> int", "concise_description": "No matching overload found for function `int.__new__` called with arguments: (type[int], str | None)", "severity": "error" }, { "line": 498, "column": 13, "stop_line": 498, "stop_column": 65, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `append`", "concise_description": "Object of class `NoneType` has no attribute `append`", "severity": "error" }, { "line": 819, "column": 9, "stop_line": 819, "stop_column": 16, "path": "src/documents/views.py", "code": -2, "name": "bad-override", "description": "Class member `DocumentViewSet.destroy` overrides parent class `DestroyModelMixin` in an inconsistent manner\n `DocumentViewSet.destroy` has type `BoundMethod[DocumentViewSet, (self: DocumentViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | Response]`, which is not assignable to `BoundMethod[DocumentViewSet, (self: DocumentViewSet, request: Request, *args: Any, **kwargs: Any) -> Response]`, the type of `DestroyModelMixin.destroy`", "concise_description": "Class member `DocumentViewSet.destroy` overrides parent class `DestroyModelMixin` in an inconsistent manner", "severity": "error" }, { "line": 916, "column": 37, "stop_line": 916, "stop_column": 54, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[Unknown] | None` is not assignable to parameter `original_metadata` with type `list[Unknown]` in function `documents.caching.set_metadata_cache`", "concise_description": "Argument `list[Unknown] | None` is not assignable to parameter `original_metadata` with type `list[Unknown]` in function `documents.caching.set_metadata_cache`", "severity": "error" }, { "line": 1027, "column": 45, "stop_line": 1027, "stop_column": 57, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Any | None` is not assignable to parameter `filename` with type `str` in function `documents.plugins.date_parsing.base.DateParserPluginBase.parse`", "concise_description": "Argument `Any | None` is not assignable to parameter `filename` with type `str` in function `documents.plugins.date_parsing.base.DateParserPluginBase.parse`", "severity": "error" }, { "line": 1040, "column": 61, "stop_line": 1040, "stop_column": 71, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_correspondents`", "concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_correspondents`", "severity": "error" }, { "line": 1042, "column": 56, "stop_line": 1042, "stop_column": 66, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_tags`", "concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_tags`", "severity": "error" }, { "line": 1044, "column": 63, "stop_line": 1044, "stop_column": 73, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_document_types`", "concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_document_types`", "severity": "error" }, { "line": 1047, "column": 62, "stop_line": 1047, "stop_column": 72, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_storage_paths`", "concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_storage_paths`", "severity": "error" }, { "line": 1151, "column": 21, "stop_line": 1151, "stop_column": 48, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Manager` has no attribute `log_create`", "concise_description": "Object of class `Manager` has no attribute `log_create`", "severity": "error" }, { "line": 1186, "column": 17, "stop_line": 1186, "stop_column": 44, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Manager` has no attribute `log_create`", "concise_description": "Object of class `Manager` has no attribute `log_create`", "severity": "error" }, { "line": 1213, "column": 5, "stop_line": 1213, "stop_column": 62, "path": "src/documents/views.py", "code": -2, "name": "bad-specialization", "description": "`(self: Self@DocumentViewSet, request: Unknown, pk: Unknown | None = None) -> HttpResponseForbidden | Response | None` is not assignable to upper bound `(...) -> HttpResponseBase` of type variable `_View`", "concise_description": "`(self: Self@DocumentViewSet, request: Unknown, pk: Unknown | None = None) -> HttpResponseForbidden | Response | None` is not assignable to upper bound `(...) -> HttpResponseBase` of type variable `_View`", "severity": "error" }, { "line": 1270, "column": 26, "stop_line": 1270, "stop_column": 57, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Manager` has no attribute `get_for_object`", "concise_description": "Object of class `Manager` has no attribute `get_for_object`", "severity": "error" }, { "line": 1276, "column": 22, "stop_line": 1276, "stop_column": 54, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Manager` has no attribute `get_for_objects`", "concise_description": "Object of class `Manager` has no attribute `get_for_objects`", "severity": "error" }, { "line": 1277, "column": 13, "stop_line": 1277, "stop_column": 30, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 1311, "column": 36, "stop_line": 1311, "stop_column": 64, "path": "src/documents/views.py", "code": -2, "name": "missing-argument", "description": "Missing argument `request` in function `DocumentViewSet.email_documents`", "concise_description": "Missing argument `request` in function `DocumentViewSet.email_documents`", "severity": "error" }, { "line": 1351, "column": 30, "stop_line": 1351, "stop_column": 45, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Path | None` is not assignable to parameter `path` with type `Path` in function `documents.mail.EmailAttachment.__init__`", "concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `Path` in function `documents.mail.EmailAttachment.__init__`", "severity": "error" }, { "line": 1424, "column": 70, "stop_line": 1424, "stop_column": 79, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `QuerySet[Unknown, Unknown] | list[Document]` is not assignable to parameter `documents` with type `list[Document]` in function `paperless_ai.chat.stream_chat_with_documents`", "concise_description": "Argument `QuerySet[Unknown, Unknown] | list[Document]` is not assignable to parameter `documents` with type `list[Document]` in function `paperless_ai.chat.stream_chat_with_documents`", "severity": "error" }, { "line": 1480, "column": 9, "stop_line": 1480, "stop_column": 24, "path": "src/documents/views.py", "code": -2, "name": "bad-override", "description": "Class member `UnifiedSearchViewSet.filter_queryset` overrides parent class `DocumentViewSet` in an inconsistent manner\n `UnifiedSearchViewSet.filter_queryset` has type `BoundMethod[UnifiedSearchViewSet, (self: UnifiedSearchViewSet, queryset: Unknown) -> DelayedFullTextQuery | DelayedMoreLikeThisQuery | QuerySet[Unknown, Unknown]]`, which is not assignable to `BoundMethod[UnifiedSearchViewSet, (self: UnifiedSearchViewSet, queryset: QuerySet[Unknown, Unknown]) -> QuerySet[Unknown, Unknown]]`, the type of `DocumentViewSet.filter_queryset`", "concise_description": "Class member `UnifiedSearchViewSet.filter_queryset` overrides parent class `DocumentViewSet` in an inconsistent manner", "severity": "error" }, { "line": 1494, "column": 17, "stop_line": 1494, "stop_column": 30, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `searcher` with type `Searcher` in function `documents.index.DelayedQuery.__init__`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `searcher` with type `Searcher` in function `documents.index.DelayedQuery.__init__`", "severity": "error" }, { "line": 1496, "column": 17, "stop_line": 1496, "stop_column": 45, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BasePagination` has no attribute `get_page_size`\nObject of class `NoneType` has no attribute `get_page_size`", "concise_description": "Object of class `BasePagination` has no attribute `get_page_size`\nObject of class `NoneType` has no attribute `get_page_size`", "severity": "error" }, { "line": 1502, "column": 9, "stop_line": 1502, "stop_column": 13, "path": "src/documents/views.py", "code": -2, "name": "bad-override", "description": "Class member `UnifiedSearchViewSet.list` overrides parent class `DocumentViewSet` in an inconsistent manner\n `UnifiedSearchViewSet.list` has type `BoundMethod[UnifiedSearchViewSet, (self: UnifiedSearchViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | Response]`, which is not assignable to `BoundMethod[UnifiedSearchViewSet, (self: UnifiedSearchViewSet, request: Request, *args: Any, **kwargs: Any) -> Response]`, the type of `DocumentViewSet.list`", "concise_description": "Class member `UnifiedSearchViewSet.list` overrides parent class `DocumentViewSet` in an inconsistent manner", "severity": "error" }, { "line": 1510, "column": 51, "stop_line": 1510, "stop_column": 59, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `DelayedFullTextQuery | DelayedMoreLikeThisQuery | QuerySet[Unknown, Unknown]` is not assignable to parameter `queryset` with type `QuerySet[Unknown, Unknown] | Sequence[Any]` in function `rest_framework.generics.GenericAPIView.paginate_queryset`", "concise_description": "Argument `DelayedFullTextQuery | DelayedMoreLikeThisQuery | QuerySet[Unknown, Unknown]` is not assignable to parameter `queryset` with type `QuerySet[Unknown, Unknown] | Sequence[Any]` in function `rest_framework.generics.GenericAPIView.paginate_queryset`", "severity": "error" }, { "line": 1539, "column": 25, "stop_line": 1539, "stop_column": 36, "path": "src/documents/views.py", "code": -2, "name": "unsupported-operation", "description": "`+` is not supported between `None` and `Literal[1]`\n Argument `None` is not assignable to parameter `value` with type `int` in function `int.__radd__`", "concise_description": "`+` is not supported between `None` and `Literal[1]`", "severity": "error" }, { "line": 1704, "column": 16, "stop_line": 1704, "stop_column": 33, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `AbstractBaseUser` has no attribute `is_superuser`", "concise_description": "Object of class `AbstractBaseUser` has no attribute `is_superuser`", "severity": "error" }, { "line": 1713, "column": 25, "stop_line": 1713, "stop_column": 38, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `AbstractBaseUser` has no attribute `has_perm`", "concise_description": "Object of class `AbstractBaseUser` has no attribute `has_perm`", "severity": "error" }, { "line": 1750, "column": 25, "stop_line": 1750, "stop_column": 38, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `AbstractBaseUser` has no attribute `has_perm`", "concise_description": "Object of class `AbstractBaseUser` has no attribute `has_perm`", "severity": "error" }, { "line": 1764, "column": 25, "stop_line": 1764, "stop_column": 38, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `AbstractBaseUser` has no attribute `has_perm`", "concise_description": "Object of class `AbstractBaseUser` has no attribute `has_perm`", "severity": "error" }, { "line": 1793, "column": 33, "stop_line": 1793, "stop_column": 46, "path": "src/documents/views.py", "code": -2, "name": "unbound-name", "description": "`old_documents` may be uninitialized", "concise_description": "`old_documents` may be uninitialized", "severity": "error" }, { "line": 1803, "column": 21, "stop_line": 1803, "stop_column": 48, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Manager` has no attribute `log_create`", "concise_description": "Object of class `Manager` has no attribute `log_create`", "severity": "error" }, { "line": 2009, "column": 52, "stop_line": 2009, "stop_column": 68, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Correspondent` has no attribute `document_count`", "concise_description": "Object of class `Correspondent` has no attribute `document_count`", "severity": "error" }, { "line": 2013, "column": 52, "stop_line": 2013, "stop_column": 68, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Tag` has no attribute `document_count`", "concise_description": "Object of class `Tag` has no attribute `document_count`", "severity": "error" }, { "line": 2016, "column": 52, "stop_line": 2016, "stop_column": 68, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `DocumentType` has no attribute `document_count`", "concise_description": "Object of class `DocumentType` has no attribute `document_count`", "severity": "error" }, { "line": 2019, "column": 52, "stop_line": 2019, "stop_column": 68, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `StoragePath` has no attribute `document_count`", "concise_description": "Object of class `StoragePath` has no attribute `document_count`", "severity": "error" }, { "line": 2023, "column": 52, "stop_line": 2023, "stop_column": 68, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `CustomField` has no attribute `document_count`", "concise_description": "Object of class `CustomField` has no attribute `document_count`", "severity": "error" }, { "line": 2083, "column": 17, "stop_line": 2083, "stop_column": 21, "path": "src/documents/views.py", "code": -2, "name": "bad-argument-type", "description": "Argument `AbstractBaseUser | AnonymousUser | None` is not assignable to parameter `user` with type `User | None` in function `documents.index.autocomplete`", "concise_description": "Argument `AbstractBaseUser | AnonymousUser | None` is not assignable to parameter `user` with type `User | None` in function `documents.index.autocomplete`", "severity": "error" }, { "line": 3051, "column": 24, "stop_line": 3051, "stop_column": 51, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BaseSerializer` has no attribute `get_object_class`", "concise_description": "Object of class `BaseSerializer` has no attribute `get_object_class`", "severity": "error" }, { "line": 3056, "column": 16, "stop_line": 3056, "stop_column": 33, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `AbstractBaseUser` has no attribute `is_superuser`", "concise_description": "Object of class `AbstractBaseUser` has no attribute `is_superuser`", "severity": "error" }, { "line": 3063, "column": 25, "stop_line": 3063, "stop_column": 38, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `AbstractBaseUser` has no attribute `has_perm`", "concise_description": "Object of class `AbstractBaseUser` has no attribute `has_perm`", "severity": "error" }, { "line": 3118, "column": 9, "stop_line": 3118, "stop_column": 23, "path": "src/documents/views.py", "code": -2, "name": "bad-override", "description": "Class member `WorkflowTriggerViewSet.partial_update` overrides parent class `ModelViewSet` in an inconsistent manner\n `WorkflowTriggerViewSet.partial_update` has type `BoundMethod[WorkflowTriggerViewSet, (self: WorkflowTriggerViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | Response]`, which is not assignable to `BoundMethod[WorkflowTriggerViewSet, (self: WorkflowTriggerViewSet, request: Request, *args: Any, **kwargs: Any) -> Response]`, the type of `ModelViewSet.partial_update`", "concise_description": "Class member `WorkflowTriggerViewSet.partial_update` overrides parent class `ModelViewSet` in an inconsistent manner", "severity": "error" }, { "line": 3143, "column": 9, "stop_line": 3143, "stop_column": 23, "path": "src/documents/views.py", "code": -2, "name": "bad-override", "description": "Class member `WorkflowActionViewSet.partial_update` overrides parent class `ModelViewSet` in an inconsistent manner\n `WorkflowActionViewSet.partial_update` has type `BoundMethod[WorkflowActionViewSet, (self: WorkflowActionViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | Response]`, which is not assignable to `BoundMethod[WorkflowActionViewSet, (self: WorkflowActionViewSet, request: Request, *args: Any, **kwargs: Any) -> Response]`, the type of `ModelViewSet.partial_update`", "concise_description": "Class member `WorkflowActionViewSet.partial_update` overrides parent class `ModelViewSet` in an inconsistent manner", "severity": "error" }, { "line": 3187, "column": 45, "stop_line": 3187, "stop_column": 75, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `AbstractBaseUser` has no attribute `is_superuser`", "concise_description": "Object of class `AbstractBaseUser` has no attribute `is_superuser`", "severity": "error" }, { "line": 3343, "column": 36, "stop_line": 3343, "stop_column": 52, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `keys`", "concise_description": "Object of class `NoneType` has no attribute `keys`", "severity": "error" }, { "line": 3344, "column": 33, "stop_line": 3344, "stop_column": 56, "path": "src/documents/views.py", "code": -2, "name": "unsupported-operation", "description": "`None` is not subscriptable", "concise_description": "`None` is not subscriptable", "severity": "error" }, { "line": 3459, "column": 40, "stop_line": 3459, "stop_column": 54, "path": "src/documents/views.py", "code": -2, "name": "unbound-name", "description": "`all_migrations` may be uninitialized", "concise_description": "`all_migrations` may be uninitialized", "severity": "error" }, { "line": 3467, "column": 38, "stop_line": 3467, "stop_column": 51, "path": "src/documents/views.py", "code": -2, "name": "unbound-name", "description": "`celery_active` may be uninitialized", "concise_description": "`celery_active` may be uninitialized", "severity": "error" }, { "line": 3531, "column": 16, "stop_line": 3531, "stop_column": 31, "path": "src/documents/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `app_logo`", "concise_description": "Object of class `NoneType` has no attribute `app_logo`", "severity": "error" }, { "line": 36, "column": 22, "stop_line": 36, "stop_column": 36, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `title`", "concise_description": "Object of class `ConsumableDocument` has no attribute `title`", "severity": "error" }, { "line": 37, "column": 80, "stop_line": 37, "stop_column": 91, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `pk`", "concise_description": "Object of class `ConsumableDocument` has no attribute `pk`", "severity": "error" }, { "line": 38, "column": 30, "stop_line": 38, "stop_column": 57, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `name`", "concise_description": "Object of class `object` has no attribute `name`", "severity": "error" }, { "line": 39, "column": 16, "stop_line": 39, "stop_column": 38, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `correspondent`", "concise_description": "Object of class `ConsumableDocument` has no attribute `correspondent`", "severity": "error" }, { "line": 41, "column": 30, "stop_line": 41, "stop_column": 57, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `name`", "concise_description": "Object of class `object` has no attribute `name`", "severity": "error" }, { "line": 42, "column": 16, "stop_line": 42, "stop_column": 38, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `document_type`", "concise_description": "Object of class `ConsumableDocument` has no attribute `document_type`", "severity": "error" }, { "line": 44, "column": 31, "stop_line": 44, "stop_column": 54, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `username`", "concise_description": "Object of class `object` has no attribute `username`", "severity": "error" }, { "line": 44, "column": 58, "stop_line": 44, "stop_column": 72, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `owner`", "concise_description": "Object of class `ConsumableDocument` has no attribute `owner`", "severity": "error" }, { "line": 45, "column": 25, "stop_line": 45, "stop_column": 51, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `original_filename`", "concise_description": "Object of class `ConsumableDocument` has no attribute `original_filename`", "severity": "error" }, { "line": 46, "column": 33, "stop_line": 46, "stop_column": 50, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `filename`", "concise_description": "Object of class `ConsumableDocument` has no attribute `filename`", "severity": "error" }, { "line": 47, "column": 41, "stop_line": 47, "stop_column": 55, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `added`", "concise_description": "Object of class `ConsumableDocument` has no attribute `added`", "severity": "error" }, { "line": 48, "column": 24, "stop_line": 48, "stop_column": 40, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `created`", "concise_description": "Object of class `ConsumableDocument` has no attribute `created`", "severity": "error" }, { "line": 49, "column": 19, "stop_line": 49, "stop_column": 30, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `ConsumableDocument` has no attribute `pk`", "concise_description": "Object of class `ConsumableDocument` has no attribute `pk`", "severity": "error" }, { "line": 68, "column": 42, "stop_line": 68, "stop_column": 64, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `original_file`", "concise_description": "Object of class `Document` has no attribute `original_file`", "severity": "error" }, { "line": 106, "column": 13, "stop_line": 106, "stop_column": 33, "path": "src/documents/workflows/actions.py", "code": -2, "name": "bad-argument-type", "description": "Argument `object | str` is not assignable to parameter `text` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "concise_description": "Argument `object | str` is not assignable to parameter `text` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "severity": "error" }, { "line": 118, "column": 12, "stop_line": 118, "stop_column": 32, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `subject`", "concise_description": "Object of class `NoneType` has no attribute `subject`", "severity": "error" }, { "line": 123, "column": 13, "stop_line": 123, "stop_column": 30, "path": "src/documents/workflows/actions.py", "code": -2, "name": "bad-argument-type", "description": "Argument `object | str` is not assignable to parameter `text` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "concise_description": "Argument `object | str` is not assignable to parameter `text` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "severity": "error" }, { "line": 135, "column": 12, "stop_line": 135, "stop_column": 29, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `body`", "concise_description": "Object of class `NoneType` has no attribute `body`", "severity": "error" }, { "line": 141, "column": 12, "stop_line": 141, "stop_column": 41, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `include_document`", "concise_description": "Object of class `NoneType` has no attribute `include_document`", "severity": "error" }, { "line": 174, "column": 16, "stop_line": 174, "stop_column": 31, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `to`", "concise_description": "Object of class `NoneType` has no attribute `to`", "severity": "error" }, { "line": 178, "column": 59, "stop_line": 178, "stop_column": 74, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `to`", "concise_description": "Object of class `NoneType` has no attribute `to`", "severity": "error" }, { "line": 197, "column": 12, "stop_line": 197, "stop_column": 37, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `use_params`", "concise_description": "Object of class `NoneType` has no attribute `use_params`", "severity": "error" }, { "line": 198, "column": 16, "stop_line": 198, "stop_column": 37, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `params`", "concise_description": "Object of class `NoneType` has no attribute `params`", "severity": "error" }, { "line": 200, "column": 39, "stop_line": 200, "stop_column": 66, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `items`", "concise_description": "Object of class `object` has no attribute `items`", "severity": "error" }, { "line": 219, "column": 14, "stop_line": 219, "stop_column": 33, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `body`", "concise_description": "Object of class `NoneType` has no attribute `body`", "severity": "error" }, { "line": 221, "column": 17, "stop_line": 221, "stop_column": 36, "path": "src/documents/workflows/actions.py", "code": -2, "name": "bad-argument-type", "description": "Argument `object | str` is not assignable to parameter `text` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "concise_description": "Argument `object | str` is not assignable to parameter `text` with type `str` in function `documents.templating.workflows.parse_w_workflow_placeholders`", "severity": "error" }, { "line": 234, "column": 12, "stop_line": 234, "stop_column": 34, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `headers`", "concise_description": "Object of class `NoneType` has no attribute `headers`", "severity": "error" }, { "line": 236, "column": 55, "stop_line": 236, "stop_column": 83, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `object` has no attribute `items`", "concise_description": "Object of class `object` has no attribute `items`", "severity": "error" }, { "line": 243, "column": 12, "stop_line": 243, "stop_column": 43, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `include_document`", "concise_description": "Object of class `NoneType` has no attribute `include_document`", "severity": "error" }, { "line": 255, "column": 17, "stop_line": 255, "stop_column": 35, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `url`", "concise_description": "Object of class `NoneType` has no attribute `url`", "severity": "error" }, { "line": 258, "column": 19, "stop_line": 258, "stop_column": 24, "path": "src/documents/workflows/actions.py", "code": -2, "name": "bad-argument-type", "description": "Argument `dict[str, tuple[str, bytes, str]] | None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.delay`", "concise_description": "Argument `dict[str, tuple[str, bytes, str]] | None` is not assignable to parameter `files` with type `dict[Unknown, Unknown]` in function `celery.app.task.Task.delay`", "severity": "error" }, { "line": 259, "column": 21, "stop_line": 259, "stop_column": 43, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `as_json`", "concise_description": "Object of class `NoneType` has no attribute `as_json`", "severity": "error" }, { "line": 262, "column": 27, "stop_line": 262, "stop_column": 45, "path": "src/documents/workflows/actions.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `url`", "concise_description": "Object of class `NoneType` has no attribute `url`", "severity": "error" }, { "line": 298, "column": 43, "stop_line": 298, "stop_column": 65, "path": "src/documents/workflows/actions.py", "code": -2, "name": "bad-assignment", "description": "`Unknown | None` is not assignable to `Document`", "concise_description": "`Unknown | None` is not assignable to `Document`", "severity": "error" }, { "line": 27, "column": 8, "stop_line": 27, "stop_column": 30, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_tags`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_tags`", "severity": "error" }, { "line": 70, "column": 13, "stop_line": 70, "stop_column": 41, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_view_users`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_view_users`", "severity": "error" }, { "line": 71, "column": 13, "stop_line": 71, "stop_column": 42, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_view_groups`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_view_groups`", "severity": "error" }, { "line": 72, "column": 13, "stop_line": 72, "stop_column": 43, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_change_users`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_change_users`", "severity": "error" }, { "line": 73, "column": 13, "stop_line": 73, "stop_column": 44, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_change_groups`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_change_groups`", "severity": "error" }, { "line": 92, "column": 8, "stop_line": 92, "stop_column": 39, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_custom_fields`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_custom_fields`", "severity": "error" }, { "line": 95, "column": 27, "stop_line": 95, "stop_column": 42, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `data_type` with type `CustomField.FieldDataType` in function `documents.models.CustomFieldInstance.get_value_field_name`", "concise_description": "Argument `str` is not assignable to parameter `data_type` with type `CustomField.FieldDataType` in function `documents.models.CustomFieldInstance.get_value_field_name`", "severity": "error" }, { "line": 98, "column": 35, "stop_line": 98, "stop_column": 73, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get`", "concise_description": "Object of class `NoneType` has no attribute `get`", "severity": "error" }, { "line": 128, "column": 8, "stop_line": 128, "stop_column": 30, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_tags`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_tags`", "severity": "error" }, { "line": 155, "column": 13, "stop_line": 155, "stop_column": 41, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_view_users`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_view_users`", "severity": "error" }, { "line": 156, "column": 13, "stop_line": 156, "stop_column": 42, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_view_groups`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_view_groups`", "severity": "error" }, { "line": 157, "column": 13, "stop_line": 157, "stop_column": 43, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_change_users`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_change_users`", "severity": "error" }, { "line": 158, "column": 13, "stop_line": 158, "stop_column": 44, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_change_groups`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_change_groups`", "severity": "error" }, { "line": 186, "column": 8, "stop_line": 186, "stop_column": 39, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_assign_custom_fields`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_assign_custom_fields`", "severity": "error" }, { "line": 191, "column": 27, "stop_line": 191, "stop_column": 65, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get`", "concise_description": "Object of class `NoneType` has no attribute `get`", "severity": "error" }, { "line": 257, "column": 13, "stop_line": 257, "stop_column": 41, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_remove_view_users`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_remove_view_users`", "severity": "error" }, { "line": 258, "column": 13, "stop_line": 258, "stop_column": 42, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_remove_view_groups`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_remove_view_groups`", "severity": "error" }, { "line": 259, "column": 13, "stop_line": 259, "stop_column": 43, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_remove_change_users`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_remove_change_users`", "severity": "error" }, { "line": 260, "column": 13, "stop_line": 260, "stop_column": 44, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_remove_change_groups`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_remove_change_groups`", "severity": "error" }, { "line": 273, "column": 9, "stop_line": 273, "stop_column": 74, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `QuerySet` has no attribute `hard_delete`", "concise_description": "Object of class `QuerySet` has no attribute `hard_delete`", "severity": "error" }, { "line": 274, "column": 10, "stop_line": 274, "stop_column": 41, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_remove_custom_fields`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_remove_custom_fields`", "severity": "error" }, { "line": 275, "column": 9, "stop_line": 278, "stop_column": 22, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `QuerySet` has no attribute `hard_delete`", "concise_description": "Object of class `QuerySet` has no attribute `hard_delete`", "severity": "error" }, { "line": 331, "column": 13, "stop_line": 331, "stop_column": 41, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_remove_view_users`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_remove_view_users`", "severity": "error" }, { "line": 332, "column": 13, "stop_line": 332, "stop_column": 42, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_remove_view_groups`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_remove_view_groups`", "severity": "error" }, { "line": 333, "column": 13, "stop_line": 333, "stop_column": 43, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_remove_change_users`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_remove_change_users`", "severity": "error" }, { "line": 334, "column": 13, "stop_line": 334, "stop_column": 44, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_remove_change_groups`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_remove_change_groups`", "severity": "error" }, { "line": 356, "column": 10, "stop_line": 356, "stop_column": 41, "path": "src/documents/workflows/mutations.py", "code": -2, "name": "missing-attribute", "description": "Object of class `WorkflowAction` has no attribute `has_remove_custom_fields`", "concise_description": "Object of class `WorkflowAction` has no attribute `has_remove_custom_fields`", "severity": "error" }, { "line": 53, "column": 48, "stop_line": 53, "stop_column": 54, "path": "src/documents/workflows/webhooks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int | str` is not assignable to parameter `ip` with type `str` in function `WebhookTransport._format_ip_for_url`", "concise_description": "Argument `int | str` is not assignable to parameter `ip` with type `str` in function `WebhookTransport._format_ip_for_url`", "severity": "error" }, { "line": 102, "column": 20, "stop_line": 102, "stop_column": 51, "path": "src/documents/workflows/webhooks.py", "code": -2, "name": "bad-return", "description": "Returned type `int | str | None` is not assignable to declared return type `str | None`", "concise_description": "Returned type `int | str | None` is not assignable to declared return type `str | None`", "severity": "error" }, { "line": 23, "column": 9, "stop_line": 23, "stop_column": 27, "path": "src/paperless/adapter.py", "code": -2, "name": "bad-override", "description": "Class member `CustomAccountAdapter.is_open_for_signup` overrides parent class `DefaultAccountAdapter` in an inconsistent manner\n `CustomAccountAdapter.is_open_for_signup` has type `BoundMethod[CustomAccountAdapter, (self: CustomAccountAdapter, request: Unknown) -> bool | Any]`, which is not assignable to `BoundMethod[CustomAccountAdapter, (self: CustomAccountAdapter, request: Unknown) -> Literal[True]]`, the type of `DefaultAccountAdapter.is_open_for_signup`", "concise_description": "Class member `CustomAccountAdapter.is_open_for_signup` overrides parent class `DefaultAccountAdapter` in an inconsistent manner", "severity": "error" }, { "line": 58, "column": 26, "stop_line": 58, "stop_column": 50, "path": "src/paperless/adapter.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get_host`", "concise_description": "Object of class `NoneType` has no attribute `get_host`", "severity": "error" }, { "line": 63, "column": 31, "stop_line": 63, "stop_column": 55, "path": "src/paperless/adapter.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get_host`", "concise_description": "Object of class `NoneType` has no attribute `get_host`", "severity": "error" }, { "line": 109, "column": 9, "stop_line": 109, "stop_column": 27, "path": "src/paperless/adapter.py", "code": -2, "name": "bad-override", "description": "Class member `CustomSocialAccountAdapter.is_open_for_signup` overrides parent class `DefaultSocialAccountAdapter` in an inconsistent manner\n `CustomSocialAccountAdapter.is_open_for_signup` has type `BoundMethod[CustomSocialAccountAdapter, (self: CustomSocialAccountAdapter, request: Unknown, sociallogin: Unknown) -> bool | Any]`, which is not assignable to `BoundMethod[CustomSocialAccountAdapter, (self: CustomSocialAccountAdapter, request: Unknown, sociallogin: Unknown) -> Literal[True]]`, the type of `DefaultSocialAccountAdapter.is_open_for_signup`", "concise_description": "Class member `CustomSocialAccountAdapter.is_open_for_signup` overrides parent class `DefaultSocialAccountAdapter` in an inconsistent manner", "severity": "error" }, { "line": 30, "column": 24, "stop_line": 30, "stop_column": 40, "path": "src/paperless/admin.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get`", "concise_description": "Object of class `NoneType` has no attribute `get`", "severity": "error" }, { "line": 33, "column": 17, "stop_line": 33, "stop_column": 29, "path": "src/paperless/admin.py", "code": -2, "name": "missing-attribute", "description": "Object of class `PaperlessUserForm` has no attribute `request`", "concise_description": "Object of class `PaperlessUserForm` has no attribute `request`", "severity": "error" }, { "line": 46, "column": 9, "stop_line": 46, "stop_column": 17, "path": "src/paperless/admin.py", "code": -2, "name": "bad-override", "description": "Class member `PaperlessUserAdmin.get_form` overrides parent class `UserAdmin` in an inconsistent manner\n `PaperlessUserAdmin.get_form` has type `BoundMethod[PaperlessUserAdmin, (self: PaperlessUserAdmin, request: Unknown, obj: Unknown | None = None, **kwargs: Unknown) -> type[ModelForm[Unknown]]]`, which is not assignable to `BoundMethod[PaperlessUserAdmin, (self: PaperlessUserAdmin, request: HttpRequest, obj: Unknown | None = ..., change: bool = ..., **kwargs: Any) -> type[ModelForm[Unknown]]]`, the type of `UserAdmin.get_form`", "concise_description": "Class member `PaperlessUserAdmin.get_form` overrides parent class `UserAdmin` in an inconsistent manner", "severity": "error" }, { "line": 65, "column": 20, "stop_line": 65, "stop_column": 46, "path": "src/paperless/auth.py", "code": -2, "name": "bad-return", "description": "Returned type `Awaitable[HttpResponseBase] | HttpResponseBase` is not assignable to declared return type `None`", "concise_description": "Returned type `Awaitable[HttpResponseBase] | HttpResponseBase` is not assignable to declared return type `None`", "severity": "error" }, { "line": 66, "column": 16, "stop_line": 66, "stop_column": 41, "path": "src/paperless/auth.py", "code": -2, "name": "bad-return", "description": "Returned type `Awaitable[HttpResponseBase] | HttpResponseBase` is not assignable to declared return type `None`", "concise_description": "Returned type `Awaitable[HttpResponseBase] | HttpResponseBase` is not assignable to declared return type `None`", "severity": "error" }, { "line": 88, "column": 35, "stop_line": 88, "stop_column": 70, "path": "src/paperless/checks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `django.core.checks.messages.Warning | builtins.Warning` is not assignable to parameter `object` with type `django.core.checks.messages.Warning` in function `list.append`", "concise_description": "Argument `django.core.checks.messages.Warning | builtins.Warning` is not assignable to parameter `object` with type `django.core.checks.messages.Warning` in function `list.append`", "severity": "error" }, { "line": 93, "column": 1, "stop_line": 93, "stop_column": 12, "path": "src/paperless/checks.py", "code": -2, "name": "bad-specialization", "description": "`(app_configs: Unknown, **kwargs: Unknown) -> list[django.core.checks.messages.Warning | builtins.Warning] | list[Unknown]` is not assignable to upper bound `_CheckCallable` of type variable `_C`", "concise_description": "`(app_configs: Unknown, **kwargs: Unknown) -> list[django.core.checks.messages.Warning | builtins.Warning] | list[Unknown]` is not assignable to upper bound `_CheckCallable` of type variable `_C`", "severity": "error" }, { "line": 138, "column": 17, "stop_line": 142, "stop_column": 18, "path": "src/paperless/checks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `django.core.checks.messages.Warning | builtins.Warning` is not assignable to parameter `object` with type `Error` in function `list.append`", "concise_description": "Argument `django.core.checks.messages.Warning | builtins.Warning` is not assignable to parameter `object` with type `Error` in function `list.append`", "severity": "error" }, { "line": 211, "column": 13, "stop_line": 213, "stop_column": 14, "path": "src/paperless/checks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `django.core.checks.messages.Warning | builtins.Warning` is not assignable to parameter `object` with type `django.core.checks.messages.Warning` in function `list.append`", "concise_description": "Argument `django.core.checks.messages.Warning | builtins.Warning` is not assignable to parameter `object` with type `django.core.checks.messages.Warning` in function `list.append`", "severity": "error" }, { "line": 22, "column": 16, "stop_line": 22, "stop_column": 26, "path": "src/paperless/config.py", "code": -2, "name": "bad-return", "description": "Returned type `ApplicationConfiguration | None` is not assignable to declared return type `ApplicationConfiguration`", "concise_description": "Returned type `ApplicationConfiguration | None` is not assignable to declared return type `ApplicationConfiguration`", "severity": "error" }, { "line": 174, "column": 26, "stop_line": 174, "stop_column": 54, "path": "src/paperless/config.py", "code": -2, "name": "bad-assignment", "description": "`str | None` is not assignable to attribute `app_title` with type `str`", "concise_description": "`str | None` is not assignable to attribute `app_title` with type `str`", "severity": "error" }, { "line": 175, "column": 25, "stop_line": 175, "stop_column": 81, "path": "src/paperless/config.py", "code": -2, "name": "bad-assignment", "description": "`Unknown | None` is not assignable to attribute `app_logo` with type `str`", "concise_description": "`Unknown | None` is not assignable to attribute `app_logo` with type `str`", "severity": "error" }, { "line": 11, "column": 41, "stop_line": 11, "stop_column": 76, "path": "src/paperless/consumers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `is_authenticated`", "concise_description": "Object of class `NoneType` has no attribute `is_authenticated`", "severity": "error" }, { "line": 19, "column": 13, "stop_line": 19, "stop_column": 30, "path": "src/paperless/consumers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `is_superuser`", "concise_description": "Object of class `NoneType` has no attribute `is_superuser`", "severity": "error" }, { "line": 20, "column": 16, "stop_line": 20, "stop_column": 23, "path": "src/paperless/consumers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `id`", "concise_description": "Object of class `NoneType` has no attribute `id`", "severity": "error" }, { "line": 23, "column": 17, "stop_line": 23, "stop_column": 28, "path": "src/paperless/consumers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `groups`", "concise_description": "Object of class `NoneType` has no attribute `groups`", "severity": "error" }, { "line": 37, "column": 9, "stop_line": 37, "stop_column": 19, "path": "src/paperless/consumers.py", "code": -2, "name": "bad-param-name-override", "description": "Class member `StatusConsumer.disconnect` overrides parent class `WebsocketConsumer` in an inconsistent manner\n Got parameter name `close_code`, expected `code`", "concise_description": "Class member `StatusConsumer.disconnect` overrides parent class `WebsocketConsumer` in an inconsistent manner", "severity": "error" }, { "line": 33, "column": 16, "stop_line": 33, "stop_column": 29, "path": "src/paperless/serialisers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `PasswordValidationMixin` has no attribute `instance`", "concise_description": "Object of class `PasswordValidationMixin` has no attribute `instance`", "severity": "error" }, { "line": 86, "column": 11, "stop_line": 86, "stop_column": 15, "path": "src/paperless/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `UserSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `UserSerializer.Meta` has type `type[UserSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `UserSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 146, "column": 11, "stop_line": 146, "stop_column": 15, "path": "src/paperless/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `GroupSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `GroupSerializer.Meta` has type `type[GroupSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `GroupSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 158, "column": 11, "stop_line": 158, "stop_column": 15, "path": "src/paperless/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `SocialAccountSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `SocialAccountSerializer.Meta` has type `type[SocialAccountSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `SocialAccountSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 192, "column": 11, "stop_line": 192, "stop_column": 15, "path": "src/paperless/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `ProfileSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `ProfileSerializer.Meta` has type `type[ProfileSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `ProfileSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 214, "column": 9, "stop_line": 214, "stop_column": 23, "path": "src/paperless/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `ApplicationConfigurationSerializer.run_validation` overrides parent class `ModelSerializer` in an inconsistent manner\n `ApplicationConfigurationSerializer.run_validation` has type `BoundMethod[ApplicationConfigurationSerializer, (self: ApplicationConfigurationSerializer, data: Unknown) -> Any]`, which is not assignable to `BoundMethod[ApplicationConfigurationSerializer, (self: ApplicationConfigurationSerializer, data: Any = ...) -> Any]`, the type of `ModelSerializer.run_validation`", "concise_description": "Class member `ApplicationConfigurationSerializer.run_validation` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 239, "column": 11, "stop_line": 239, "stop_column": 15, "path": "src/paperless/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `ApplicationConfigurationSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `ApplicationConfigurationSerializer.Meta` has type `type[ApplicationConfigurationSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`", "concise_description": "Class member `ApplicationConfigurationSerializer.Meta` overrides parent class `ModelSerializer` in an inconsistent manner", "severity": "error" }, { "line": 301, "column": 39, "stop_line": 301, "stop_column": 77, "path": "src/paperless/settings.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `default` with type `PathLike[Unknown] | str` in function `__get_path`", "concise_description": "Argument `str | None` is not assignable to parameter `default` with type `PathLike[Unknown] | str` in function `__get_path`", "severity": "error" }, { "line": 434, "column": 12, "stop_line": 434, "stop_column": 85, "path": "src/paperless/settings.py", "code": -2, "name": "bad-return", "description": "Returned type `tuple[str | None, str, str, str, str]` is not assignable to declared return type `tuple[str, str, str, str, str]`", "concise_description": "Returned type `tuple[str | None, str, str, str, str]` is not assignable to declared return type `tuple[str, str, str, str, str]`", "severity": "error" }, { "line": 665, "column": 30, "stop_line": 665, "stop_column": 52, "path": "src/paperless/settings.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `object` with type `str` in function `list.append`", "concise_description": "Argument `str | None` is not assignable to parameter `object` with type `str` in function `list.append`", "severity": "error" }, { "line": 739, "column": 21, "stop_line": 739, "stop_column": 50, "path": "src/paperless/settings.py", "code": -2, "name": "bad-typed-dict-key", "description": "`str | None` is not assignable to TypedDict key with type `Path | dict[Unknown, Unknown] | str`", "concise_description": "`str | None` is not assignable to TypedDict key with type `Path | dict[Unknown, Unknown] | str`", "severity": "error" }, { "line": 740, "column": 21, "stop_line": 740, "stop_column": 63, "path": "src/paperless/settings.py", "code": -2, "name": "bad-typed-dict-key", "description": "`str` is not assignable to TypedDict key `NAME` with type `Path`", "concise_description": "`str` is not assignable to TypedDict key `NAME` with type `Path`", "severity": "error" }, { "line": 746, "column": 44, "stop_line": 746, "stop_column": 73, "path": "src/paperless/settings.py", "code": -2, "name": "bad-typed-dict-key", "description": "`str | None` is not assignable to TypedDict key `PORT` with type `Path | dict[Unknown, Unknown] | str`", "concise_description": "`str | None` is not assignable to TypedDict key `PORT` with type `Path | dict[Unknown, Unknown] | str`", "severity": "error" }, { "line": 774, "column": 31, "stop_line": 781, "stop_column": 18, "path": "src/paperless/settings.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, dict[str, int]])\n Possible overloads:\n (m: SupportsKeysAndGetItem[str, str | None], /) -> None [closest match]\n (m: SupportsKeysAndGetItem[str, str | None], /, **kwargs: str | None) -> None\n (m: Iterable[tuple[str, str | None]], /) -> None\n (m: Iterable[tuple[str, str | None]], /, **kwargs: str | None) -> None\n (**kwargs: str | None) -> None", "concise_description": "No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, dict[str, int]])", "severity": "error" }, { "line": 778, "column": 44, "stop_line": 778, "stop_column": 80, "path": "src/paperless/settings.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `int.__new__` called with arguments: (type[int], str | None)\n Possible overloads:\n (cls: type[int], x: ConvertibleToInt = 0, /) -> int [closest match]\n (cls: type[int], x: bytearray | bytes | str, /, base: SupportsIndex) -> int", "concise_description": "No matching overload found for function `int.__new__` called with arguments: (type[int], str | None)", "severity": "error" }, { "line": 789, "column": 32, "stop_line": 789, "stop_column": 67, "path": "src/paperless/settings.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `int.__new__` called with arguments: (type[int], str | None)\n Possible overloads:\n (cls: type[int], x: ConvertibleToInt = 0, /) -> int [closest match]\n (cls: type[int], x: bytearray | bytes | str, /, base: SupportsIndex) -> int", "concise_description": "No matching overload found for function `int.__new__` called with arguments: (type[int], str | None)", "severity": "error" }, { "line": 793, "column": 40, "stop_line": 793, "stop_column": 75, "path": "src/paperless/settings.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `int.__new__` called with arguments: (type[int], str | None)\n Possible overloads:\n (cls: type[int], x: ConvertibleToInt = 0, /) -> int [closest match]\n (cls: type[int], x: bytearray | bytes | str, /, base: SupportsIndex) -> int", "concise_description": "No matching overload found for function `int.__new__` called with arguments: (type[int], str | None)", "severity": "error" }, { "line": 796, "column": 32, "stop_line": 796, "stop_column": 67, "path": "src/paperless/settings.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `int.__new__` called with arguments: (type[int], str | None)\n Possible overloads:\n (cls: type[int], x: ConvertibleToInt = 0, /) -> int [closest match]\n (cls: type[int], x: bytearray | bytes | str, /, base: SupportsIndex) -> int", "concise_description": "No matching overload found for function `int.__new__` called with arguments: (type[int], str | None)", "severity": "error" }, { "line": 1328, "column": 12, "stop_line": 1328, "stop_column": 25, "path": "src/paperless/settings.py", "code": -2, "name": "bad-return", "description": "Returned type `set[date]` is not assignable to declared return type `set[datetime]`", "concise_description": "Returned type `set[date]` is not assignable to declared return type `set[datetime]`", "severity": "error" }, { "line": 1335, "column": 20, "stop_line": 1335, "stop_column": 76, "path": "src/paperless/settings.py", "code": -2, "name": "bad-assignment", "description": "`set[datetime]` is not assignable to variable `IGNORE_DATES` with type `set[date]`", "concise_description": "`set[datetime]` is not assignable to variable `IGNORE_DATES` with type `set[date]`", "severity": "error" }, { "line": 1335, "column": 40, "stop_line": 1335, "stop_column": 75, "path": "src/paperless/settings.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `env_ignore` with type `str` in function `_parse_ignore_dates`", "concise_description": "Argument `str | None` is not assignable to parameter `env_ignore` with type `str` in function `_parse_ignore_dates`", "severity": "error" }, { "line": 41, "column": 14, "stop_line": 41, "stop_column": 32, "path": "src/paperless/tests/test_checks.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `data_dir`", "concise_description": "Class `dirs` has no class attribute `data_dir`", "severity": "error" }, { "line": 42, "column": 14, "stop_line": 42, "stop_column": 33, "path": "src/paperless/tests/test_checks.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 43, "column": 14, "stop_line": 43, "stop_column": 39, "path": "src/paperless/tests/test_checks.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `consumption_dir`", "concise_description": "Class `dirs` has no class attribute `consumption_dir`", "severity": "error" }, { "line": 45, "column": 35, "stop_line": 45, "stop_column": 53, "path": "src/paperless/tests/test_checks.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `data_dir`", "concise_description": "Class `dirs` has no class attribute `data_dir`", "severity": "error" }, { "line": 46, "column": 35, "stop_line": 46, "stop_column": 54, "path": "src/paperless/tests/test_checks.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `media_dir`", "concise_description": "Class `dirs` has no class attribute `media_dir`", "severity": "error" }, { "line": 47, "column": 35, "stop_line": 47, "stop_column": 60, "path": "src/paperless/tests/test_checks.py", "code": -2, "name": "missing-attribute", "description": "Class `dirs` has no class attribute `consumption_dir`", "concise_description": "Class `dirs` has no class attribute `consumption_dir`", "severity": "error" }, { "line": 294, "column": 23, "stop_line": 294, "stop_column": 47, "path": "src/paperless/tests/test_signals.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get`", "concise_description": "Object of class `NoneType` has no attribute `get`", "severity": "error" }, { "line": 301, "column": 23, "stop_line": 301, "stop_column": 47, "path": "src/paperless/tests/test_signals.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `get`", "concise_description": "Object of class `NoneType` has no attribute `get`", "severity": "error" }, { "line": 42, "column": 15, "stop_line": 42, "stop_column": 39, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `group_send`", "concise_description": "Object of class `NoneType` has no attribute `group_send`", "severity": "error" }, { "line": 53, "column": 15, "stop_line": 53, "stop_column": 39, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `group_send`", "concise_description": "Object of class `NoneType` has no attribute `group_send`", "severity": "error" }, { "line": 82, "column": 15, "stop_line": 82, "stop_column": 39, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `group_send`", "concise_description": "Object of class `NoneType` has no attribute `group_send`", "severity": "error" }, { "line": 96, "column": 28, "stop_line": 96, "stop_column": 34, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "bad-typed-dict-key", "description": "TypedDict `_WebsocketTestScope` does not have key `user`", "concise_description": "TypedDict `_WebsocketTestScope` does not have key `user`", "severity": "error" }, { "line": 97, "column": 28, "stop_line": 97, "stop_column": 34, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "bad-typed-dict-key", "description": "TypedDict `_WebsocketTestScope` does not have key `user`", "concise_description": "TypedDict `_WebsocketTestScope` does not have key `user`", "severity": "error" }, { "line": 98, "column": 28, "stop_line": 98, "stop_column": 34, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "bad-typed-dict-key", "description": "TypedDict `_WebsocketTestScope` does not have key `user`", "concise_description": "TypedDict `_WebsocketTestScope` does not have key `user`", "severity": "error" }, { "line": 99, "column": 28, "stop_line": 99, "stop_column": 34, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "bad-typed-dict-key", "description": "TypedDict `_WebsocketTestScope` does not have key `user`", "concise_description": "TypedDict `_WebsocketTestScope` does not have key `user`", "severity": "error" }, { "line": 107, "column": 15, "stop_line": 107, "stop_column": 39, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `group_send`", "concise_description": "Object of class `NoneType` has no attribute `group_send`", "severity": "error" }, { "line": 115, "column": 28, "stop_line": 115, "stop_column": 34, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "bad-typed-dict-key", "description": "TypedDict `_WebsocketTestScope` does not have key `user`", "concise_description": "TypedDict `_WebsocketTestScope` does not have key `user`", "severity": "error" }, { "line": 121, "column": 15, "stop_line": 121, "stop_column": 39, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `group_send`", "concise_description": "Object of class `NoneType` has no attribute `group_send`", "severity": "error" }, { "line": 131, "column": 15, "stop_line": 131, "stop_column": 39, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `group_send`", "concise_description": "Object of class `NoneType` has no attribute `group_send`", "severity": "error" }, { "line": 150, "column": 15, "stop_line": 150, "stop_column": 39, "path": "src/paperless/tests/test_websockets.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `group_send`", "concise_description": "Object of class `NoneType` has no attribute `group_send`", "severity": "error" }, { "line": 371, "column": 9, "stop_line": 371, "stop_column": 49, "path": "src/paperless/urls.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `django.urls.conf.path` called with arguments: (Literal['ws/status/'], _ASGIApplicationProtocol)\n Possible overloads:\n (route: _StrOrPromise, view: (...) -> HttpResponseBase, kwargs: dict[str, Any] = ..., name: str = ...) -> URLPattern [closest match]\n (route: _StrOrPromise, view: (...) -> Coroutine[Any, Any, HttpResponseBase], kwargs: dict[str, Any] = ..., name: str = ...) -> URLPattern\n (route: _StrOrPromise, view: tuple[Sequence[URLPattern | URLResolver], str | None, str | None], kwargs: dict[str, Any] = ..., name: str = ...) -> URLResolver\n (route: _StrOrPromise, view: Sequence[URLResolver | str], kwargs: dict[str, Any] = ..., name: str = ...) -> URLResolver", "concise_description": "No matching overload found for function `django.urls.conf.path` called with arguments: (Literal['ws/status/'], _ASGIApplicationProtocol)", "severity": "error" }, { "line": 195, "column": 20, "stop_line": 195, "stop_column": 60, "path": "src/paperless/validators.py", "code": -2, "name": "missing-attribute", "description": "Object of class `EllipsisType` has no attribute `lower`", "concise_description": "Object of class `EllipsisType` has no attribute `lower`", "severity": "error" }, { "line": 195, "column": 32, "stop_line": 195, "stop_column": 43, "path": "src/paperless/validators.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Ellipsis | Unknown` is not assignable to parameter `text_or_uri_element` with type `_Element | bytes | str | None` in function `lxml.etree.QName.__init__`", "concise_description": "Argument `Ellipsis | Unknown` is not assignable to parameter `text_or_uri_element` with type `_Element | bytes | str | None` in function `lxml.etree.QName.__init__`", "severity": "error" }, { "line": 201, "column": 38, "stop_line": 201, "stop_column": 58, "path": "src/paperless/validators.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `str.join` called with arguments: (Iterator[_AnyStr] | Unknown)\n Possible overloads:\n (iterable: Iterable[LiteralString], /) -> LiteralString [closest match]\n (iterable: Iterable[str], /) -> str", "concise_description": "No matching overload found for function `str.join` called with arguments: (Iterator[_AnyStr] | Unknown)", "severity": "error" }, { "line": 210, "column": 38, "stop_line": 210, "stop_column": 58, "path": "src/paperless/validators.py", "code": -2, "name": "missing-attribute", "description": "Object of class `EllipsisType` has no attribute `items`", "concise_description": "Object of class `EllipsisType` has no attribute `items`", "severity": "error" }, { "line": 63, "column": 31, "stop_line": 63, "stop_column": 50, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `paginator`", "concise_description": "Object of class `NoneType` has no attribute `paginator`", "severity": "error" }, { "line": 73, "column": 17, "stop_line": 73, "stop_column": 36, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `paginator`", "concise_description": "Object of class `NoneType` has no attribute `paginator`", "severity": "error" }, { "line": 80, "column": 36, "stop_line": 80, "stop_column": 70, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `results`", "concise_description": "Object of class `NoneType` has no attribute `results`", "severity": "error" }, { "line": 85, "column": 19, "stop_line": 85, "stop_column": 38, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `paginator`", "concise_description": "Object of class `NoneType` has no attribute `paginator`", "severity": "error" }, { "line": 86, "column": 16, "stop_line": 86, "stop_column": 19, "path": "src/paperless/views.py", "code": -2, "name": "unbound-name", "description": "`ids` may be uninitialized", "concise_description": "`ids` may be uninitialized", "severity": "error" }, { "line": 121, "column": 9, "stop_line": 121, "stop_column": 15, "path": "src/paperless/views.py", "code": -2, "name": "bad-override", "description": "Class member `UserViewSet.create` overrides parent class `ModelViewSet` in an inconsistent manner\n `UserViewSet.create` has type `BoundMethod[UserViewSet, (self: UserViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseForbidden | Response]`, which is not assignable to `BoundMethod[UserViewSet, (self: UserViewSet, request: Request, *args: Any, **kwargs: Any) -> Response]`, the type of `ModelViewSet.create`", "concise_description": "Class member `UserViewSet.create` overrides parent class `ModelViewSet` in an inconsistent manner", "severity": "error" }, { "line": 128, "column": 9, "stop_line": 128, "stop_column": 15, "path": "src/paperless/views.py", "code": -2, "name": "bad-override", "description": "Class member `UserViewSet.update` overrides parent class `ModelViewSet` in an inconsistent manner\n `UserViewSet.update` has type `BoundMethod[UserViewSet, (self: UserViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseForbidden | Response]`, which is not assignable to `BoundMethod[UserViewSet, (self: UserViewSet, request: Request, *args: Any, **kwargs: Any) -> Response]`, the type of `ModelViewSet.update`", "concise_description": "Class member `UserViewSet.update` overrides parent class `ModelViewSet` in an inconsistent manner", "severity": "error" }, { "line": 204, "column": 13, "stop_line": 204, "stop_column": 30, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `set_password`", "concise_description": "Object of class `NoneType` has no attribute `set_password`", "severity": "error" }, { "line": 205, "column": 13, "stop_line": 205, "stop_column": 22, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 209, "column": 9, "stop_line": 209, "stop_column": 18, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 286, "column": 38, "stop_line": 286, "stop_column": 75, "path": "src/paperless/views.py", "code": -2, "name": "bad-assignment", "description": "`Authenticator | None` is not assignable to `Authenticator`", "concise_description": "`Authenticator | None` is not assignable to `Authenticator`", "severity": "error" }, { "line": 288, "column": 34, "stop_line": 288, "stop_column": 65, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `TOTP` has no attribute `get_unused_codes`\nObject of class `WebAuthn` has no attribute `get_unused_codes`", "concise_description": "Object of class `TOTP` has no attribute `get_unused_codes`\nObject of class `WebAuthn` has no attribute `get_unused_codes`", "severity": "error" }, { "line": 366, "column": 13, "stop_line": 366, "stop_column": 36, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `ai_enabled`", "concise_description": "Object of class `NoneType` has no attribute `ai_enabled`", "severity": "error" }, { "line": 366, "column": 41, "stop_line": 366, "stop_column": 75, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `llm_embedding_backend`", "concise_description": "Object of class `NoneType` has no attribute `llm_embedding_backend`", "severity": "error" }, { "line": 416, "column": 23, "stop_line": 416, "stop_column": 45, "path": "src/paperless/views.py", "code": -2, "name": "missing-attribute", "description": "Object of class `AbstractBaseUser` has no attribute `socialaccount_set`\nObject of class `AnonymousUser` has no attribute `socialaccount_set`", "concise_description": "Object of class `AbstractBaseUser` has no attribute `socialaccount_set`\nObject of class `AnonymousUser` has no attribute `socialaccount_set`", "severity": "error" }, { "line": 102, "column": 30, "stop_line": 102, "stop_column": 36, "path": "src/paperless_ai/ai_classifier.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `raw` with type `dict[Unknown, Unknown]` in function `parse_ai_response`", "concise_description": "Argument `str` is not assignable to parameter `raw` with type `dict[Unknown, Unknown]` in function `parse_ai_response`", "severity": "error" }, { "line": 103, "column": 18, "stop_line": 103, "stop_column": 46, "path": "src/paperless_ai/chat.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Response` has no attribute `response_gen`", "concise_description": "Object of class `Response` has no attribute `response_gen`", "severity": "error" }, { "line": 59, "column": 16, "stop_line": 59, "stop_column": 35, "path": "src/paperless_ai/client.py", "code": -2, "name": "bad-return", "description": "Returned type `dict[str, Any]` is not assignable to declared return type `str`", "concise_description": "Returned type `dict[str, Any]` is not assignable to declared return type `str`", "severity": "error" }, { "line": 86, "column": 21, "stop_line": 86, "stop_column": 38, "path": "src/paperless_ai/embedding.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Document` has no attribute `custom_fields`", "concise_description": "Object of class `Document` has no attribute `custom_fields`", "severity": "error" }, { "line": 241, "column": 46, "stop_line": 241, "stop_column": 51, "path": "src/paperless_ai/indexing.py", "code": -2, "name": "bad-argument-type", "description": "Argument `BaseIndex[Unknown] | VectorStoreIndex` is not assignable to parameter `index` with type `VectorStoreIndex` in function `remove_document_docstore_nodes`", "concise_description": "Argument `BaseIndex[Unknown] | VectorStoreIndex` is not assignable to parameter `index` with type `VectorStoreIndex` in function `remove_document_docstore_nodes`", "severity": "error" }, { "line": 254, "column": 46, "stop_line": 254, "stop_column": 51, "path": "src/paperless_ai/indexing.py", "code": -2, "name": "bad-argument-type", "description": "Argument `BaseIndex[Unknown] | VectorStoreIndex` is not assignable to parameter `index` with type `VectorStoreIndex` in function `remove_document_docstore_nodes`", "concise_description": "Argument `BaseIndex[Unknown] | VectorStoreIndex` is not assignable to parameter `index` with type `VectorStoreIndex` in function `remove_document_docstore_nodes`", "severity": "error" }, { "line": 305, "column": 15, "stop_line": 305, "stop_column": 20, "path": "src/paperless_ai/indexing.py", "code": -2, "name": "bad-argument-type", "description": "Argument `BaseIndex[Unknown] | VectorStoreIndex` is not assignable to parameter `index` with type `VectorStoreIndex` in function `llama_index.core.indices.vector_store.retrievers.retriever.VectorIndexRetriever.__init__`", "concise_description": "Argument `BaseIndex[Unknown] | VectorStoreIndex` is not assignable to parameter `index` with type `VectorStoreIndex` in function `llama_index.core.indices.vector_store.retrievers.retriever.VectorIndexRetriever.__init__`", "severity": "error" }, { "line": 49, "column": 9, "stop_line": 49, "stop_column": 30, "path": "src/paperless_ai/tests/test_ai_indexing.py", "code": -2, "name": "bad-override", "description": "Class member `FakeEmbedding._aget_query_embedding` overrides parent class `BaseEmbedding` in an inconsistent manner\n `FakeEmbedding._aget_query_embedding` has type `BoundMethod[FakeEmbedding, (self: FakeEmbedding, query: str) -> list[float]]`, which is not assignable to `BoundMethod[FakeEmbedding, (self: FakeEmbedding, query: str) -> Coroutine[Unknown, Unknown, list[float]]]`, the type of `BaseEmbedding._aget_query_embedding`", "concise_description": "Class member `FakeEmbedding._aget_query_embedding` overrides parent class `BaseEmbedding` in an inconsistent manner", "severity": "error" }, { "line": 95, "column": 12, "stop_line": 95, "stop_column": 27, "path": "src/paperless_ai/tests/test_client.py", "code": -2, "name": "bad-index", "description": "Cannot index into `str`\n No matching overload found for function `str.__getitem__` called with arguments: (Literal['title'])\n Possible overloads:\n (key: SupportsIndex | slice[Any, Any, Any], /) -> LiteralString\n (key: SupportsIndex | slice[Any, Any, Any], /) -> str [closest match]", "concise_description": "Cannot index into `str`", "severity": "error" }, { "line": 38, "column": 49, "stop_line": 38, "stop_column": 53, "path": "src/paperless_ai/tests/test_matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_tags_by_name`", "concise_description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_tags_by_name`", "severity": "error" }, { "line": 46, "column": 59, "stop_line": 46, "stop_column": 63, "path": "src/paperless_ai/tests/test_matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_correspondents_by_name`", "concise_description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_correspondents_by_name`", "severity": "error" }, { "line": 54, "column": 59, "stop_line": 54, "stop_column": 63, "path": "src/paperless_ai/tests/test_matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_document_types_by_name`", "concise_description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_document_types_by_name`", "severity": "error" }, { "line": 62, "column": 58, "stop_line": 62, "stop_column": 62, "path": "src/paperless_ai/tests/test_matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_storage_paths_by_name`", "concise_description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_storage_paths_by_name`", "severity": "error" }, { "line": 76, "column": 37, "stop_line": 76, "stop_column": 42, "path": "src/paperless_ai/tests/test_matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[str | None]` is not assignable to parameter `names` with type `list[str]` in function `paperless_ai.matching.match_tags_by_name`", "concise_description": "Argument `list[str | None]` is not assignable to parameter `names` with type `list[str]` in function `paperless_ai.matching.match_tags_by_name`", "severity": "error" }, { "line": 76, "column": 49, "stop_line": 76, "stop_column": 53, "path": "src/paperless_ai/tests/test_matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_tags_by_name`", "concise_description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_tags_by_name`", "severity": "error" }, { "line": 83, "column": 49, "stop_line": 83, "stop_column": 53, "path": "src/paperless_ai/tests/test_matching.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_tags_by_name`", "concise_description": "Argument `None` is not assignable to parameter `user` with type `User` in function `paperless_ai.matching.match_tags_by_name`", "severity": "error" }, { "line": 110, "column": 9, "stop_line": 110, "stop_column": 21, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-override", "description": "Class member `DeleteMailAction.post_consume` overrides parent class `BaseMailAction` in an inconsistent manner\n `DeleteMailAction.post_consume` has type `BoundMethod[DeleteMailAction, (self: DeleteMailAction, M: MailBox, message_uid: str, parameter: str) -> None]`, which is not assignable to `BoundMethod[DeleteMailAction, (self: DeleteMailAction, M: MailBox, message_uid: str, parameter: str) -> Never]`, the type of `BaseMailAction.post_consume`", "concise_description": "Class member `DeleteMailAction.post_consume` overrides parent class `BaseMailAction` in an inconsistent manner", "severity": "error" }, { "line": 122, "column": 9, "stop_line": 122, "stop_column": 21, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-override", "description": "Class member `MarkReadMailAction.post_consume` overrides parent class `BaseMailAction` in an inconsistent manner\n `MarkReadMailAction.post_consume` has type `BoundMethod[MarkReadMailAction, (self: MarkReadMailAction, M: MailBox, message_uid: str, parameter: str) -> None]`, which is not assignable to `BoundMethod[MarkReadMailAction, (self: MarkReadMailAction, M: MailBox, message_uid: str, parameter: str) -> Never]`, the type of `BaseMailAction.post_consume`", "concise_description": "Class member `MarkReadMailAction.post_consume` overrides parent class `BaseMailAction` in an inconsistent manner", "severity": "error" }, { "line": 131, "column": 9, "stop_line": 131, "stop_column": 21, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-override", "description": "Class member `MoveMailAction.post_consume` overrides parent class `BaseMailAction` in an inconsistent manner\n `MoveMailAction.post_consume` has type `BoundMethod[MoveMailAction, (self: MoveMailAction, M: Unknown, message_uid: Unknown, parameter: Unknown) -> None]`, which is not assignable to `BoundMethod[MoveMailAction, (self: MoveMailAction, M: MailBox, message_uid: str, parameter: str) -> Never]`, the type of `BaseMailAction.post_consume`", "concise_description": "Class member `MoveMailAction.post_consume` overrides parent class `BaseMailAction` in an inconsistent manner", "severity": "error" }, { "line": 143, "column": 9, "stop_line": 143, "stop_column": 21, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-override", "description": "Class member `FlagMailAction.post_consume` overrides parent class `BaseMailAction` in an inconsistent manner\n `FlagMailAction.post_consume` has type `BoundMethod[FlagMailAction, (self: FlagMailAction, M: MailBox, message_uid: str, parameter: str) -> None]`, which is not assignable to `BoundMethod[FlagMailAction, (self: FlagMailAction, M: MailBox, message_uid: str, parameter: str) -> Never]`, the type of `BaseMailAction.post_consume`", "concise_description": "Class member `FlagMailAction.post_consume` overrides parent class `BaseMailAction` in an inconsistent manner", "severity": "error" }, { "line": 165, "column": 26, "stop_line": 165, "stop_column": 30, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-assignment", "description": "`None` is not assignable to attribute `color` with type `str`", "concise_description": "`None` is not assignable to attribute `color` with type `str`", "severity": "error" }, { "line": 180, "column": 9, "stop_line": 180, "stop_column": 21, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-override", "description": "Class member `TagMailAction.post_consume` overrides parent class `BaseMailAction` in an inconsistent manner\n `TagMailAction.post_consume` has type `BoundMethod[TagMailAction, (self: TagMailAction, M: MailBox, message_uid: str, parameter: str) -> None]`, which is not assignable to `BoundMethod[TagMailAction, (self: TagMailAction, M: MailBox, message_uid: str, parameter: str) -> Never]`, the type of `BaseMailAction.post_consume`", "concise_description": "Class member `TagMailAction.post_consume` overrides parent class `BaseMailAction` in an inconsistent manner", "severity": "error" }, { "line": 182, "column": 64, "stop_line": 182, "stop_column": 76, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `*args` with type `str` in function `imaplib.IMAP4.uid`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `*args` with type `str` in function `imaplib.IMAP4.uid`", "severity": "error" }, { "line": 194, "column": 33, "stop_line": 194, "stop_column": 70, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[str] | list[Unknown] | None` is not assignable to parameter `flag_set` with type `Iterable[str] | str` in function `imap_tools.mailbox.BaseMailBox.flag`", "concise_description": "Argument `list[str] | list[Unknown] | None` is not assignable to parameter `flag_set` with type `Iterable[str] | str` in function `imap_tools.mailbox.BaseMailBox.flag`", "severity": "error" }, { "line": 272, "column": 53, "stop_line": 272, "stop_column": 74, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `parameter` with type `str` in function `BaseMailAction.post_consume`", "concise_description": "Argument `str | None` is not assignable to parameter `parameter` with type `str` in function `BaseMailAction.post_consume`", "severity": "error" }, { "line": 373, "column": 13, "stop_line": 373, "stop_column": 34, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `parameter` with type `str` in function `TagMailAction.__init__`", "concise_description": "Argument `str | None` is not assignable to parameter `parameter` with type `str` in function `TagMailAction.__init__`", "severity": "error" }, { "line": 390, "column": 30, "stop_line": 390, "stop_column": 46, "path": "src/paperless_mail/mail.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str, date]`\n Argument `str` is not assignable to parameter `value` with type `date` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str, date]`", "severity": "error" }, { "line": 392, "column": 27, "stop_line": 392, "stop_column": 41, "path": "src/paperless_mail/mail.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str, date]`\n Argument `str` is not assignable to parameter `value` with type `date` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str, date]`", "severity": "error" }, { "line": 394, "column": 32, "stop_line": 394, "stop_column": 51, "path": "src/paperless_mail/mail.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str, date]`\n Argument `str` is not assignable to parameter `value` with type `date` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str, date]`", "severity": "error" }, { "line": 396, "column": 29, "stop_line": 396, "stop_column": 45, "path": "src/paperless_mail/mail.py", "code": -2, "name": "unsupported-operation", "description": "Cannot set item in `dict[str, date]`\n Argument `str` is not assignable to parameter `value` with type `date` in function `dict.__setitem__`", "concise_description": "Cannot set item in `dict[str, date]`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `answered` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `answered` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `seen` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `seen` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `flagged` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `flagged` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `draft` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `draft` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `deleted` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `deleted` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `keyword` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `keyword` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `no_keyword` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `no_keyword` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `from_` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `from_` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `to` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `to` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `subject` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `subject` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `body` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `body` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `text` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `text` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `bcc` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `bcc` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `cc` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `cc` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `size_gt` with type `int | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `size_gt` with type `int | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `size_lt` with type `int | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `size_lt` with type `int | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `new` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `new` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `old` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `old` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `recent` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `recent` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `all` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `all` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `uid` with type `Iterable[str] | UidRange | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `uid` with type `Iterable[str] | UidRange | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `header` with type `Header | list[Header] | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `header` with type `Header | list[Header] | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 404, "column": 38, "stop_line": 404, "stop_column": 49, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `gmail_label` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `gmail_label` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `answered` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `answered` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `seen` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `seen` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `flagged` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `flagged` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `draft` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `draft` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `deleted` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `deleted` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `keyword` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `keyword` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `no_keyword` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `no_keyword` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `from_` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `from_` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `to` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `to` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `subject` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `subject` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `body` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `body` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `text` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `text` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `bcc` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `bcc` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `cc` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `cc` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `size_gt` with type `int | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `size_gt` with type `int | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `size_lt` with type `int | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `size_lt` with type `int | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `new` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `new` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `old` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `old` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `recent` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `recent` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `all` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `all` with type `bool | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `uid` with type `Iterable[str] | UidRange | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `uid` with type `Iterable[str] | UidRange | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `header` with type `Header | list[Header] | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `header` with type `Header | list[Header] | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 408, "column": 32, "stop_line": 408, "stop_column": 43, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `date` is not assignable to parameter `gmail_label` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "concise_description": "Unpacked keyword argument `date` is not assignable to parameter `gmail_label` with type `list[str] | str | None` in function `imap_tools.query.LogicOperator.__init__`", "severity": "error" }, { "line": 427, "column": 12, "stop_line": 427, "stop_column": 19, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-return", "description": "Returned type `MailBox | MailBoxStartTls | MailBoxUnencrypted` is not assignable to declared return type `MailBox`", "concise_description": "Returned type `MailBox | MailBoxStartTls | MailBoxUnencrypted` is not assignable to declared return type `MailBox`", "severity": "error" }, { "line": 565, "column": 54, "stop_line": 565, "stop_column": 67, "path": "src/paperless_mail/mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `MailAccount` has no attribute `rules`", "concise_description": "Object of class `MailAccount` has no attribute `rules`", "severity": "error" }, { "line": 568, "column": 29, "stop_line": 568, "stop_column": 42, "path": "src/paperless_mail/mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `MailAccount` has no attribute `rules`", "concise_description": "Object of class `MailAccount` has no attribute `rules`", "severity": "error" }, { "line": 607, "column": 31, "stop_line": 607, "stop_column": 52, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `object` with type `str` in function `list.insert`", "concise_description": "Argument `str | None` is not assignable to parameter `object` with type `str` in function `list.insert`", "severity": "error" }, { "line": 614, "column": 44, "stop_line": 614, "stop_column": 50, "path": "src/paperless_mail/mail.py", "code": -2, "name": "unbound-name", "description": "`folder` is uninitialized", "concise_description": "`folder` is uninitialized", "severity": "error" }, { "line": 626, "column": 40, "stop_line": 626, "stop_column": 46, "path": "src/paperless_mail/mail.py", "code": -2, "name": "unbound-name", "description": "`folder` is uninitialized", "concise_description": "`folder` is uninitialized", "severity": "error" }, { "line": 926, "column": 40, "stop_line": 926, "stop_column": 60, "path": "src/paperless_mail/mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Message` has no attribute `_headers`", "concise_description": "Object of class `Message` has no attribute `_headers`", "severity": "error" }, { "line": 930, "column": 32, "stop_line": 930, "stop_column": 52, "path": "src/paperless_mail/mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Message` has no attribute `_headers`", "concise_description": "Object of class `Message` has no attribute `_headers`", "severity": "error" }, { "line": 931, "column": 32, "stop_line": 931, "stop_column": 52, "path": "src/paperless_mail/mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Message` has no attribute `_headers`", "concise_description": "Object of class `Message` has no attribute `_headers`", "severity": "error" }, { "line": 932, "column": 17, "stop_line": 932, "stop_column": 37, "path": "src/paperless_mail/mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Message` has no attribute `_headers`", "concise_description": "Object of class `Message` has no attribute `_headers`", "severity": "error" }, { "line": 946, "column": 27, "stop_line": 946, "stop_column": 40, "path": "src/paperless_mail/mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "concise_description": "Argument `str` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`", "severity": "error" }, { "line": 97, "column": 39, "stop_line": 97, "stop_column": 60, "path": "src/paperless_mail/oauth.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `refresh_token` with type `str` in function `httpx_oauth.oauth2.BaseOAuth2.refresh_token`", "concise_description": "Argument `str | None` is not assignable to parameter `refresh_token` with type `str` in function `httpx_oauth.oauth2.BaseOAuth2.refresh_token`", "severity": "error" }, { "line": 103, "column": 39, "stop_line": 103, "stop_column": 60, "path": "src/paperless_mail/oauth.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `refresh_token` with type `str` in function `httpx_oauth.oauth2.BaseOAuth2.refresh_token`", "concise_description": "Argument `str | None` is not assignable to parameter `refresh_token` with type `str` in function `httpx_oauth.oauth2.BaseOAuth2.refresh_token`", "severity": "error" }, { "line": 106, "column": 35, "stop_line": 106, "stop_column": 41, "path": "src/paperless_mail/oauth.py", "code": -2, "name": "unbound-name", "description": "`result` may be uninitialized", "concise_description": "`result` may be uninitialized", "severity": "error" }, { "line": 108, "column": 41, "stop_line": 108, "stop_column": 47, "path": "src/paperless_mail/oauth.py", "code": -2, "name": "unbound-name", "description": "`result` may be uninitialized", "concise_description": "`result` may be uninitialized", "severity": "error" }, { "line": 109, "column": 32, "stop_line": 109, "stop_column": 38, "path": "src/paperless_mail/oauth.py", "code": -2, "name": "unbound-name", "description": "`result` may be uninitialized", "concise_description": "`result` may be uninitialized", "severity": "error" }, { "line": 111, "column": 25, "stop_line": 111, "stop_column": 31, "path": "src/paperless_mail/oauth.py", "code": -2, "name": "unbound-name", "description": "`result` may be uninitialized", "concise_description": "`result` may be uninitialized", "severity": "error" }, { "line": 55, "column": 9, "stop_line": 55, "stop_column": 22, "path": "src/paperless_mail/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `MailDocumentParser.get_thumbnail` overrides parent class `DocumentParser` in an inconsistent manner\n `MailDocumentParser.get_thumbnail` has type `BoundMethod[MailDocumentParser, (self: MailDocumentParser, document_path: Path, mime_type: str, file_name: Unknown | None = None) -> Path]`, which is not assignable to `BoundMethod[MailDocumentParser, (self: MailDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `DocumentParser.get_thumbnail`", "concise_description": "Class member `MailDocumentParser.get_thumbnail` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 125, "column": 9, "stop_line": 125, "stop_column": 14, "path": "src/paperless_mail/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `MailDocumentParser.parse` overrides parent class `DocumentParser` in an inconsistent manner\n `MailDocumentParser.parse` has type `BoundMethod[MailDocumentParser, (self: MailDocumentParser, document_path: Path, mime_type: str, file_name: Unknown | None = None, mailrule_id: int | None = None) -> None]`, which is not assignable to `BoundMethod[MailDocumentParser, (self: MailDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `DocumentParser.parse`", "concise_description": "Class member `MailDocumentParser.parse` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 151, "column": 34, "stop_line": 151, "stop_column": 63, "path": "src/paperless_mail/parsers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `full`", "concise_description": "Object of class `NoneType` has no attribute `full`", "severity": "error" }, { "line": 192, "column": 57, "stop_line": 192, "stop_column": 72, "path": "src/paperless_mail/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `int` is not assignable to parameter `pdf_layout` with type `MailRule.PdfLayout | None` in function `MailDocumentParser.generate_pdf`", "concise_description": "Argument `int` is not assignable to parameter `pdf_layout` with type `MailRule.PdfLayout | None` in function `MailDocumentParser.generate_pdf`", "severity": "error" }, { "line": 313, "column": 35, "stop_line": 313, "stop_column": 56, "path": "src/paperless_mail/parsers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `full`", "concise_description": "Object of class `NoneType` has no attribute `full`", "severity": "error" }, { "line": 474, "column": 9, "stop_line": 474, "stop_column": 21, "path": "src/paperless_mail/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `MailDocumentParser.get_settings` overrides parent class `DocumentParser` in an inconsistent manner\n `MailDocumentParser.get_settings` has type `BoundMethod[MailDocumentParser, (self: MailDocumentParser) -> None]`, which is not assignable to `BoundMethod[MailDocumentParser, (self: MailDocumentParser) -> Never]`, the type of `DocumentParser.get_settings`", "concise_description": "Class member `MailDocumentParser.get_settings` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 73, "column": 71, "stop_line": 73, "stop_column": 99, "path": "src/paperless_mail/preprocessor.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Crypt` has no attribute `stderr`", "concise_description": "Object of class `Crypt` has no attribute `stderr`", "severity": "error" }, { "line": 27, "column": 11, "stop_line": 27, "stop_column": 15, "path": "src/paperless_mail/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `MailAccountSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `MailAccountSerializer.Meta` has type `type[MailAccountSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `MailAccountSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 74, "column": 11, "stop_line": 74, "stop_column": 15, "path": "src/paperless_mail/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `MailRuleSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `MailRuleSerializer.Meta` has type `type[MailRuleSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `MailRuleSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 137, "column": 11, "stop_line": 137, "stop_column": 15, "path": "src/paperless_mail/serialisers.py", "code": -2, "name": "bad-override", "description": "Class member `ProcessedMailSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `ProcessedMailSerializer.Meta` has type `type[ProcessedMailSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`", "concise_description": "Class member `ProcessedMailSerializer.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner", "severity": "error" }, { "line": 55, "column": 44, "stop_line": 55, "stop_column": 48, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `None` is not assignable to parameter `command_result` with type `tuple[Unknown, ...]` in function `imap_tools.errors.UnexpectedCommandStatusError.__init__`", "concise_description": "Argument `None` is not assignable to parameter `command_result` with type `tuple[Unknown, ...]` in function `imap_tools.errors.UnexpectedCommandStatusError.__init__`", "severity": "error" }, { "line": 74, "column": 37, "stop_line": 74, "stop_column": 42, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Literal['BAD']` is not assignable to parameter `command_result` with type `tuple[Unknown, ...]` in function `imap_tools.errors.UnexpectedCommandStatusError.__init__`", "concise_description": "Argument `Literal['BAD']` is not assignable to parameter `command_result` with type `tuple[Unknown, ...]` in function `imap_tools.errors.UnexpectedCommandStatusError.__init__`", "severity": "error" }, { "line": 117, "column": 37, "stop_line": 117, "stop_column": 42, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Literal['BAD']` is not assignable to parameter `command_result` with type `tuple[Unknown, ...]` in function `imap_tools.errors.UnexpectedCommandStatusError.__init__`", "concise_description": "Argument `Literal['BAD']` is not assignable to parameter `command_result` with type `tuple[Unknown, ...]` in function `imap_tools.errors.UnexpectedCommandStatusError.__init__`", "severity": "error" }, { "line": 122, "column": 37, "stop_line": 122, "stop_column": 42, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Literal['BAD']` is not assignable to parameter `command_result` with type `tuple[Unknown, ...]` in function `imap_tools.errors.UnexpectedCommandStatusError.__init__`", "concise_description": "Argument `Literal['BAD']` is not assignable to parameter `command_result` with type `tuple[Unknown, ...]` in function `imap_tools.errors.UnexpectedCommandStatusError.__init__`", "severity": "error" }, { "line": 126, "column": 37, "stop_line": 126, "stop_column": 42, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Literal['BAD']` is not assignable to parameter `command_result` with type `tuple[Unknown, ...]` in function `imap_tools.errors.UnexpectedCommandStatusError.__init__`", "concise_description": "Argument `Literal['BAD']` is not assignable to parameter `command_result` with type `tuple[Unknown, ...]` in function `imap_tools.errors.UnexpectedCommandStatusError.__init__`", "severity": "error" }, { "line": 172, "column": 25, "stop_line": 172, "stop_column": 40, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `MailMessage` has no attribute `flagged`", "concise_description": "Object of class `MailMessage` has no attribute `flagged`", "severity": "error" }, { "line": 174, "column": 25, "stop_line": 174, "stop_column": 37, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `MailMessage` has no attribute `seen`", "concise_description": "Object of class `MailMessage` has no attribute `seen`", "severity": "error" }, { "line": 260, "column": 9, "stop_line": 260, "stop_column": 22, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `MailMessage` has no attribute `seen`", "concise_description": "Object of class `MailMessage` has no attribute `seen`", "severity": "error" }, { "line": 261, "column": 9, "stop_line": 261, "stop_column": 25, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `MailMessage` has no attribute `flagged`", "concise_description": "Object of class `MailMessage` has no attribute `flagged`", "severity": "error" }, { "line": 419, "column": 30, "stop_line": 419, "stop_column": 43, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "invalid-argument", "description": "Expected string literal \"message\"", "concise_description": "Expected string literal \"message\"", "severity": "error" }, { "line": 426, "column": 31, "stop_line": 426, "stop_column": 44, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "invalid-argument", "description": "Expected string literal \"message2\"", "concise_description": "Expected string literal \"message2\"", "severity": "error" }, { "line": 433, "column": 58, "stop_line": 433, "stop_column": 72, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "missing-attribute", "description": "Class `message2` has no class attribute `from_`", "concise_description": "Class `message2` has no class attribute `from_`", "severity": "error" }, { "line": 442, "column": 54, "stop_line": 442, "stop_column": 61, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_correspondent.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "concise_description": "Argument `type[TestMail.test_get_correspondent.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "severity": "error" }, { "line": 448, "column": 40, "stop_line": 448, "stop_column": 47, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_correspondent.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "concise_description": "Argument `type[TestMail.test_get_correspondent.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "severity": "error" }, { "line": 453, "column": 40, "stop_line": 453, "stop_column": 48, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_correspondent.message2]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "concise_description": "Argument `type[TestMail.test_get_correspondent.message2]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "severity": "error" }, { "line": 462, "column": 40, "stop_line": 462, "stop_column": 47, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_correspondent.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "concise_description": "Argument `type[TestMail.test_get_correspondent.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "severity": "error" }, { "line": 465, "column": 40, "stop_line": 465, "stop_column": 48, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_correspondent.message2]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "concise_description": "Argument `type[TestMail.test_get_correspondent.message2]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "severity": "error" }, { "line": 474, "column": 40, "stop_line": 474, "stop_column": 47, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_correspondent.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "concise_description": "Argument `type[TestMail.test_get_correspondent.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_correspondent`", "severity": "error" }, { "line": 478, "column": 30, "stop_line": 478, "stop_column": 43, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "invalid-argument", "description": "Expected string literal \"message\"", "concise_description": "Expected string literal \"message\"", "severity": "error" }, { "line": 480, "column": 26, "stop_line": 480, "stop_column": 38, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "invalid-argument", "description": "Expected string literal \"att\"", "concise_description": "Expected string literal \"att\"", "severity": "error" }, { "line": 489, "column": 45, "stop_line": 489, "stop_column": 52, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_title.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_title`", "concise_description": "Argument `type[TestMail.test_get_title.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_title`", "severity": "error" }, { "line": 489, "column": 54, "stop_line": 489, "stop_column": 57, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_title.att]` is not assignable to parameter `att` with type `MailAttachment` in function `paperless_mail.mail.MailAccountHandler._get_title`", "concise_description": "Argument `type[TestMail.test_get_title.att]` is not assignable to parameter `att` with type `MailAttachment` in function `paperless_mail.mail.MailAccountHandler._get_title`", "severity": "error" }, { "line": 494, "column": 45, "stop_line": 494, "stop_column": 52, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_title.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_title`", "concise_description": "Argument `type[TestMail.test_get_title.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_title`", "severity": "error" }, { "line": 494, "column": 54, "stop_line": 494, "stop_column": 57, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_title.att]` is not assignable to parameter `att` with type `MailAttachment` in function `paperless_mail.mail.MailAccountHandler._get_title`", "concise_description": "Argument `type[TestMail.test_get_title.att]` is not assignable to parameter `att` with type `MailAttachment` in function `paperless_mail.mail.MailAccountHandler._get_title`", "severity": "error" }, { "line": 499, "column": 45, "stop_line": 499, "stop_column": 52, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_title.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_title`", "concise_description": "Argument `type[TestMail.test_get_title.message]` is not assignable to parameter `message` with type `MailMessage` in function `paperless_mail.mail.MailAccountHandler._get_title`", "severity": "error" }, { "line": 499, "column": 54, "stop_line": 499, "stop_column": 57, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `type[TestMail.test_get_title.att]` is not assignable to parameter `att` with type `MailAttachment` in function `paperless_mail.mail.MailAccountHandler._get_title`", "concise_description": "Argument `type[TestMail.test_get_title.att]` is not assignable to parameter `att` with type `MailAttachment` in function `paperless_mail.mail.MailAccountHandler._get_title`", "severity": "error" }, { "line": 531, "column": 30, "stop_line": 531, "stop_column": 43, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "invalid-argument", "description": "Expected string literal \"message\"", "concise_description": "Expected string literal \"message\"", "severity": "error" }, { "line": 1168, "column": 9, "stop_line": 1168, "stop_column": 50, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BogusFolderManager` has no attribute `list`", "concise_description": "Object of class `BogusFolderManager` has no attribute `list`", "severity": "error" }, { "line": 1174, "column": 9, "stop_line": 1174, "stop_column": 50, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BogusFolderManager` has no attribute `list`", "concise_description": "Object of class `BogusFolderManager` has no attribute `list`", "severity": "error" }, { "line": 1201, "column": 9, "stop_line": 1201, "stop_column": 50, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BogusFolderManager` has no attribute `list`", "concise_description": "Object of class `BogusFolderManager` has no attribute `list`", "severity": "error" }, { "line": 1207, "column": 9, "stop_line": 1207, "stop_column": 50, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `BogusFolderManager` has no attribute `list`", "concise_description": "Object of class `BogusFolderManager` has no attribute `list`", "severity": "error" }, { "line": 1269, "column": 13, "stop_line": 1273, "stop_column": 14, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[list[dict[str, int]]]` is not assignable to parameter `expected_call_args` with type `list[list[dict[str, str]]]` in function `MailMocker.assert_queue_consumption_tasks_call_args`", "concise_description": "Argument `list[list[dict[str, int]]]` is not assignable to parameter `expected_call_args` with type `list[list[dict[str, str]]]` in function `MailMocker.assert_queue_consumption_tasks_call_args`", "severity": "error" }, { "line": 1288, "column": 13, "stop_line": 1292, "stop_column": 14, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[list[dict[str, None]]]` is not assignable to parameter `expected_call_args` with type `list[list[dict[str, str]]]` in function `MailMocker.assert_queue_consumption_tasks_call_args`", "concise_description": "Argument `list[list[dict[str, None]]]` is not assignable to parameter `expected_call_args` with type `list[list[dict[str, str]]]` in function `MailMocker.assert_queue_consumption_tasks_call_args`", "severity": "error" }, { "line": 1583, "column": 41, "stop_line": 1583, "stop_column": 61, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "concise_description": "Argument `str | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "severity": "error" }, { "line": 1886, "column": 26, "stop_line": 1886, "stop_column": 35, "path": "src/paperless_mail/tests/test_mail.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `name`", "concise_description": "Object of class `NoneType` has no attribute `name`", "severity": "error" }, { "line": 134, "column": 42, "stop_line": 134, "stop_column": 54, "path": "src/paperless_mail/tests/test_mail_oauth.py", "code": -2, "name": "missing-attribute", "description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `url`", "concise_description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `url`", "severity": "error" }, { "line": 145, "column": 42, "stop_line": 145, "stop_column": 54, "path": "src/paperless_mail/tests/test_mail_oauth.py", "code": -2, "name": "missing-attribute", "description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `url`", "concise_description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `url`", "severity": "error" }, { "line": 177, "column": 46, "stop_line": 177, "stop_column": 58, "path": "src/paperless_mail/tests/test_mail_oauth.py", "code": -2, "name": "missing-attribute", "description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `url`", "concise_description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `url`", "severity": "error" }, { "line": 187, "column": 46, "stop_line": 187, "stop_column": 58, "path": "src/paperless_mail/tests/test_mail_oauth.py", "code": -2, "name": "missing-attribute", "description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `url`", "concise_description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `url`", "severity": "error" }, { "line": 110, "column": 45, "stop_line": 110, "stop_column": 49, "path": "src/paperless_mail/tests/test_parsers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Literal['na']` is not assignable to parameter `document_path` with type `Path` in function `paperless_mail.parsers.MailDocumentParser.extract_metadata`", "concise_description": "Argument `Literal['na']` is not assignable to parameter `document_path` with type `Path` in function `paperless_mail.parsers.MailDocumentParser.extract_metadata`", "severity": "error" }, { "line": 315, "column": 47, "stop_line": 315, "stop_column": 75, "path": "src/paperless_mail/tests/test_parsers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `url`", "concise_description": "Object of class `NoneType` has no attribute `url`", "severity": "error" }, { "line": 669, "column": 20, "stop_line": 669, "stop_column": 31, "path": "src/paperless_mail/tests/test_parsers.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `url`", "concise_description": "Object of class `NoneType` has no attribute `url`", "severity": "error" }, { "line": 25, "column": 23, "stop_line": 36, "stop_column": 10, "path": "src/paperless_mail/tests/test_parsers_live.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `subprocess.run` called with arguments: (list[str | None], check=Literal[True])\n Possible overloads:\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, universal_newlines: bool | None = None, startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., *, capture_output: bool = False, check: bool = False, encoding: str | None = None, errors: str | None = None, input: str | None = None, text: Literal[True], timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[str]\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, universal_newlines: bool | None = None, startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., *, capture_output: bool = False, check: bool = False, encoding: str, errors: str | None = None, input: str | None = None, text: bool | None = None, timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[str]\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, universal_newlines: bool | None = None, startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., *, capture_output: bool = False, check: bool = False, encoding: str | None = None, errors: str, input: str | None = None, text: bool | None = None, timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[str]\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, *, universal_newlines: Literal[True], startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., capture_output: bool = False, check: bool = False, encoding: str | None = None, errors: str | None = None, input: str | None = None, text: bool | None = None, timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[str]\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, universal_newlines: Literal[False] | None = None, startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., *, capture_output: bool = False, check: bool = False, encoding: None = None, errors: None = None, input: Buffer | None = None, text: Literal[False] | None = None, timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[bytes] [closest match]\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, universal_newlines: bool | None = None, startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., *, capture_output: bool = False, check: bool = False, encoding: str | None = None, errors: str | None = None, input: Buffer | str | None = None, text: bool | None = None, timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[Any]", "concise_description": "No matching overload found for function `subprocess.run` called with arguments: (list[str | None], check=Literal[True])", "severity": "error" }, { "line": 264, "column": 37, "stop_line": 264, "stop_column": 49, "path": "src/paperless_mail/tests/test_parsers_live.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `pdf_path` with type `Path` in function `extract_text`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `pdf_path` with type `Path` in function `extract_text`", "severity": "error" }, { "line": 70, "column": 9, "stop_line": 70, "stop_column": 30, "path": "src/paperless_mail/tests/test_preprocessor.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Message` has no attribute `_headers`", "concise_description": "Object of class `Message` has no attribute `_headers`", "severity": "error" }, { "line": 72, "column": 27, "stop_line": 72, "stop_column": 48, "path": "src/paperless_mail/tests/test_preprocessor.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Message` has no attribute `_headers`", "concise_description": "Object of class `Message` has no attribute `_headers`", "severity": "error" }, { "line": 85, "column": 51, "stop_line": 85, "stop_column": 72, "path": "src/paperless_mail/tests/test_preprocessor.py", "code": -2, "name": "missing-attribute", "description": "Object of class `Crypt` has no attribute `stderr`", "concise_description": "Object of class `Crypt` has no attribute `stderr`", "severity": "error" }, { "line": 100, "column": 36, "stop_line": 100, "stop_column": 66, "path": "src/paperless_mail/tests/test_preprocessor.py", "code": -2, "name": "missing-attribute", "description": "Object of class `str` has no attribute `decode`\n Did you mean `encode`?", "concise_description": "Object of class `str` has no attribute `decode`", "severity": "error" }, { "line": 114, "column": 66, "stop_line": 114, "stop_column": 82, "path": "src/paperless_mail/views.py", "code": -2, "name": "unbound-name", "description": "`existing_account` may be uninitialized", "concise_description": "`existing_account` may be uninitialized", "severity": "error" }, { "line": 116, "column": 25, "stop_line": 116, "stop_column": 41, "path": "src/paperless_mail/views.py", "code": -2, "name": "unbound-name", "description": "`existing_account` may be uninitialized", "concise_description": "`existing_account` may be uninitialized", "severity": "error" }, { "line": 117, "column": 44, "stop_line": 117, "stop_column": 60, "path": "src/paperless_mail/views.py", "code": -2, "name": "unbound-name", "description": "`existing_account` may be uninitialized", "concise_description": "`existing_account` may be uninitialized", "severity": "error" }, { "line": 242, "column": 28, "stop_line": 242, "stop_column": 34, "path": "src/paperless_mail/views.py", "code": -2, "name": "unbound-name", "description": "`result` may be uninitialized", "concise_description": "`result` may be uninitialized", "severity": "error" }, { "line": 243, "column": 29, "stop_line": 243, "stop_column": 35, "path": "src/paperless_mail/views.py", "code": -2, "name": "unbound-name", "description": "`result` may be uninitialized", "concise_description": "`result` may be uninitialized", "severity": "error" }, { "line": 244, "column": 26, "stop_line": 244, "stop_column": 32, "path": "src/paperless_mail/views.py", "code": -2, "name": "unbound-name", "description": "`result` may be uninitialized", "concise_description": "`result` may be uninitialized", "severity": "error" }, { "line": 248, "column": 29, "stop_line": 248, "stop_column": 40, "path": "src/paperless_mail/views.py", "code": -2, "name": "unbound-name", "description": "`imap_server` may be uninitialized", "concise_description": "`imap_server` may be uninitialized", "severity": "error" }, { "line": 251, "column": 26, "stop_line": 251, "stop_column": 34, "path": "src/paperless_mail/views.py", "code": -2, "name": "unbound-name", "description": "`defaults` may be uninitialized", "concise_description": "`defaults` may be uninitialized", "severity": "error" }, { "line": 34, "column": 9, "stop_line": 34, "stop_column": 21, "path": "src/paperless_remote/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `RemoteDocumentParser.get_settings` overrides parent class `RasterisedDocumentParser` in an inconsistent manner\n `RemoteDocumentParser.get_settings` has type `BoundMethod[RemoteDocumentParser, (self: RemoteDocumentParser) -> RemoteEngineConfig]`, which is not assignable to `BoundMethod[RemoteDocumentParser, (self: RemoteDocumentParser) -> OcrConfig]`, the type of `RasterisedDocumentParser.get_settings`", "concise_description": "Class member `RemoteDocumentParser.get_settings` overrides parent class `RasterisedDocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 67, "column": 17, "stop_line": 67, "stop_column": 34, "path": "src/paperless_remote/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `strip`", "concise_description": "Object of class `NoneType` has no attribute `strip`", "severity": "error" }, { "line": 11, "column": 26, "stop_line": 14, "stop_column": 6, "path": "src/paperless_tesseract/checks.py", "code": -2, "name": "no-matching-overload", "description": "No matching overload found for function `subprocess.run` called with arguments: (list[str | None], capture_output=Literal[True])\n Possible overloads:\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, universal_newlines: bool | None = None, startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., *, capture_output: bool = False, check: bool = False, encoding: str | None = None, errors: str | None = None, input: str | None = None, text: Literal[True], timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[str]\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, universal_newlines: bool | None = None, startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., *, capture_output: bool = False, check: bool = False, encoding: str, errors: str | None = None, input: str | None = None, text: bool | None = None, timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[str]\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, universal_newlines: bool | None = None, startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., *, capture_output: bool = False, check: bool = False, encoding: str | None = None, errors: str, input: str | None = None, text: bool | None = None, timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[str]\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, *, universal_newlines: Literal[True], startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., capture_output: bool = False, check: bool = False, encoding: str | None = None, errors: str | None = None, input: str | None = None, text: bool | None = None, timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[str]\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, universal_newlines: Literal[False] | None = None, startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., *, capture_output: bool = False, check: bool = False, encoding: None = None, errors: None = None, input: Buffer | None = None, text: Literal[False] | None = None, timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[bytes] [closest match]\n (args: _CMD, bufsize: int = -1, executable: PathLike[bytes] | PathLike[str] | bytes | str | None = None, stdin: _FILE = None, stdout: _FILE = None, stderr: _FILE = None, preexec_fn: (() -> Any) | None = None, close_fds: bool = True, shell: bool = False, cwd: PathLike[bytes] | PathLike[str] | bytes | str | None = None, env: Mapping[bytes, StrOrBytesPath] | Mapping[str, StrOrBytesPath] | None = None, universal_newlines: bool | None = None, startupinfo: Any = None, creationflags: int = 0, restore_signals: bool = True, start_new_session: bool = False, pass_fds: Collection[int] = ..., *, capture_output: bool = False, check: bool = False, encoding: str | None = None, errors: str | None = None, input: Buffer | str | None = None, text: bool | None = None, timeout: float | None = None, user: int | str | None = None, group: int | str | None = None, extra_groups: Iterable[int | str] | None = None, umask: int = -1, pipesize: int = -1, process_group: int | None = None) -> CompletedProcess[Any]", "concise_description": "No matching overload found for function `subprocess.run` called with arguments: (list[str | None], capture_output=Literal[True])", "severity": "error" }, { "line": 28, "column": 13, "stop_line": 31, "stop_column": 14, "path": "src/paperless_tesseract/checks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `django.core.checks.messages.Warning | builtins.Warning` is not assignable to parameter `object` with type `django.core.checks.messages.Warning` in function `list.append`", "concise_description": "Argument `django.core.checks.messages.Warning | builtins.Warning` is not assignable to parameter `object` with type `django.core.checks.messages.Warning` in function `list.append`", "severity": "error" }, { "line": 45, "column": 21, "stop_line": 49, "stop_column": 22, "path": "src/paperless_tesseract/checks.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Error` is not assignable to parameter `object` with type `Warning` in function `list.append`", "concise_description": "Argument `Error` is not assignable to parameter `object` with type `Warning` in function `list.append`", "severity": "error" }, { "line": 37, "column": 9, "stop_line": 37, "stop_column": 21, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `RasterisedDocumentParser.get_settings` overrides parent class `DocumentParser` in an inconsistent manner\n `RasterisedDocumentParser.get_settings` has type `BoundMethod[RasterisedDocumentParser, (self: RasterisedDocumentParser) -> OcrConfig]`, which is not assignable to `BoundMethod[RasterisedDocumentParser, (self: RasterisedDocumentParser) -> Never]`, the type of `DocumentParser.get_settings`", "concise_description": "Class member `RasterisedDocumentParser.get_settings` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 43, "column": 9, "stop_line": 43, "stop_column": 23, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `RasterisedDocumentParser.get_page_count` overrides parent class `DocumentParser` in an inconsistent manner\n `RasterisedDocumentParser.get_page_count` has type `BoundMethod[RasterisedDocumentParser, (self: RasterisedDocumentParser, document_path: Unknown, mime_type: Unknown) -> int | None]`, which is not assignable to `BoundMethod[RasterisedDocumentParser, (self: RasterisedDocumentParser, document_path: Unknown, mime_type: Unknown) -> None]`, the type of `DocumentParser.get_page_count`", "concise_description": "Class member `RasterisedDocumentParser.get_page_count` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 96, "column": 9, "stop_line": 96, "stop_column": 22, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `RasterisedDocumentParser.get_thumbnail` overrides parent class `DocumentParser` in an inconsistent manner\n `RasterisedDocumentParser.get_thumbnail` has type `BoundMethod[RasterisedDocumentParser, (self: RasterisedDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Path]`, which is not assignable to `BoundMethod[RasterisedDocumentParser, (self: RasterisedDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `DocumentParser.get_thumbnail`", "concise_description": "Class member `RasterisedDocumentParser.get_thumbnail` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 121, "column": 13, "stop_line": 127, "stop_column": 14, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[Path | str]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`", "concise_description": "Argument `list[Path | str]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`", "severity": "error" }, { "line": 128, "column": 20, "stop_line": 128, "stop_column": 28, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `LoggerAdapter` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`", "concise_description": "Argument `LoggerAdapter` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`", "severity": "error" }, { "line": 188, "column": 21, "stop_line": 196, "stop_column": 22, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `list[Path | str]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`", "concise_description": "Argument `list[Path | str]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`", "severity": "error" }, { "line": 197, "column": 28, "stop_line": 197, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Argument `LoggerAdapter` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`", "concise_description": "Argument `LoggerAdapter` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`", "severity": "error" }, { "line": 333, "column": 9, "stop_line": 333, "stop_column": 14, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `RasterisedDocumentParser.parse` overrides parent class `DocumentParser` in an inconsistent manner\n `RasterisedDocumentParser.parse` has type `BoundMethod[RasterisedDocumentParser, (self: RasterisedDocumentParser, document_path: Path, mime_type: Unknown, file_name: Unknown | None = None) -> None]`, which is not assignable to `BoundMethod[RasterisedDocumentParser, (self: RasterisedDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `DocumentParser.parse`", "concise_description": "Class member `RasterisedDocumentParser.parse` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `input_file` with type `BinaryIO | Path | bytes | str` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `input_file` with type `BinaryIO | Path | bytes | str` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `output_file` with type `BinaryIO | Path | bytes | str` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `output_file` with type `BinaryIO | Path | bytes | str` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `language` with type `Iterable[str] | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `language` with type `Iterable[str] | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `output_type` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `output_type` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `sidecar` with type `BinaryIO | Path | bytes | str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `sidecar` with type `BinaryIO | Path | bytes | str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `title` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `title` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `author` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `author` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `subject` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `subject` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `keywords` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `keywords` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `unpaper_args` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `unpaper_args` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pages` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pages` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `tesseract_config` with type `Iterable[str] | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `tesseract_config` with type `Iterable[str] | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pdf_renderer` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pdf_renderer` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pdfa_image_compression` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pdfa_image_compression` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `color_conversion_strategy` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `color_conversion_strategy` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `user_words` with type `PathLike[Unknown] | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `user_words` with type `PathLike[Unknown] | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `user_patterns` with type `PathLike[Unknown] | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `user_patterns` with type `PathLike[Unknown] | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 384, "column": 26, "stop_line": 384, "stop_column": 32, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `plugins` with type `Iterable[Path | str] | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `plugins` with type `Iterable[Path | str] | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `input_file` with type `BinaryIO | Path | bytes | str` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `input_file` with type `BinaryIO | Path | bytes | str` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `output_file` with type `BinaryIO | Path | bytes | str` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `output_file` with type `BinaryIO | Path | bytes | str` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `language` with type `Iterable[str] | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `language` with type `Iterable[str] | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `output_type` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `output_type` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `sidecar` with type `BinaryIO | Path | bytes | str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `sidecar` with type `BinaryIO | Path | bytes | str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `title` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `title` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `author` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `author` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `subject` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `subject` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `keywords` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `keywords` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `unpaper_args` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `unpaper_args` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pages` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pages` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `tesseract_config` with type `Iterable[str] | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `tesseract_config` with type `Iterable[str] | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pdf_renderer` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pdf_renderer` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pdfa_image_compression` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `pdfa_image_compression` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `color_conversion_strategy` with type `str | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `color_conversion_strategy` with type `str | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `user_words` with type `PathLike[Unknown] | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `user_words` with type `PathLike[Unknown] | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `user_patterns` with type `PathLike[Unknown] | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `user_patterns` with type `PathLike[Unknown] | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 431, "column": 30, "stop_line": 431, "stop_column": 36, "path": "src/paperless_tesseract/parsers.py", "code": -2, "name": "bad-argument-type", "description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `plugins` with type `Iterable[Path | str] | None` in function `ocrmypdf.api.ocr`", "concise_description": "Unpacked keyword argument `bool | Unknown` is not assignable to parameter `plugins` with type `Iterable[Path | str] | None` in function `ocrmypdf.api.ocr`", "severity": "error" }, { "line": 57, "column": 36, "stop_line": 57, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `strip`", "concise_description": "Object of class `NoneType` has no attribute `strip`", "severity": "error" }, { "line": 147, "column": 13, "stop_line": 147, "stop_column": 58, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 151, "column": 27, "stop_line": 151, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 159, "column": 13, "stop_line": 159, "stop_column": 53, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 163, "column": 27, "stop_line": 163, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 175, "column": 13, "stop_line": 175, "stop_column": 53, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 189, "column": 22, "stop_line": 189, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 205, "column": 13, "stop_line": 205, "stop_column": 53, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 216, "column": 13, "stop_line": 216, "stop_column": 53, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 230, "column": 13, "stop_line": 230, "stop_column": 53, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 242, "column": 22, "stop_line": 242, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 244, "column": 27, "stop_line": 244, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 258, "column": 26, "stop_line": 258, "stop_column": 40, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 260, "column": 31, "stop_line": 260, "stop_column": 50, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 280, "column": 17, "stop_line": 280, "stop_column": 61, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 290, "column": 22, "stop_line": 290, "stop_column": 66, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 292, "column": 27, "stop_line": 292, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 295, "column": 13, "stop_line": 295, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 302, "column": 13, "stop_line": 302, "stop_column": 62, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 305, "column": 27, "stop_line": 305, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 307, "column": 13, "stop_line": 307, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 315, "column": 13, "stop_line": 315, "stop_column": 62, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 318, "column": 27, "stop_line": 318, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 320, "column": 13, "stop_line": 320, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 328, "column": 13, "stop_line": 328, "stop_column": 62, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 331, "column": 27, "stop_line": 331, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 333, "column": 13, "stop_line": 333, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 341, "column": 13, "stop_line": 341, "stop_column": 62, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 344, "column": 27, "stop_line": 344, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 346, "column": 13, "stop_line": 346, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 354, "column": 13, "stop_line": 354, "stop_column": 61, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 357, "column": 27, "stop_line": 357, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 359, "column": 13, "stop_line": 359, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 378, "column": 13, "stop_line": 378, "stop_column": 61, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 381, "column": 27, "stop_line": 381, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 382, "column": 36, "stop_line": 382, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 383, "column": 36, "stop_line": 383, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 400, "column": 13, "stop_line": 400, "stop_column": 61, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 403, "column": 27, "stop_line": 403, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 404, "column": 36, "stop_line": 404, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 405, "column": 36, "stop_line": 405, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 406, "column": 36, "stop_line": 406, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 422, "column": 13, "stop_line": 422, "stop_column": 62, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 427, "column": 13, "stop_line": 427, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 445, "column": 13, "stop_line": 445, "stop_column": 61, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 450, "column": 13, "stop_line": 450, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 470, "column": 13, "stop_line": 470, "stop_column": 62, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 475, "column": 13, "stop_line": 475, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 493, "column": 13, "stop_line": 493, "stop_column": 61, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 498, "column": 13, "stop_line": 498, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 516, "column": 13, "stop_line": 516, "stop_column": 62, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 521, "column": 13, "stop_line": 521, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 539, "column": 13, "stop_line": 539, "stop_column": 61, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 544, "column": 13, "stop_line": 544, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 562, "column": 13, "stop_line": 562, "stop_column": 62, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 567, "column": 13, "stop_line": 567, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 585, "column": 13, "stop_line": 585, "stop_column": 61, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 590, "column": 13, "stop_line": 590, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 608, "column": 13, "stop_line": 608, "stop_column": 60, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 614, "column": 13, "stop_line": 614, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 639, "column": 13, "stop_line": 639, "stop_column": 61, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 645, "column": 13, "stop_line": 645, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 676, "column": 13, "stop_line": 676, "stop_column": 60, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 681, "column": 13, "stop_line": 681, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 688, "column": 22, "stop_line": 688, "stop_column": 60, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 710, "column": 13, "stop_line": 710, "stop_column": 62, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 713, "column": 27, "stop_line": 713, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 715, "column": 13, "stop_line": 715, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 734, "column": 17, "stop_line": 734, "stop_column": 30, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 737, "column": 31, "stop_line": 737, "stop_column": 50, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 739, "column": 17, "stop_line": 739, "stop_column": 40, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 761, "column": 17, "stop_line": 761, "stop_column": 30, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 764, "column": 31, "stop_line": 764, "stop_column": 50, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 766, "column": 17, "stop_line": 766, "stop_column": 40, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 846, "column": 13, "stop_line": 846, "stop_column": 52, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 851, "column": 40, "stop_line": 851, "stop_column": 57, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `container` with type `Container[Any] | Iterable[Any]` in function `unittest.case.TestCase.assertIn`", "severity": "error" }, { "line": 871, "column": 22, "stop_line": 871, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 872, "column": 27, "stop_line": 872, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 873, "column": 50, "stop_line": 873, "stop_column": 73, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 877, "column": 22, "stop_line": 877, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 878, "column": 27, "stop_line": 878, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 879, "column": 50, "stop_line": 879, "stop_column": 73, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 883, "column": 22, "stop_line": 883, "stop_column": 60, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 884, "column": 27, "stop_line": 884, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 885, "column": 32, "stop_line": 885, "stop_column": 55, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 890, "column": 22, "stop_line": 890, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 891, "column": 27, "stop_line": 891, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 892, "column": 50, "stop_line": 892, "stop_column": 73, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 896, "column": 22, "stop_line": 896, "stop_column": 59, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 897, "column": 27, "stop_line": 897, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 898, "column": 50, "stop_line": 898, "stop_column": 73, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 904, "column": 13, "stop_line": 904, "stop_column": 53, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "concise_description": "Argument `str` is not assignable to parameter `document_path` with type `Path` in function `paperless_tesseract.parsers.RasterisedDocumentParser.parse`", "severity": "error" }, { "line": 907, "column": 27, "stop_line": 907, "stop_column": 46, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "bad-argument-type", "description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "concise_description": "Argument `Unknown | None` is not assignable to parameter `path` with type `PathLike[Unknown] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`", "severity": "error" }, { "line": 911, "column": 13, "stop_line": 911, "stop_column": 36, "path": "src/paperless_tesseract/tests/test_parser.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `lower`", "concise_description": "Object of class `NoneType` has no attribute `lower`", "severity": "error" }, { "line": 42, "column": 13, "stop_line": 42, "stop_column": 27, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `pages`", "concise_description": "Object of class `NoneType` has no attribute `pages`", "severity": "error" }, { "line": 43, "column": 13, "stop_line": 43, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 60, "column": 13, "stop_line": 60, "stop_column": 30, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `language`", "concise_description": "Object of class `NoneType` has no attribute `language`", "severity": "error" }, { "line": 61, "column": 13, "stop_line": 61, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 78, "column": 13, "stop_line": 78, "stop_column": 33, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `output_type`", "concise_description": "Object of class `NoneType` has no attribute `output_type`", "severity": "error" }, { "line": 79, "column": 13, "stop_line": 79, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 96, "column": 13, "stop_line": 96, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `mode`", "concise_description": "Object of class `NoneType` has no attribute `mode`", "severity": "error" }, { "line": 97, "column": 13, "stop_line": 97, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 116, "column": 13, "stop_line": 116, "stop_column": 35, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `unpaper_clean`", "concise_description": "Object of class `NoneType` has no attribute `unpaper_clean`", "severity": "error" }, { "line": 117, "column": 13, "stop_line": 117, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 125, "column": 13, "stop_line": 125, "stop_column": 35, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `unpaper_clean`", "concise_description": "Object of class `NoneType` has no attribute `unpaper_clean`", "severity": "error" }, { "line": 126, "column": 13, "stop_line": 126, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 144, "column": 13, "stop_line": 144, "stop_column": 28, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `deskew`", "concise_description": "Object of class `NoneType` has no attribute `deskew`", "severity": "error" }, { "line": 145, "column": 13, "stop_line": 145, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 162, "column": 13, "stop_line": 162, "stop_column": 34, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `rotate_pages`", "concise_description": "Object of class `NoneType` has no attribute `rotate_pages`", "severity": "error" }, { "line": 163, "column": 13, "stop_line": 163, "stop_column": 44, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `rotate_pages_threshold`", "concise_description": "Object of class `NoneType` has no attribute `rotate_pages_threshold`", "severity": "error" }, { "line": 164, "column": 13, "stop_line": 164, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 182, "column": 13, "stop_line": 182, "stop_column": 38, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `max_image_pixels`", "concise_description": "Object of class `NoneType` has no attribute `max_image_pixels`", "severity": "error" }, { "line": 183, "column": 13, "stop_line": 183, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 200, "column": 13, "stop_line": 200, "stop_column": 47, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `color_conversion_strategy`", "concise_description": "Object of class `NoneType` has no attribute `color_conversion_strategy`", "severity": "error" }, { "line": 201, "column": 13, "stop_line": 201, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 223, "column": 13, "stop_line": 223, "stop_column": 31, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `user_args`", "concise_description": "Object of class `NoneType` has no attribute `user_args`", "severity": "error" }, { "line": 224, "column": 13, "stop_line": 224, "stop_column": 26, "path": "src/paperless_tesseract/tests/test_parser_custom_settings.py", "code": -2, "name": "missing-attribute", "description": "Object of class `NoneType` has no attribute `save`", "concise_description": "Object of class `NoneType` has no attribute `save`", "severity": "error" }, { "line": 18, "column": 9, "stop_line": 18, "stop_column": 22, "path": "src/paperless_text/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `TextDocumentParser.get_thumbnail` overrides parent class `DocumentParser` in an inconsistent manner\n `TextDocumentParser.get_thumbnail` has type `BoundMethod[TextDocumentParser, (self: TextDocumentParser, document_path: Path, mime_type: Unknown, file_name: Unknown | None = None) -> Path]`, which is not assignable to `BoundMethod[TextDocumentParser, (self: TextDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `DocumentParser.get_thumbnail`", "concise_description": "Class member `TextDocumentParser.get_thumbnail` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 43, "column": 9, "stop_line": 43, "stop_column": 14, "path": "src/paperless_text/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `TextDocumentParser.parse` overrides parent class `DocumentParser` in an inconsistent manner\n `TextDocumentParser.parse` has type `BoundMethod[TextDocumentParser, (self: TextDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> None]`, which is not assignable to `BoundMethod[TextDocumentParser, (self: TextDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `DocumentParser.parse`", "concise_description": "Class member `TextDocumentParser.parse` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 46, "column": 9, "stop_line": 46, "stop_column": 21, "path": "src/paperless_text/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `TextDocumentParser.get_settings` overrides parent class `DocumentParser` in an inconsistent manner\n `TextDocumentParser.get_settings` has type `BoundMethod[TextDocumentParser, (self: TextDocumentParser) -> None]`, which is not assignable to `BoundMethod[TextDocumentParser, (self: TextDocumentParser) -> Never]`, the type of `DocumentParser.get_settings`", "concise_description": "Class member `TextDocumentParser.get_settings` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 24, "column": 9, "stop_line": 24, "stop_column": 22, "path": "src/paperless_tika/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `TikaDocumentParser.get_thumbnail` overrides parent class `DocumentParser` in an inconsistent manner\n `TikaDocumentParser.get_thumbnail` has type `BoundMethod[TikaDocumentParser, (self: TikaDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Path]`, which is not assignable to `BoundMethod[TikaDocumentParser, (self: TikaDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `DocumentParser.get_thumbnail`", "concise_description": "Class member `TikaDocumentParser.get_thumbnail` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 56, "column": 9, "stop_line": 56, "stop_column": 14, "path": "src/paperless_tika/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `TikaDocumentParser.parse` overrides parent class `DocumentParser` in an inconsistent manner\n `TikaDocumentParser.parse` has type `BoundMethod[TikaDocumentParser, (self: TikaDocumentParser, document_path: Path, mime_type: str, file_name: Unknown | None = None) -> None]`, which is not assignable to `BoundMethod[TikaDocumentParser, (self: TikaDocumentParser, document_path: Unknown, mime_type: Unknown, file_name: Unknown | None = None) -> Never]`, the type of `DocumentParser.parse`", "concise_description": "Class member `TikaDocumentParser.parse` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" }, { "line": 132, "column": 9, "stop_line": 132, "stop_column": 21, "path": "src/paperless_tika/parsers.py", "code": -2, "name": "bad-override", "description": "Class member `TikaDocumentParser.get_settings` overrides parent class `DocumentParser` in an inconsistent manner\n `TikaDocumentParser.get_settings` has type `BoundMethod[TikaDocumentParser, (self: TikaDocumentParser) -> OutputTypeConfig]`, which is not assignable to `BoundMethod[TikaDocumentParser, (self: TikaDocumentParser) -> Never]`, the type of `DocumentParser.get_settings`", "concise_description": "Class member `TikaDocumentParser.get_settings` overrides parent class `DocumentParser` in an inconsistent manner", "severity": "error" } ] }