Files
paperless-ngx/.pyrefly-baseline.json
2026-02-05 09:45:26 -08:00

17369 lines
747 KiB
JSON

{
"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"
}
]
}