Files
paperless-ngx/.pyrefly-baseline.json
T

14945 lines
631 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": 256,
"column": 27,
"stop_line": 256,
"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": 325,
"column": 38,
"stop_line": 325,
"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 `(self: OriginalsOnlyStrategy, doc: Document) -> None`, which is not assignable to `(self: OriginalsOnlyStrategy, doc: Document) -> NoReturn`, the type of `BulkArchiveStrategy.add_document`\n Signature mismatch:\n expected: def add_document(self: OriginalsOnlyStrategy, doc: Document) -> NoReturn: ...\n ^^^^^^ return type\n found: def add_document(self: OriginalsOnlyStrategy, doc: Document) -> None: ...\n ^^ return type",
"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 `(self: ArchiveOnlyStrategy, doc: Document) -> None`, which is not assignable to `(self: ArchiveOnlyStrategy, doc: Document) -> NoReturn`, the type of `BulkArchiveStrategy.add_document`\n Signature mismatch:\n expected: def add_document(self: ArchiveOnlyStrategy, doc: Document) -> NoReturn: ...\n ^^^^^^ return type\n found: def add_document(self: ArchiveOnlyStrategy, doc: Document) -> None: ...\n ^^ return type",
"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 `(self: OriginalAndArchiveStrategy, doc: Document) -> None`, which is not assignable to `(self: OriginalAndArchiveStrategy, doc: Document) -> NoReturn`, the type of `BulkArchiveStrategy.add_document`\n Signature mismatch:\n expected: def add_document(self: OriginalAndArchiveStrategy, doc: Document) -> NoReturn: ...\n ^^^^^^ return type\n found: def add_document(self: OriginalAndArchiveStrategy, doc: Document) -> None: ...\n ^^ return type",
"concise_description": "Class member `OriginalAndArchiveStrategy.add_document` overrides parent class `BulkArchiveStrategy` in an inconsistent manner",
"severity": "error"
},
{
"line": 303,
"column": 9,
"stop_line": 305,
"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": 309,
"column": 32,
"stop_line": 309,
"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": 311,
"column": 9,
"stop_line": 311,
"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": 317,
"column": 21,
"stop_line": 317,
"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": 353,
"column": 5,
"stop_line": 356,
"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": 681,
"column": 53,
"stop_line": 681,
"stop_column": 71,
"path": "src/documents/bulk_edit.py",
"code": -2,
"name": "bad-assignment",
"description": "`int | None` is not assignable to dict key `archive_serial_number` with type `datetime`\n The declared type does not allow `None`. Consider changing the declared type to `datetime | None`.",
"concise_description": "`int | None` is not assignable to dict key `archive_serial_number` with type `datetime`",
"severity": "error"
},
{
"line": 696,
"column": 13,
"stop_line": 696,
"stop_column": 40,
"path": "src/documents/bulk_edit.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": 721,
"column": 57,
"stop_line": 721,
"stop_column": 68,
"path": "src/documents/bulk_edit.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[int]` is not assignable to parameter `args` with type `tuple[Any, ...] | None` in function `celery.app.task.Task.apply_async`",
"concise_description": "Argument `list[int]` is not assignable to parameter `args` with type `tuple[Any, ...] | None` in function `celery.app.task.Task.apply_async`",
"severity": "error"
},
{
"line": 839,
"column": 33,
"stop_line": 839,
"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": 1161,
"column": 13,
"stop_line": 1161,
"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": 200,
"column": 25,
"stop_line": 200,
"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__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `bytes | None` is not assignable to parameter `data` with type `Buffer` in function `binascii.hexlify`",
"severity": "error"
},
{
"line": 147,
"column": 40,
"stop_line": 147,
"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": 344,
"column": 36,
"stop_line": 346,
"stop_column": 10,
"path": "src/documents/classifier.py",
"code": -2,
"name": "bad-assignment",
"description": "`ndarray | spmatrix` is not assignable to `ndarray`",
"concise_description": "`ndarray | spmatrix` is not assignable to `ndarray`",
"severity": "error"
},
{
"line": 351,
"column": 44,
"stop_line": 351,
"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": 365,
"column": 51,
"stop_line": 367,
"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": 370,
"column": 42,
"stop_line": 370,
"stop_column": 88,
"path": "src/documents/classifier.py",
"code": -2,
"name": "bad-assignment",
"description": "`ndarray | spmatrix` is not assignable to variable `labels_tags_vectorized` with type `ndarray`",
"concise_description": "`ndarray | spmatrix` is not assignable to variable `labels_tags_vectorized` with type `ndarray`",
"severity": "error"
},
{
"line": 469,
"column": 18,
"stop_line": 469,
"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": 475,
"column": 26,
"stop_line": 475,
"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": 532,
"column": 22,
"stop_line": 532,
"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": 538,
"column": 26,
"stop_line": 538,
"stop_column": 56,
"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": 574,
"column": 24,
"stop_line": 574,
"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": 9,
"stop_line": 79,
"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": 200,
"column": 26,
"stop_line": 200,
"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": 202,
"column": 9,
"stop_line": 202,
"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": 204,
"column": 25,
"stop_line": 204,
"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": 204,
"column": 51,
"stop_line": 204,
"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": 214,
"column": 9,
"stop_line": 214,
"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": 220,
"column": 22,
"stop_line": 220,
"stop_column": 35,
"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": 220,
"column": 48,
"stop_line": 220,
"stop_column": 61,
"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": 221,
"column": 29,
"stop_line": 221,
"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": 222,
"column": 16,
"stop_line": 222,
"stop_column": 29,
"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": 223,
"column": 30,
"stop_line": 223,
"stop_column": 43,
"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": 224,
"column": 16,
"stop_line": 224,
"stop_column": 29,
"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": 321,
"column": 17,
"stop_line": 321,
"stop_column": 25,
"path": "src/documents/consumer.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `LoggerAdapter[Logger]` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`",
"concise_description": "Argument `LoggerAdapter[Logger]` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`",
"severity": "error"
},
{
"line": 390,
"column": 17,
"stop_line": 390,
"stop_column": 25,
"path": "src/documents/consumer.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `LoggerAdapter[Logger]` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`",
"concise_description": "Argument `LoggerAdapter[Logger]` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`",
"severity": "error"
},
{
"line": 401,
"column": 9,
"stop_line": 401,
"stop_column": 12,
"path": "src/documents/consumer.py",
"code": -2,
"name": "bad-override",
"description": "Class member `ConsumerPlugin.run` overrides parent class `AlwaysRunPluginMixin` in an inconsistent manner\n `ConsumerPlugin.run` has type `(self: ConsumerPlugin) -> ConsumeFileSuccessResult`, which is not assignable to `(self: ConsumerPlugin) -> str | None`, the type of `AlwaysRunPluginMixin.run`\n Signature mismatch:\n expected: def run(self: ConsumerPlugin) -> str | None: ...\n ^^^^^^^^^^ return type\n found: def run(self: ConsumerPlugin) -> ConsumeFileSuccessResult: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^ return type",
"concise_description": "Class member `ConsumerPlugin.run` overrides parent class `AlwaysRunPluginMixin` in an inconsistent manner",
"severity": "error"
},
{
"line": 401,
"column": 9,
"stop_line": 401,
"stop_column": 12,
"path": "src/documents/consumer.py",
"code": -2,
"name": "bad-override",
"description": "Class member `ConsumerPlugin.run` overrides parent class `NoSetupPluginMixin` in an inconsistent manner\n `ConsumerPlugin.run` has type `(self: ConsumerPlugin) -> ConsumeFileSuccessResult`, which is not assignable to `(self: ConsumerPlugin) -> str | None`, the type of `NoSetupPluginMixin.run`\n Signature mismatch:\n expected: def run(self: ConsumerPlugin) -> str | None: ...\n ^^^^^^^^^^ return type\n found: def run(self: ConsumerPlugin) -> ConsumeFileSuccessResult: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^ return type",
"concise_description": "Class member `ConsumerPlugin.run` overrides parent class `NoSetupPluginMixin` in an inconsistent manner",
"severity": "error"
},
{
"line": 401,
"column": 9,
"stop_line": 401,
"stop_column": 12,
"path": "src/documents/consumer.py",
"code": -2,
"name": "bad-override",
"description": "Class member `ConsumerPlugin.run` overrides parent class `NoCleanupPluginMixin` in an inconsistent manner\n `ConsumerPlugin.run` has type `(self: ConsumerPlugin) -> ConsumeFileSuccessResult`, which is not assignable to `(self: ConsumerPlugin) -> str | None`, the type of `NoCleanupPluginMixin.run`\n Signature mismatch:\n expected: def run(self: ConsumerPlugin) -> str | None: ...\n ^^^^^^^^^^ return type\n found: def run(self: ConsumerPlugin) -> ConsumeFileSuccessResult: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^ return type",
"concise_description": "Class member `ConsumerPlugin.run` overrides parent class `NoCleanupPluginMixin` in an inconsistent manner",
"severity": "error"
},
{
"line": 401,
"column": 9,
"stop_line": 401,
"stop_column": 12,
"path": "src/documents/consumer.py",
"code": -2,
"name": "bad-override",
"description": "Class member `ConsumerPlugin.run` overrides parent class `ConsumeTaskPlugin` in an inconsistent manner\n `ConsumerPlugin.run` has type `(self: ConsumerPlugin) -> ConsumeFileSuccessResult`, which is not assignable to `(self: ConsumerPlugin) -> str | None`, the type of `ConsumeTaskPlugin.run`\n Signature mismatch:\n expected: def run(self: ConsumerPlugin) -> str | None: ...\n ^^^^^^^^^^ return type\n found: def run(self: ConsumerPlugin) -> ConsumeFileSuccessResult: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^ return type",
"concise_description": "Class member `ConsumerPlugin.run` overrides parent class `ConsumeTaskPlugin` in an inconsistent manner",
"severity": "error"
},
{
"line": 435,
"column": 25,
"stop_line": 439,
"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": 440,
"column": 32,
"stop_line": 440,
"stop_column": 40,
"path": "src/documents/consumer.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `LoggerAdapter[Logger]` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`",
"concise_description": "Argument `LoggerAdapter[Logger]` is not assignable to parameter `logger` with type `Logger | None` in function `documents.utils.run_subprocess`",
"severity": "error"
},
{
"line": 528,
"column": 25,
"stop_line": 528,
"stop_column": 33,
"path": "src/documents/consumer.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `LoggerAdapter[Logger]` is not assignable to parameter `log` with type `Logger | None` in function `should_produce_archive`",
"concise_description": "Argument `LoggerAdapter[Logger]` is not assignable to parameter `log` with type `Logger | None` in function `should_produce_archive`",
"severity": "error"
},
{
"line": 645,
"column": 33,
"stop_line": 645,
"stop_column": 60,
"path": "src/documents/consumer.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": 736,
"column": 37,
"stop_line": 736,
"stop_column": 58,
"path": "src/documents/consumer.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Path | None` is not assignable to parameter `path` with type `Path` in function `documents.file_handling.validate_path_in_root`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `Path` in function `documents.file_handling.validate_path_in_root`",
"severity": "error"
},
{
"line": 739,
"column": 62,
"stop_line": 739,
"stop_column": 83,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 746,
"column": 37,
"stop_line": 746,
"stop_column": 58,
"path": "src/documents/consumer.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Path | None` is not assignable to parameter `path` with type `Path` in function `documents.utils.compute_checksum`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `Path` in function `documents.utils.compute_checksum`",
"severity": "error"
},
{
"line": 831,
"column": 13,
"stop_line": 831,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 832,
"column": 13,
"stop_line": 832,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 833,
"column": 13,
"stop_line": 833,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 955,
"column": 31,
"stop_line": 955,
"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": 1027,
"column": 21,
"stop_line": 1027,
"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": 1028,
"column": 24,
"stop_line": 1028,
"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": 1029,
"column": 30,
"stop_line": 1029,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`",
"concise_description": "Argument `object | Unknown` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 1029,
"column": 58,
"stop_line": 1029,
"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": 1030,
"column": 28,
"stop_line": 1030,
"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": 1037,
"column": 65,
"stop_line": 1037,
"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": 1052,
"column": 21,
"stop_line": 1052,
"stop_column": 33,
"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": 1118,
"column": 16,
"stop_line": 1118,
"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 | Any]` is not assignable to parameter `arguments` with type `list[str]` in function `documents.utils.run_subprocess`",
"concise_description": "Argument `list[Path | str | Any]` 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__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `bytes | None` is not assignable to parameter `buffer` with type `Buffer` in function `_io.BufferedWriter.write`",
"severity": "error"
},
{
"line": 119,
"column": 13,
"stop_line": 122,
"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": 125,
"column": 13,
"stop_line": 128,
"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": 141,
"column": 26,
"stop_line": 141,
"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": 142,
"column": 35,
"stop_line": 142,
"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": 146,
"column": 26,
"stop_line": 146,
"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": 147,
"column": 37,
"stop_line": 147,
"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": 176,
"column": 22,
"stop_line": 176,
"stop_column": 65,
"path": "src/documents/data_models.py",
"code": -2,
"name": "bad-assignment",
"description": "`None` is not assignable to `str`\n The declared type does not allow `None`. Consider changing the declared type to `str | None`.",
"concise_description": "`None` is not assignable to `str`",
"severity": "error"
},
{
"line": 174,
"column": 12,
"stop_line": 174,
"stop_column": 36,
"path": "src/documents/file_handling.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": 175,
"column": 31,
"stop_line": 175,
"stop_column": 60,
"path": "src/documents/file_handling.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `object` has no attribute `path`",
"concise_description": "Object of class `object` has no attribute `path`",
"severity": "error"
},
{
"line": 188,
"column": 53,
"stop_line": 188,
"stop_column": 64,
"path": "src/documents/file_handling.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Document | None` is not assignable to parameter `document` with type `Document` in function `format_filename`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Document | None` is not assignable to parameter `document` with type `Document` in function `format_filename`",
"severity": "error"
},
{
"line": 212,
"column": 16,
"stop_line": 212,
"stop_column": 30,
"path": "src/documents/file_handling.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": 216,
"column": 51,
"stop_line": 216,
"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": 21,
"stop_line": 230,
"stop_column": 44,
"path": "src/documents/filters.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `QuerySet[Model, dict[str, Any]]` is not assignable to parameter `expression` with type `Combinable | str` in function `django.db.models.aggregates.Count.__init__`",
"concise_description": "Argument `QuerySet[Model, dict[str, Any]]` is not assignable to parameter `expression` with type `Combinable | str` in function `django.db.models.aggregates.Count.__init__`",
"severity": "error"
},
{
"line": 235,
"column": 21,
"stop_line": 238,
"stop_column": 45,
"path": "src/documents/filters.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `QuerySet[Model, dict[str, Any]]` is not assignable to parameter `expression` with type `Combinable | str` in function `django.db.models.aggregates.Count.__init__`",
"concise_description": "Argument `QuerySet[Model, dict[str, Any]]` is not assignable to parameter `expression` with type `Combinable | str` in function `django.db.models.aggregates.Count.__init__`",
"severity": "error"
},
{
"line": 272,
"column": 31,
"stop_line": 272,
"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": 336,
"column": 25,
"stop_line": 336,
"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": 363,
"column": 48,
"stop_line": 363,
"stop_column": 65,
"path": "src/documents/filters.py",
"code": -2,
"name": "bad-assignment",
"description": "`Unknown | None` is not assignable to dict key type `str`\n The declared type does not allow `None`. Consider changing the declared type to `str | None`.",
"concise_description": "`Unknown | None` is not assignable to dict key type `str`",
"severity": "error"
},
{
"line": 372,
"column": 5,
"stop_line": 372,
"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": 683,
"column": 26,
"stop_line": 683,
"stop_column": 49,
"path": "src/documents/filters.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `ForeignObjectRel` has no attribute `deconstruct`",
"concise_description": "Object of class `ForeignObjectRel` has no attribute `deconstruct`",
"severity": "error"
},
{
"line": 686,
"column": 17,
"stop_line": 686,
"stop_column": 28,
"path": "src/documents/filters.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Field[Any, Any] | ForeignObjectRel` 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[Any, Any] | ForeignObjectRel` is not assignable to parameter `model_field` with type `Field[Unknown, Unknown]` in function `rest_framework.serializers.ModelSerializer.build_standard_field`",
"severity": "error"
},
{
"line": 747,
"column": 18,
"stop_line": 747,
"stop_column": 41,
"path": "src/documents/filters.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Any | None` is not assignable to parameter `iterable` with type `Iterable[Any]` in function `set.__init__`\n Protocol `Iterable` requires attribute `__iter__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Any | None` is not assignable to parameter `iterable` with type `Iterable[Any]` in function `set.__init__`",
"severity": "error"
},
{
"line": 1169,
"column": 25,
"stop_line": 1169,
"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": 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": 515,
"column": 41,
"stop_line": 515,
"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": 458,
"column": 14,
"stop_line": 458,
"stop_column": 18,
"path": "src/documents/management/commands/document_importer.py",
"code": -2,
"name": "bad-override-mutable-attribute",
"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": 49,
"column": 42,
"stop_line": 49,
"stop_column": 69,
"path": "src/documents/matching.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | None` is not assignable to parameter `content` with type `str` in function `documents.classifier.DocumentClassifier.predict_correspondent`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `content` with type `str` in function `documents.classifier.DocumentClassifier.predict_correspondent`",
"severity": "error"
},
{
"line": 79,
"column": 42,
"stop_line": 79,
"stop_column": 69,
"path": "src/documents/matching.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | None` is not assignable to parameter `content` with type `str` in function `documents.classifier.DocumentClassifier.predict_document_type`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `content` with type `str` in function `documents.classifier.DocumentClassifier.predict_document_type`",
"severity": "error"
},
{
"line": 108,
"column": 33,
"stop_line": 108,
"stop_column": 60,
"path": "src/documents/matching.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | None` is not assignable to parameter `content` with type `str` in function `documents.classifier.DocumentClassifier.predict_tags`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `content` with type `str` in function `documents.classifier.DocumentClassifier.predict_tags`",
"severity": "error"
},
{
"line": 137,
"column": 41,
"stop_line": 137,
"stop_column": 68,
"path": "src/documents/matching.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | None` is not assignable to parameter `content` with type `str` in function `documents.classifier.DocumentClassifier.predict_storage_path`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `content` with type `str` in function `documents.classifier.DocumentClassifier.predict_storage_path`",
"severity": "error"
},
{
"line": 365,
"column": 9,
"stop_line": 365,
"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": 390,
"column": 17,
"stop_line": 390,
"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": 400,
"column": 42,
"stop_line": 400,
"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[object]` in function `set.issubset`\n Protocol `Iterable` requires attribute `__iter__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `set[Any] | None` is not assignable to parameter `s` with type `Iterable[object]` in function `set.issubset`",
"severity": "error"
},
{
"line": 409,
"column": 12,
"stop_line": 409,
"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": 680,
"column": 21,
"stop_line": 680,
"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": 689,
"column": 21,
"stop_line": 689,
"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": 116,
"column": 11,
"stop_line": 116,
"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": 460,
"column": 21,
"stop_line": 460,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 1123,
"column": 9,
"stop_line": 1123,
"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 `(self: ShareLinkBundle, using: Unknown | None = None, *, keep_parents: bool | Unknown = False) -> tuple[int, dict[str, int]]`, which is not assignable to `(self: ShareLinkBundle, using: Any | None = None, keep_parents: bool = False) -> tuple[int, dict[str, int]]`, the type of `Model.delete`\n Signature mismatch:\n expected: def delete(self: ShareLinkBundle, using: Any | None = None, keep_parents: bool = False) -> tuple[int, dict[str, int]]: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ parameters\n found: def delete(self: ShareLinkBundle, using: Unknown | None = None, *, keep_parents: bool | Unknown = False) -> tuple[int, dict...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ parameters",
"concise_description": "Class member `ShareLinkBundle.delete` overrides parent class `Model` in an inconsistent manner",
"severity": "error"
},
{
"line": 1304,
"column": 54,
"stop_line": 1304,
"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": 1328,
"column": 5,
"stop_line": 1328,
"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": 146,
"column": 28,
"stop_line": 146,
"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": 133,
"column": 42,
"stop_line": 133,
"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": 134,
"column": 35,
"stop_line": 134,
"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": 135,
"column": 16,
"stop_line": 135,
"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": 182,
"column": 6,
"stop_line": 182,
"stop_column": 19,
"path": "src/documents/permissions.py",
"code": -2,
"name": "bad-specialization",
"description": "`int` is not assignable to upper bound `Model` of type variable `_Model`",
"concise_description": "`int` is not assignable to upper bound `Model` of type variable `_Model`",
"severity": "error"
},
{
"line": 193,
"column": 9,
"stop_line": 193,
"stop_column": 29,
"path": "src/documents/permissions.py",
"code": -2,
"name": "missing-attribute",
"description": "Class `Model` has no class attribute `global_objects`",
"concise_description": "Class `Model` has no class attribute `global_objects`",
"severity": "error"
},
{
"line": 198,
"column": 16,
"stop_line": 198,
"stop_column": 79,
"path": "src/documents/permissions.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `QuerySet[Model, Any] | Unknown` is not assignable to declared return type `QuerySet[int, int]`",
"concise_description": "Returned type `QuerySet[Model, Any] | Unknown` is not assignable to declared return type `QuerySet[int, int]`",
"severity": "error"
},
{
"line": 205,
"column": 16,
"stop_line": 205,
"stop_column": 59,
"path": "src/documents/permissions.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `QuerySet[Model, Any] | Unknown` is not assignable to declared return type `QuerySet[int, int]`",
"concise_description": "Returned type `QuerySet[Model, Any] | Unknown` is not assignable to declared return type `QuerySet[int, int]`",
"severity": "error"
},
{
"line": 208,
"column": 16,
"stop_line": 208,
"stop_column": 52,
"path": "src/documents/permissions.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `QuerySet[Model, Any] | Unknown` is not assignable to declared return type `QuerySet[int, int]`",
"concise_description": "Returned type `QuerySet[Model, Any] | Unknown` is not assignable to declared return type `QuerySet[int, int]`",
"severity": "error"
},
{
"line": 234,
"column": 12,
"stop_line": 236,
"stop_column": 35,
"path": "src/documents/permissions.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `QuerySet[Model, Any] | Unknown` is not assignable to declared return type `QuerySet[int, int]`",
"concise_description": "Returned type `QuerySet[Model, Any] | Unknown` is not assignable to declared return type `QuerySet[int, int]`",
"severity": "error"
},
{
"line": 296,
"column": 6,
"stop_line": 296,
"stop_column": 19,
"path": "src/documents/permissions.py",
"code": -2,
"name": "bad-specialization",
"description": "`int` is not assignable to upper bound `Model` of type variable `_Model`",
"concise_description": "`int` is not assignable to upper bound `Model` of type variable `_Model`",
"severity": "error"
},
{
"line": 97,
"column": 29,
"stop_line": 97,
"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": 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": 501,
"column": 50,
"stop_line": 501,
"stop_column": 75,
"path": "src/documents/search/_backend.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `int | None` is not assignable to parameter `value` with type `int` in function `tantivy.tantivy.Document.add_unsigned`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `int | None` is not assignable to parameter `value` with type `int` in function `tantivy.tantivy.Document.add_unsigned`",
"severity": "error"
},
{
"line": 509,
"column": 50,
"stop_line": 509,
"stop_column": 75,
"path": "src/documents/search/_backend.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `int | None` is not assignable to parameter `value` with type `int` in function `tantivy.tantivy.Document.add_unsigned`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `int | None` is not assignable to parameter `value` with type `int` in function `tantivy.tantivy.Document.add_unsigned`",
"severity": "error"
},
{
"line": 514,
"column": 49,
"stop_line": 514,
"stop_column": 73,
"path": "src/documents/search/_backend.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `int | None` is not assignable to parameter `value` with type `int` in function `tantivy.tantivy.Document.add_unsigned`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `int | None` is not assignable to parameter `value` with type `int` in function `tantivy.tantivy.Document.add_unsigned`",
"severity": "error"
},
{
"line": 530,
"column": 21,
"stop_line": 530,
"stop_column": 35,
"path": "src/documents/search/_backend.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": 545,
"column": 20,
"stop_line": 545,
"stop_column": 42,
"path": "src/documents/search/_backend.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": 647,
"column": 45,
"stop_line": 647,
"stop_column": 58,
"path": "src/documents/search/_backend.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[int]` is not assignable to parameter `args` with type `tuple[Any, ...] | None` in function `celery.app.task.Task.apply_async`",
"concise_description": "Argument `list[int]` is not assignable to parameter `args` with type `tuple[Any, ...] | None` in function `celery.app.task.Task.apply_async`",
"severity": "error"
},
{
"line": 676,
"column": 57,
"stop_line": 676,
"stop_column": 65,
"path": "src/documents/search/_backend.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[int]` is not assignable to parameter `args` with type `tuple[Any, ...] | None` in function `celery.app.task.Task.apply_async`",
"concise_description": "Argument `list[int]` is not assignable to parameter `args` with type `tuple[Any, ...] | None` in function `celery.app.task.Task.apply_async`",
"severity": "error"
},
{
"line": 1103,
"column": 9,
"stop_line": 1103,
"stop_column": 17,
"path": "src/documents/search/_backend.py",
"code": -2,
"name": "bad-override",
"description": "Class member `_DocumentViewerStream.__iter__` overrides parent class `QuerySetStream` in an inconsistent manner\n `_DocumentViewerStream.__iter__` has type `(self: _DocumentViewerStream) -> Iterator[tuple[Document, ViewerGrant]]`, which is not assignable to `(self: _DocumentViewerStream) -> Iterator[Document]`, the type of `QuerySetStream.__iter__`\n Signature mismatch:\n expected: def __iter__(self: _DocumentViewerStream) -> Iterator[Document]: ...\n ^^^^^^^^ return type\n found: def __iter__(self: _DocumentViewerStream) -> Iterator[tuple[Document, ViewerGrant]]: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ return type",
"concise_description": "Class member `_DocumentViewerStream.__iter__` overrides parent class `QuerySetStream` in an inconsistent manner",
"severity": "error"
},
{
"line": 174,
"column": 9,
"stop_line": 174,
"stop_column": 17,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override-param-name",
"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": 248,
"column": 62,
"stop_line": 250,
"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": 337,
"column": 17,
"stop_line": 341,
"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": 534,
"column": 9,
"stop_line": 534,
"stop_column": 26,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override-param-name",
"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": 535,
"column": 9,
"stop_line": 535,
"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": 535,
"column": 51,
"stop_line": 535,
"stop_column": 83,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of type `BaseSerializer[Unknown] | Field[Unknown, Unknown, Unknown, Unknown] | None` has no attribute `get_shared_object_pks`\n Object of class `BaseSerializer` has no attribute `get_shared_object_pks`\n Object of class `Field` has no attribute `get_shared_object_pks`\n Object of class `NoneType` has no attribute `get_shared_object_pks`",
"concise_description": "Object of type `BaseSerializer[Unknown] | Field[Unknown, Unknown, Unknown, Unknown] | None` has no attribute `get_shared_object_pks`",
"severity": "error"
},
{
"line": 544,
"column": 11,
"stop_line": 544,
"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": 544,
"column": 11,
"stop_line": 544,
"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": 563,
"column": 11,
"stop_line": 563,
"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": 563,
"column": 11,
"stop_line": 563,
"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": 634,
"column": 14,
"stop_line": 639,
"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": 658,
"column": 17,
"stop_line": 658,
"stop_column": 54,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "unsupported-operation",
"description": "Cannot set item in `Mapping[str, Any]`\n Object of class `Mapping` has no attribute `__setitem__`\n Did you mean `__getitem__`?",
"concise_description": "Cannot set item in `Mapping[str, Any]`",
"severity": "error"
},
{
"line": 690,
"column": 11,
"stop_line": 690,
"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": 690,
"column": 11,
"stop_line": 690,
"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": 717,
"column": 9,
"stop_line": 717,
"stop_column": 17,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override-param-name",
"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": 770,
"column": 17,
"stop_line": 770,
"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": 776,
"column": 11,
"stop_line": 776,
"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": 855,
"column": 28,
"stop_line": 855,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "`Unknown | None` is not assignable to attribute `method_name` with type `str`",
"severity": "error"
},
{
"line": 893,
"column": 13,
"stop_line": 893,
"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": 909,
"column": 9,
"stop_line": 909,
"stop_column": 18,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override-param-name",
"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": 912,
"column": 9,
"stop_line": 912,
"stop_column": 17,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override-param-name",
"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": 955,
"column": 34,
"stop_line": 955,
"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": 982,
"column": 11,
"stop_line": 982,
"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": 992,
"column": 11,
"stop_line": 992,
"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": 1000,
"column": 11,
"stop_line": 1000,
"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": 1155,
"column": 30,
"stop_line": 1155,
"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": 1198,
"column": 12,
"stop_line": 1198,
"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": 1202,
"column": 42,
"stop_line": 1202,
"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": 1295,
"column": 11,
"stop_line": 1295,
"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": 1295,
"column": 11,
"stop_line": 1295,
"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": 1295,
"column": 11,
"stop_line": 1295,
"stop_column": 15,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override",
"description": "Class member `DocumentSerializer.Meta` overrides parent class `DocumentUpdateFieldsModelSerializer` in an inconsistent manner\n `DocumentSerializer.Meta` has type `type[DocumentSerializer.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `DocumentUpdateFieldsModelSerializer.Meta`",
"concise_description": "Class member `DocumentSerializer.Meta` overrides parent class `DocumentUpdateFieldsModelSerializer` in an inconsistent manner",
"severity": "error"
},
{
"line": 1331,
"column": 9,
"stop_line": 1331,
"stop_column": 26,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override-param-name",
"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": 1334,
"column": 21,
"stop_line": 1334,
"stop_column": 47,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of type `BaseSerializer[Unknown] | Field[Unknown, Unknown, Unknown, Unknown] | None` has no attribute `fetch_documents`\n Object of class `BaseSerializer` has no attribute `fetch_documents`\n Object of class `Field` has no attribute `fetch_documents`\n Object of class `NoneType` has no attribute `fetch_documents`",
"concise_description": "Object of type `BaseSerializer[Unknown] | Field[Unknown, Unknown, Unknown, Unknown] | None` has no attribute `fetch_documents`",
"severity": "error"
},
{
"line": 1335,
"column": 9,
"stop_line": 1335,
"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": 1337,
"column": 9,
"stop_line": 1337,
"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": 1337,
"column": 51,
"stop_line": 1337,
"stop_column": 83,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of type `BaseSerializer[Unknown] | Field[Unknown, Unknown, Unknown, Unknown] | None` has no attribute `get_shared_object_pks`\n Object of class `BaseSerializer` has no attribute `get_shared_object_pks`\n Object of class `Field` has no attribute `get_shared_object_pks`\n Object of class `NoneType` has no attribute `get_shared_object_pks`",
"concise_description": "Object of type `BaseSerializer[Unknown] | Field[Unknown, Unknown, Unknown, Unknown] | None` has no attribute `get_shared_object_pks`",
"severity": "error"
},
{
"line": 1362,
"column": 9,
"stop_line": 1362,
"stop_column": 26,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override-param-name",
"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": 1384,
"column": 9,
"stop_line": 1384,
"stop_column": 30,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override-mutable-attribute",
"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": 1388,
"column": 11,
"stop_line": 1388,
"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": 1396,
"column": 11,
"stop_line": 1396,
"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": 1537,
"column": 21,
"stop_line": 1537,
"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": 1539,
"column": 36,
"stop_line": 1539,
"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": 1812,
"column": 7,
"stop_line": 1812,
"stop_column": 25,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "invalid-inheritance",
"description": "Class `BulkEditSerializer` has inconsistent type arguments for base class `Field`: `Field[Any, Any, Any, dict[str, Any]]` and `Field[Any, Any, Any, dict[str, list[int]]]`",
"concise_description": "Class `BulkEditSerializer` has inconsistent type arguments for base class `Field`: `Field[Any, Any, Any, dict[str, Any]]` and `Field[Any, Any, Any, dict[str, list[int]]]`",
"severity": "error"
},
{
"line": 2496,
"column": 73,
"stop_line": 2496,
"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": 2509,
"column": 11,
"stop_line": 2509,
"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": 2509,
"column": 11,
"stop_line": 2509,
"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": 2557,
"column": 11,
"stop_line": 2557,
"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": 2574,
"column": 9,
"stop_line": 2574,
"stop_column": 15,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override",
"description": "Class member `UiSettingsViewSerializer.create` overrides parent class `ModelSerializer` in an inconsistent manner\n `UiSettingsViewSerializer.create` has type `(self: UiSettingsViewSerializer, validated_data: Unknown) -> tuple[UiSettings, bool]`, which is not assignable to `(self: UiSettingsViewSerializer, validated_data: Any) -> UiSettings`, the type of `ModelSerializer.create`\n Signature mismatch:\n expected: def create(self: UiSettingsViewSerializer, validated_data: Any) -> UiSettings: ...\n ^^^ ^^^^^^^^^^ return type\n |\n parameters\n found: def create(self: UiSettingsViewSerializer, validated_data: Unknown) -> tuple[UiSettings, bool]: ...\n ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ return type\n |\n parameters",
"concise_description": "Class member `UiSettingsViewSerializer.create` overrides parent class `ModelSerializer` in an inconsistent manner",
"severity": "error"
},
{
"line": 2602,
"column": 11,
"stop_line": 2602,
"stop_column": 15,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override",
"description": "Class member `TaskSerializerV10.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner\n `TaskSerializerV10.Meta` has type `type[TaskSerializerV10.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `OwnedObjectSerializer.Meta`",
"concise_description": "Class member `TaskSerializerV10.Meta` overrides parent class `OwnedObjectSerializer` in an inconsistent manner",
"severity": "error"
},
{
"line": 2655,
"column": 11,
"stop_line": 2655,
"stop_column": 15,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "bad-override",
"description": "Class member `TaskSerializerV9.Meta` overrides parent class `ModelSerializer` in an inconsistent manner\n `TaskSerializerV9.Meta` has type `type[TaskSerializerV9.Meta]`, which is not assignable to `type[ModelSerializer.Meta]`, the type of `ModelSerializer.Meta`",
"concise_description": "Class member `TaskSerializerV9.Meta` overrides parent class `ModelSerializer` in an inconsistent manner",
"severity": "error"
},
{
"line": 2694,
"column": 46,
"stop_line": 2694,
"stop_column": 76,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "no-matching-overload",
"description": "No matching overload found for function `dict.get` called with arguments: (str, str)\n Possible overloads:\n (key: PaperlessTask.TaskType, default: None = None, /) -> str | None\n (key: PaperlessTask.TaskType, default: str, /) -> str [closest match]\n (key: PaperlessTask.TaskType, default: _T, /) -> str | _T\n Argument `str` is not assignable to parameter `key` with type `PaperlessTask.TaskType` in function `dict.get`",
"concise_description": "No matching overload found for function `dict.get` called with arguments: (str, str)",
"severity": "error"
},
{
"line": 2710,
"column": 38,
"stop_line": 2710,
"stop_column": 70,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "no-matching-overload",
"description": "No matching overload found for function `dict.get` called with arguments: (str, str)\n Possible overloads:\n (key: PaperlessTask.Status, default: None = None, /) -> str | None\n (key: PaperlessTask.Status, default: str, /) -> str [closest match]\n (key: PaperlessTask.Status, default: _T, /) -> str | _T\n Argument `str` is not assignable to parameter `key` with type `PaperlessTask.Status` in function `dict.get`",
"concise_description": "No matching overload found for function `dict.get` called with arguments: (str, str)",
"severity": "error"
},
{
"line": 2721,
"column": 51,
"stop_line": 2721,
"stop_column": 86,
"path": "src/documents/serialisers.py",
"code": -2,
"name": "no-matching-overload",
"description": "No matching overload found for function `dict.get` called with arguments: (str, Literal['manual_task'])\n Possible overloads:\n (key: PaperlessTask.TriggerSource, default: None = None, /) -> str | None\n (key: PaperlessTask.TriggerSource, default: str, /) -> str [closest match]\n (key: PaperlessTask.TriggerSource, default: _T, /) -> str | _T\n Argument `str` is not assignable to parameter `key` with type `PaperlessTask.TriggerSource` in function `dict.get`",
"concise_description": "No matching overload found for function `dict.get` called with arguments: (str, Literal['manual_task'])",
"severity": "error"
},
{
"line": 2815,
"column": 11,
"stop_line": 2815,
"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": 2860,
"column": 11,
"stop_line": 2860,
"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": 3073,
"column": 11,
"stop_line": 3073,
"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": 3169,
"column": 11,
"stop_line": 3169,
"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": 3189,
"column": 11,
"stop_line": 3189,
"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": 3212,
"column": 11,
"stop_line": 3212,
"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": 3335,
"column": 11,
"stop_line": 3335,
"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": 3598,
"column": 52,
"stop_line": 3598,
"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": 3598,
"column": 62,
"stop_line": 3598,
"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": 126,
"column": 72,
"stop_line": 126,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_correspondents`",
"severity": "error"
},
{
"line": 187,
"column": 72,
"stop_line": 187,
"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_document_types`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_document_types`",
"severity": "error"
},
{
"line": 269,
"column": 50,
"stop_line": 269,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_tags`",
"severity": "error"
},
{
"line": 313,
"column": 70,
"stop_line": 313,
"stop_column": 80,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_storage_paths`",
"severity": "error"
},
{
"line": 545,
"column": 46,
"stop_line": 545,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 546,
"column": 49,
"stop_line": 546,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 551,
"column": 28,
"stop_line": 551,
"stop_column": 52,
"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": 577,
"column": 43,
"stop_line": 577,
"stop_column": 60,
"path": "src/documents/signals/handlers.py",
"code": -2,
"name": "bad-assignment",
"description": "`str` is not assignable to dict key `filename` with type `datetime`",
"concise_description": "`str` is not assignable to dict key `filename` with type `datetime`",
"severity": "error"
},
{
"line": 579,
"column": 51,
"stop_line": 579,
"stop_column": 76,
"path": "src/documents/signals/handlers.py",
"code": -2,
"name": "bad-assignment",
"description": "`Any | None` is not assignable to dict key `archive_filename` with type `datetime`\n The declared type does not allow `None`. Consider changing the declared type to `datetime | None`.",
"concise_description": "`Any | None` is not assignable to dict key `archive_filename` with type `datetime`",
"severity": "error"
},
{
"line": 598,
"column": 21,
"stop_line": 598,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `old_path` with type `Path` in function `validate_move`",
"severity": "error"
},
{
"line": 599,
"column": 21,
"stop_line": 599,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `new_path` with type `Path` in function `validate_move`",
"severity": "error"
},
{
"line": 602,
"column": 46,
"stop_line": 602,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 603,
"column": 28,
"stop_line": 603,
"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": 603,
"column": 29,
"stop_line": 603,
"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`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `src` with type `PathLike[str] | str` in function `shutil.move`",
"severity": "error"
},
{
"line": 623,
"column": 20,
"stop_line": 623,
"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": 625,
"column": 55,
"stop_line": 625,
"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": 627,
"column": 20,
"stop_line": 627,
"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": 627,
"column": 37,
"stop_line": 627,
"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": 629,
"column": 32,
"stop_line": 629,
"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": 629,
"column": 33,
"stop_line": 629,
"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`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `src` with type `PathLike[str] | str` in function `shutil.move`",
"severity": "error"
},
{
"line": 629,
"column": 56,
"stop_line": 629,
"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": 643,
"column": 33,
"stop_line": 643,
"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": 644,
"column": 41,
"stop_line": 644,
"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": 654,
"column": 49,
"stop_line": 654,
"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": 656,
"column": 22,
"stop_line": 656,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 683,
"column": 23,
"stop_line": 683,
"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": 687,
"column": 5,
"stop_line": 687,
"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": 691,
"column": 24,
"stop_line": 691,
"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": 708,
"column": 13,
"stop_line": 708,
"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": 722,
"column": 12,
"stop_line": 722,
"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": 726,
"column": 13,
"stop_line": 726,
"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": 765,
"column": 27,
"stop_line": 765,
"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": 785,
"column": 17,
"stop_line": 785,
"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": 892,
"column": 13,
"stop_line": 892,
"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": 892,
"column": 60,
"stop_line": 892,
"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": 939,
"column": 29,
"stop_line": 939,
"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": 946,
"column": 59,
"stop_line": 946,
"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": 1006,
"column": 25,
"stop_line": 1006,
"stop_column": 61,
"path": "src/documents/signals/handlers.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `Task` has no attribute `delay_on_commit`",
"concise_description": "Object of class `Task` has no attribute `delay_on_commit`",
"severity": "error"
},
{
"line": 1008,
"column": 41,
"stop_line": 1008,
"stop_column": 52,
"path": "src/documents/signals/handlers.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": 1013,
"column": 17,
"stop_line": 1013,
"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": 1013,
"column": 34,
"stop_line": 1013,
"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": 1023,
"column": 17,
"stop_line": 1023,
"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": 1249,
"column": 49,
"stop_line": 1249,
"stop_column": 86,
"path": "src/documents/signals/handlers.py",
"code": -2,
"name": "no-matching-overload",
"description": "No matching overload found for function `dict.get` called with arguments: (Unknown | None, Literal[PaperlessTask.Status.FAILURE])\n Possible overloads:\n (key: str, default: None = None, /) -> PaperlessTask.Status | None\n (key: str, default: PaperlessTask.Status, /) -> PaperlessTask.Status [closest match]\n (key: str, default: _T, /) -> PaperlessTask.Status | _T\n Argument `Unknown | None` is not assignable to parameter `key` with type `str` in function `dict.get`",
"concise_description": "No matching overload found for function `dict.get` called with arguments: (Unknown | None, Literal[PaperlessTask.Status.FAILURE])",
"severity": "error"
},
{
"line": 1398,
"column": 13,
"stop_line": 1398,
"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": 1412,
"column": 13,
"stop_line": 1412,
"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": 232,
"column": 21,
"stop_line": 232,
"stop_column": 36,
"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__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 276,
"column": 16,
"stop_line": 276,
"stop_column": 19,
"path": "src/documents/tasks.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `str | None` is not assignable to declared return type `ConsumeFileDuplicateResult | ConsumeFileStoppedResult | ConsumeFileSuccessResult | None`",
"concise_description": "Returned type `str | None` is not assignable to declared return type `ConsumeFileDuplicateResult | ConsumeFileStoppedResult | ConsumeFileSuccessResult | None`",
"severity": "error"
},
{
"line": 395,
"column": 49,
"stop_line": 395,
"stop_column": 74,
"path": "src/documents/tasks.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Path | None` is not assignable to parameter `path` with type `Path` in function `documents.utils.compute_checksum`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `Path` in function `documents.utils.compute_checksum`",
"severity": "error"
},
{
"line": 411,
"column": 25,
"stop_line": 411,
"stop_column": 52,
"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": 435,
"column": 25,
"stop_line": 435,
"stop_column": 52,
"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": 448,
"column": 54,
"stop_line": 448,
"stop_column": 75,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 449,
"column": 36,
"stop_line": 449,
"stop_column": 86,
"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": 449,
"column": 37,
"stop_line": 449,
"stop_column": 62,
"path": "src/documents/tasks.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`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `src` with type `PathLike[str] | str` in function `shutil.move`",
"severity": "error"
},
{
"line": 626,
"column": 33,
"stop_line": 626,
"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": 108,
"column": 1,
"stop_line": 108,
"stop_column": 41,
"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 = 0.0) -> 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[V]) -> Iterable[V]] | [_T](x: SupportsAbs[_T], /) -> _T | [K, V](value: Mapping[K, V] | Undefined) -> Iterator[tuple[K, V]] | [K, V](value: Mapping[K, V], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[K, V]] | [V](environment: Environment, value: Iterable[V], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[V] | [V](environment: Environment, value: Iterable[V], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | V | [V](value: V, default_value: V = '', boolean: bool = False) -> V | [V](environment: Environment, seq: Reversible[V]) -> Undefined | V | [V](context: Context, seq: Sequence[V]) -> Undefined | V | [V](value: Iterable[V], linecount: int, fill_with: V | None = None) -> Iterator[list[V]]]`\n `Sized` is not assignable to upper bound `_StrPromise | str` of type variable `_StrOrPromiseT`",
"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 = 0.0) -> 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[V]) -> Iterable[V]] | [_T](x: SupportsAbs[_T], /) -> _T | [K, V](value: Mapping[K, V] | Undefined) -> Iterator[tuple[K, V]] | [K, V](value: Mapping[K, V], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[K, V]] | [V](environment: Environment, value: Iterable[V], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[V] | [V](environment: Environment, value: Iterable[V], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | V | [V](value: V, default_value: V = '', boolean: bool = False) -> V | [V](environment: Environment, seq: Reversible[V]) -> Undefined | V | [V](context: Context, seq: Sequence[V]) -> Undefined | V | [V](value: Iterable[V], linecount: int, fill_with: V | None = None) -> Iterator[list[V]]]`",
"severity": "error"
},
{
"line": 315,
"column": 17,
"stop_line": 315,
"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": 340,
"column": 12,
"stop_line": 340,
"stop_column": 22,
"path": "src/documents/templating/filepath.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `dict[str, dict[str, dict[str, str | Any | 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 | Any | 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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check or changing the declared type to `date | datetime | str | None`.",
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check or changing the declared type to `datetime | str | None`.",
"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": 29,
"column": 1,
"stop_line": 29,
"stop_column": 41,
"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 = 0.0) -> 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[V]) -> Iterable[V]] | [_T](x: SupportsAbs[_T], /) -> _T | [K, V](value: Mapping[K, V] | Undefined) -> Iterator[tuple[K, V]] | [K, V](value: Mapping[K, V], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[K, V]] | [V](environment: Environment, value: Iterable[V], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[V] | [V](environment: Environment, value: Iterable[V], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | V | [V](value: V, default_value: V = '', boolean: bool = False) -> V | [V](environment: Environment, seq: Reversible[V]) -> Undefined | V | [V](context: Context, seq: Sequence[V]) -> Undefined | V | [V](value: Iterable[V], linecount: int, fill_with: V | None = None) -> Iterator[list[V]]]`\n `Sized` is not assignable to upper bound `_StrPromise | str` of type variable `_StrOrPromiseT`",
"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 = 0.0) -> 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[V]) -> Iterable[V]] | [_T](x: SupportsAbs[_T], /) -> _T | [K, V](value: Mapping[K, V] | Undefined) -> Iterator[tuple[K, V]] | [K, V](value: Mapping[K, V], case_sensitive: bool = False, by: Literal['key', 'value'] = 'key', reverse: bool = False) -> list[tuple[K, V]] | [V](environment: Environment, value: Iterable[V], reverse: bool = False, case_sensitive: bool = False, attribute: int | str | None = None) -> list[V] | [V](environment: Environment, value: Iterable[V], case_sensitive: bool = False, attribute: int | str | None = None) -> Undefined | V | [V](value: V, default_value: V = '', boolean: bool = False) -> V | [V](environment: Environment, seq: Reversible[V]) -> Undefined | V | [V](context: Context, seq: Sequence[V]) -> Undefined | V | [V](value: Iterable[V], linecount: int, fill_with: V | None = None) -> Iterator[list[V]]]`",
"severity": "error"
},
{
"line": 154,
"column": 12,
"stop_line": 154,
"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`\n The declared type does not allow `None`. Consider changing the declared type to `str | None`.",
"concise_description": "Returned type `None` is not assignable to declared return type `str`",
"severity": "error"
},
{
"line": 136,
"column": 12,
"stop_line": 136,
"stop_column": 49,
"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": 98,
"column": 22,
"stop_line": 98,
"stop_column": 35,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 99,
"column": 22,
"stop_line": 99,
"stop_column": 35,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 110,
"column": 22,
"stop_line": 110,
"stop_column": 35,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 111,
"column": 22,
"stop_line": 111,
"stop_column": 35,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 237,
"column": 26,
"stop_line": 237,
"stop_column": 39,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 238,
"column": 26,
"stop_line": 238,
"stop_column": 39,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 250,
"column": 26,
"stop_line": 250,
"stop_column": 39,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 251,
"column": 26,
"stop_line": 251,
"stop_column": 39,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 271,
"column": 26,
"stop_line": 271,
"stop_column": 39,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 272,
"column": 26,
"stop_line": 272,
"stop_column": 39,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 292,
"column": 26,
"stop_line": 292,
"stop_column": 39,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 293,
"column": 26,
"stop_line": 293,
"stop_column": 39,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 305,
"column": 26,
"stop_line": 305,
"stop_column": 39,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stdout` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 306,
"column": 26,
"stop_line": 306,
"stop_column": 39,
"path": "src/documents/tests/management/test_management_base_cmd.py",
"code": -2,
"name": "bad-assignment",
"description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"concise_description": "`StringIO` is not assignable to attribute `stderr` with type `OutputWrapper`",
"severity": "error"
},
{
"line": 197,
"column": 47,
"stop_line": 197,
"stop_column": 51,
"path": "src/documents/tests/search/test_backend.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `UserFactory` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.search_ids`",
"concise_description": "Argument `UserFactory` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.search_ids`",
"severity": "error"
},
{
"line": 199,
"column": 47,
"stop_line": 199,
"stop_column": 52,
"path": "src/documents/tests/search/test_backend.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `UserFactory` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.search_ids`",
"concise_description": "Argument `UserFactory` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.search_ids`",
"severity": "error"
},
{
"line": 205,
"column": 9,
"stop_line": 205,
"stop_column": 20,
"path": "src/documents/tests/search/test_backend.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `UserFactory` has no attribute `groups`",
"concise_description": "Object of class `UserFactory` has no attribute `groups`",
"severity": "error"
},
{
"line": 217,
"column": 47,
"stop_line": 217,
"stop_column": 51,
"path": "src/documents/tests/search/test_backend.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `UserFactory` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.search_ids`",
"concise_description": "Argument `UserFactory` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.search_ids`",
"severity": "error"
},
{
"line": 219,
"column": 47,
"stop_line": 219,
"stop_column": 52,
"path": "src/documents/tests/search/test_backend.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `UserFactory` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.search_ids`",
"concise_description": "Argument `UserFactory` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.search_ids`",
"severity": "error"
},
{
"line": 839,
"column": 9,
"stop_line": 839,
"stop_column": 28,
"path": "src/documents/tests/search/test_backend.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `UserFactory` has no attribute `groups`",
"concise_description": "Object of class `UserFactory` has no attribute `groups`",
"severity": "error"
},
{
"line": 852,
"column": 18,
"stop_line": 852,
"stop_column": 30,
"path": "src/documents/tests/search/test_backend.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `UserFactory` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.search_ids`",
"concise_description": "Argument `UserFactory` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.search_ids`",
"severity": "error"
},
{
"line": 841,
"column": 16,
"stop_line": 841,
"stop_column": 66,
"path": "src/documents/tests/search/test_query.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `SearchResult` has no attribute `count`",
"concise_description": "Object of class `SearchResult` has no attribute `count`",
"severity": "error"
},
{
"line": 852,
"column": 16,
"stop_line": 852,
"stop_column": 66,
"path": "src/documents/tests/search/test_query.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `SearchResult` has no attribute `count`",
"concise_description": "Object of class `SearchResult` has no attribute `count`",
"severity": "error"
},
{
"line": 863,
"column": 16,
"stop_line": 863,
"stop_column": 66,
"path": "src/documents/tests/search/test_query.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `SearchResult` has no attribute `count`",
"concise_description": "Object of class `SearchResult` has no attribute `count`",
"severity": "error"
},
{
"line": 874,
"column": 16,
"stop_line": 874,
"stop_column": 66,
"path": "src/documents/tests/search/test_query.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `SearchResult` has no attribute `count`",
"concise_description": "Object of class `SearchResult` has no attribute `count`",
"severity": "error"
},
{
"line": 886,
"column": 16,
"stop_line": 886,
"stop_column": 66,
"path": "src/documents/tests/search/test_query.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `SearchResult` has no attribute `count`",
"concise_description": "Object of class `SearchResult` has no attribute `count`",
"severity": "error"
},
{
"line": 71,
"column": 16,
"stop_line": 71,
"stop_column": 65,
"path": "src/documents/tests/search/test_tokenizer.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `SearchResult` has no attribute `count`",
"concise_description": "Object of class `SearchResult` has no attribute `count`",
"severity": "error"
},
{
"line": 82,
"column": 16,
"stop_line": 82,
"stop_column": 64,
"path": "src/documents/tests/search/test_tokenizer.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `SearchResult` has no attribute `count`",
"concise_description": "Object of class `SearchResult` has no attribute `count`",
"severity": "error"
},
{
"line": 100,
"column": 16,
"stop_line": 100,
"stop_column": 71,
"path": "src/documents/tests/search/test_tokenizer.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `SearchResult` has no attribute `count`",
"concise_description": "Object of class `SearchResult` has no attribute `count`",
"severity": "error"
},
{
"line": 119,
"column": 16,
"stop_line": 119,
"stop_column": 71,
"path": "src/documents/tests/search/test_tokenizer.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `SearchResult` has no attribute `count`",
"concise_description": "Object of class `SearchResult` has no attribute `count`",
"severity": "error"
},
{
"line": 45,
"column": 9,
"stop_line": 45,
"stop_column": 15,
"path": "src/documents/tests/search/test_translate.py",
"code": -2,
"name": "not-iterable",
"description": "Type `None` is not iterable",
"concise_description": "Type `None` is not iterable",
"severity": "error"
},
{
"line": 38,
"column": 12,
"stop_line": 38,
"stop_column": 60,
"path": "src/documents/tests/test_admin.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `AbstractBaseUser` is not assignable to declared return type `User`",
"concise_description": "Returned type `AbstractBaseUser` is not assignable to declared return type `User`",
"severity": "error"
},
{
"line": 68,
"column": 26,
"stop_line": 68,
"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": 131,
"column": 16,
"stop_line": 131,
"stop_column": 28,
"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": 141,
"column": 26,
"stop_line": 141,
"stop_column": 39,
"path": "src/documents/tests/test_admin.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": 144,
"column": 9,
"stop_line": 144,
"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": 159,
"column": 26,
"stop_line": 159,
"stop_column": 39,
"path": "src/documents/tests/test_admin.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": 162,
"column": 9,
"stop_line": 162,
"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": 206,
"column": 30,
"stop_line": 206,
"stop_column": 43,
"path": "src/documents/tests/test_api_app_config.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `path`",
"concise_description": "Object of class `NoneType` has no attribute `path`",
"severity": "error"
},
{
"line": 219,
"column": 31,
"stop_line": 219,
"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 `path`",
"concise_description": "Object of class `NoneType` has no attribute `path`",
"severity": "error"
},
{
"line": 232,
"column": 16,
"stop_line": 232,
"stop_column": 35,
"path": "src/documents/tests/test_api_app_config.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": 243,
"column": 50,
"stop_line": 243,
"stop_column": 58,
"path": "src/documents/tests/test_api_app_config.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 255,
"column": 10,
"stop_line": 255,
"stop_column": 29,
"path": "src/documents/tests/test_api_app_config.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": 25,
"stop_line": 292,
"stop_column": 45,
"path": "src/documents/tests/test_api_app_config.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `path`",
"concise_description": "Object of class `NoneType` has no attribute `path`",
"severity": "error"
},
{
"line": 328,
"column": 25,
"stop_line": 328,
"stop_column": 45,
"path": "src/documents/tests/test_api_app_config.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `path`",
"concise_description": "Object of class `NoneType` has no attribute `path`",
"severity": "error"
},
{
"line": 329,
"column": 27,
"stop_line": 329,
"stop_column": 43,
"path": "src/documents/tests/test_api_app_config.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `ImageFile` has no attribute `text`",
"concise_description": "Object of class `ImageFile` has no attribute `text`",
"severity": "error"
},
{
"line": 58,
"column": 20,
"stop_line": 58,
"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, *, ...) -> str | _StrPathT [closest match]\n (src: BytesPath, dst: _BytesPathT, *, ...) -> bytes | _BytesPathT\n `Path | None` is not assignable to upper bound `PathLike[str] | str` of type variable `_StrPathT`",
"concise_description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)",
"severity": "error"
},
{
"line": 72,
"column": 65,
"stop_line": 72,
"stop_column": 73,
"path": "src/documents/tests/test_api_bulk_download.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 93,
"column": 65,
"stop_line": 93,
"stop_column": 73,
"path": "src/documents/tests/test_api_bulk_download.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 114,
"column": 65,
"stop_line": 114,
"stop_column": 73,
"path": "src/documents/tests/test_api_bulk_download.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 148,
"column": 65,
"stop_line": 148,
"stop_column": 73,
"path": "src/documents/tests/test_api_bulk_download.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 208,
"column": 65,
"stop_line": 208,
"stop_column": 73,
"path": "src/documents/tests/test_api_bulk_download.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 254,
"column": 65,
"stop_line": 254,
"stop_column": 73,
"path": "src/documents/tests/test_api_bulk_download.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 303,
"column": 65,
"stop_line": 303,
"stop_column": 73,
"path": "src/documents/tests/test_api_bulk_download.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 279,
"column": 17,
"stop_line": 279,
"stop_column": 34,
"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": 531,
"column": 30,
"stop_line": 531,
"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": 572,
"column": 17,
"stop_line": 572,
"stop_column": 34,
"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": 591,
"column": 17,
"stop_line": 591,
"stop_column": 34,
"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": 641,
"column": 30,
"stop_line": 641,
"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": 658,
"column": 30,
"stop_line": 658,
"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": 659,
"column": 17,
"stop_line": 659,
"stop_column": 34,
"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": 702,
"column": 30,
"stop_line": 702,
"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": 742,
"column": 38,
"stop_line": 742,
"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": 794,
"column": 30,
"stop_line": 794,
"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": 865,
"column": 30,
"stop_line": 865,
"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": 900,
"column": 30,
"stop_line": 900,
"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": 941,
"column": 30,
"stop_line": 941,
"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": 978,
"column": 30,
"stop_line": 978,
"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": 1073,
"column": 17,
"stop_line": 1073,
"stop_column": 35,
"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": 17,
"stop_line": 1076,
"stop_column": 35,
"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": 1079,
"column": 17,
"stop_line": 1079,
"stop_column": 35,
"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": 1098,
"column": 17,
"stop_line": 1098,
"stop_column": 35,
"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": 1117,
"column": 17,
"stop_line": 1117,
"stop_column": 35,
"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": 1120,
"column": 18,
"stop_line": 1120,
"stop_column": 36,
"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": 1123,
"column": 18,
"stop_line": 1123,
"stop_column": 36,
"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": 1137,
"column": 18,
"stop_line": 1137,
"stop_column": 36,
"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": 1140,
"column": 18,
"stop_line": 1140,
"stop_column": 36,
"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": 1143,
"column": 18,
"stop_line": 1143,
"stop_column": 36,
"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": 1170,
"column": 18,
"stop_line": 1170,
"stop_column": 36,
"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": 1266,
"column": 13,
"stop_line": 1266,
"stop_column": 37,
"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": 464,
"column": 50,
"stop_line": 464,
"stop_column": 54,
"path": "src/documents/tests/test_api_document_versions.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 470,
"column": 50,
"stop_line": 470,
"stop_column": 54,
"path": "src/documents/tests/test_api_document_versions.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 476,
"column": 50,
"stop_line": 476,
"stop_column": 54,
"path": "src/documents/tests/test_api_document_versions.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 495,
"column": 50,
"stop_line": 495,
"stop_column": 54,
"path": "src/documents/tests/test_api_document_versions.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 510,
"column": 50,
"stop_line": 510,
"stop_column": 54,
"path": "src/documents/tests/test_api_document_versions.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 310,
"column": 44,
"stop_line": 310,
"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": 325,
"column": 31,
"stop_line": 325,
"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": 331,
"column": 50,
"stop_line": 331,
"stop_column": 58,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 335,
"column": 50,
"stop_line": 335,
"stop_column": 58,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 339,
"column": 50,
"stop_line": 339,
"stop_column": 58,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 352,
"column": 44,
"stop_line": 352,
"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": 374,
"column": 20,
"stop_line": 374,
"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": 415,
"column": 19,
"stop_line": 415,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 420,
"column": 50,
"stop_line": 420,
"stop_column": 58,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 426,
"column": 50,
"stop_line": 426,
"stop_column": 58,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 430,
"column": 50,
"stop_line": 430,
"stop_column": 58,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 436,
"column": 50,
"stop_line": 436,
"stop_column": 58,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 453,
"column": 19,
"stop_line": 453,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 524,
"column": 45,
"stop_line": 524,
"stop_column": 53,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 576,
"column": 44,
"stop_line": 576,
"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": 589,
"column": 15,
"stop_line": 589,
"stop_column": 38,
"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": 596,
"column": 50,
"stop_line": 596,
"stop_column": 58,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 600,
"column": 50,
"stop_line": 600,
"stop_column": 58,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 1931,
"column": 13,
"stop_line": 1931,
"stop_column": 20,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `bytes` is not assignable to parameter `data` with type `str` in function `rest_framework.test.APIClient.generic`",
"concise_description": "Argument `bytes` is not assignable to parameter `data` with type `str` in function `rest_framework.test.APIClient.generic`",
"severity": "error"
},
{
"line": 2195,
"column": 31,
"stop_line": 2195,
"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__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 2342,
"column": 9,
"stop_line": 2342,
"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": 2526,
"column": 20,
"stop_line": 2526,
"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, *, ...) -> str | _StrPathT [closest match]\n (src: BytesPath, dst: _BytesPathT, *, ...) -> bytes | _BytesPathT\n `Path | None` is not assignable to upper bound `PathLike[str] | str` of type variable `_StrPathT`",
"concise_description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)",
"severity": "error"
},
{
"line": 3042,
"column": 31,
"stop_line": 3042,
"stop_column": 52,
"path": "src/documents/tests/test_api_documents.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": 3062,
"column": 31,
"stop_line": 3062,
"stop_column": 52,
"path": "src/documents/tests/test_api_documents.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": 3081,
"column": 26,
"stop_line": 3081,
"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": 3094,
"column": 26,
"stop_line": 3094,
"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": 3102,
"column": 26,
"stop_line": 3102,
"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": 3103,
"column": 26,
"stop_line": 3103,
"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": 3111,
"column": 26,
"stop_line": 3111,
"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": 3470,
"column": 27,
"stop_line": 3470,
"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": 3471,
"column": 33,
"stop_line": 3471,
"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": 3472,
"column": 35,
"stop_line": 3472,
"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": 3473,
"column": 34,
"stop_line": 3473,
"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": 4211,
"column": 20,
"stop_line": 4211,
"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, *, ...) -> str | _StrPathT [closest match]\n (src: BytesPath, dst: _BytesPathT, *, ...) -> bytes | _BytesPathT\n `Path | None` is not assignable to upper bound `PathLike[str] | str` of type variable `_StrPathT`",
"concise_description": "No matching overload found for function `shutil.copy` called with arguments: (Path, Path | None)",
"severity": "error"
},
{
"line": 4551,
"column": 23,
"stop_line": 4551,
"stop_column": 50,
"path": "src/documents/tests/test_api_documents.py",
"code": -2,
"name": "bad-unpacking",
"description": "Expected argument after ** to have `str` keys, got: dict[str, list[dict[str, str]]] | list[bool] | list[date] | list[float] | list[int] | list[str] | str in function `django.db.models.manager.Manager.create`",
"concise_description": "Expected argument after ** to have `str` keys, got: dict[str, list[dict[str, str]]] | list[bool] | list[date] | list[float] | list[int] | list[str] | str in function `django.db.models.manager.Manager.create`",
"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, *, ...) -> str | _StrPathT [closest match]\n (src: BytesPath, dst: _BytesPathT, *, ...) -> bytes | _BytesPathT\n `Path | None` is not assignable to upper bound `PathLike[str] | str` of type variable `_StrPathT`",
"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": 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": 31,
"column": 16,
"stop_line": 31,
"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": 529,
"column": 16,
"stop_line": 529,
"stop_column": 39,
"path": "src/documents/tests/test_api_filter_by_custom_fields.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": 226,
"column": 26,
"stop_line": 226,
"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": 256,
"column": 26,
"stop_line": 256,
"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": 303,
"column": 55,
"stop_line": 303,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Tag | None` is not assignable to parameter `obj` with type `Model` in function `guardian.core.ObjectPermissionChecker.has_perm`",
"severity": "error"
},
{
"line": 304,
"column": 53,
"stop_line": 304,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Tag | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_perms`",
"severity": "error"
},
{
"line": 348,
"column": 26,
"stop_line": 348,
"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": 349,
"column": 53,
"stop_line": 349,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Tag | None` is not assignable to parameter `obj` with type `Model` in function `guardian.shortcuts.get_perms`",
"severity": "error"
},
{
"line": 68,
"column": 49,
"stop_line": 68,
"stop_column": 67,
"path": "src/documents/tests/test_api_post_document_nfc.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | None` is not assignable to parameter `unistr` with type `str` in function `unicodedata.is_normalized`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `unistr` with type `str` in function `unicodedata.is_normalized`",
"severity": "error"
},
{
"line": 95,
"column": 49,
"stop_line": 95,
"stop_column": 67,
"path": "src/documents/tests/test_api_post_document_nfc.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | None` is not assignable to parameter `unistr` with type `str` in function `unicodedata.is_normalized`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `unistr` with type `str` in function `unicodedata.is_normalized`",
"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": 84,
"column": 14,
"stop_line": 84,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 91,
"column": 14,
"stop_line": 91,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 97,
"column": 21,
"stop_line": 97,
"stop_column": 45,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 108,
"column": 14,
"stop_line": 108,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 120,
"column": 14,
"stop_line": 120,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 127,
"column": 14,
"stop_line": 127,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 133,
"column": 34,
"stop_line": 133,
"stop_column": 58,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 145,
"column": 17,
"stop_line": 145,
"stop_column": 41,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 156,
"column": 17,
"stop_line": 156,
"stop_column": 41,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 161,
"column": 26,
"stop_line": 161,
"stop_column": 50,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 191,
"column": 14,
"stop_line": 191,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 201,
"column": 14,
"stop_line": 201,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 218,
"column": 14,
"stop_line": 218,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 223,
"column": 20,
"stop_line": 223,
"stop_column": 44,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 252,
"column": 14,
"stop_line": 252,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 258,
"column": 14,
"stop_line": 258,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 263,
"column": 21,
"stop_line": 263,
"stop_column": 45,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 273,
"column": 51,
"stop_line": 273,
"stop_column": 70,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 276,
"column": 14,
"stop_line": 276,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 283,
"column": 14,
"stop_line": 283,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 291,
"column": 14,
"stop_line": 291,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 304,
"column": 14,
"stop_line": 304,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 309,
"column": 14,
"stop_line": 309,
"stop_column": 33,
"path": "src/documents/tests/test_api_schema.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `SchemaGenerator`\n Object of class `SchemaGenerator` has no attribute `__getitem__`",
"concise_description": "Cannot index into `SchemaGenerator`",
"severity": "error"
},
{
"line": 1782,
"column": 25,
"stop_line": 1782,
"stop_column": 58,
"path": "src/documents/tests/test_api_search.py",
"code": -2,
"name": "unsupported-operation",
"description": "`<` is not supported between `int` and `None`\n Argument `None` is not assignable to parameter `value` with type `int` in function `int.__lt__`",
"concise_description": "`<` is not supported between `int` and `None`",
"severity": "error"
},
{
"line": 1782,
"column": 25,
"stop_line": 1782,
"stop_column": 58,
"path": "src/documents/tests/test_api_search.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.__gt__`",
"concise_description": "`<` is not supported between `None` and `int`",
"severity": "error"
},
{
"line": 1782,
"column": 25,
"stop_line": 1782,
"stop_column": 58,
"path": "src/documents/tests/test_api_search.py",
"code": -2,
"name": "unsupported-operation",
"description": "`<` is not supported between `None` and `None`\n Cannot find `__lt__` or `__gt__`",
"concise_description": "`<` is not supported between `None` and `None`",
"severity": "error"
},
{
"line": 1782,
"column": 28,
"stop_line": 1782,
"stop_column": 40,
"path": "src/documents/tests/test_api_search.py",
"code": -2,
"name": "bad-specialization",
"description": "`int | None` is not assignable to upper bound `SupportsDunderGT[Any] | SupportsDunderLT[Any]` of type variable `SupportsRichComparisonT`",
"concise_description": "`int | None` is not assignable to upper bound `SupportsDunderGT[Any] | SupportsDunderLT[Any]` of type variable `SupportsRichComparisonT`",
"severity": "error"
},
{
"line": 1782,
"column": 46,
"stop_line": 1782,
"stop_column": 58,
"path": "src/documents/tests/test_api_search.py",
"code": -2,
"name": "bad-specialization",
"description": "`int | None` is not assignable to upper bound `SupportsDunderGT[Any] | SupportsDunderLT[Any]` of type variable `SupportsRichComparisonT`",
"concise_description": "`int | None` is not assignable to upper bound `SupportsDunderGT[Any] | SupportsDunderLT[Any]` of type variable `SupportsRichComparisonT`",
"severity": "error"
},
{
"line": 87,
"column": 23,
"stop_line": 87,
"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": 691,
"column": 13,
"stop_line": 691,
"stop_column": 40,
"path": "src/documents/tests/test_api_workflows.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `ai_suggestion_fields`",
"concise_description": "Object of class `NoneType` has no attribute `ai_suggestion_fields`",
"severity": "error"
},
{
"line": 694,
"column": 25,
"stop_line": 694,
"stop_column": 49,
"path": "src/documents/tests/test_api_workflows.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `ai_create_missing`",
"concise_description": "Object of class `NoneType` has no attribute `ai_create_missing`",
"severity": "error"
},
{
"line": 695,
"column": 25,
"stop_line": 695,
"stop_column": 53,
"path": "src/documents/tests/test_api_workflows.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `ai_overwrite_existing`",
"concise_description": "Object of class `NoneType` has no attribute `ai_overwrite_existing`",
"severity": "error"
},
{
"line": 34,
"column": 13,
"stop_line": 34,
"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": 35,
"column": 13,
"stop_line": 35,
"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": 622,
"column": 21,
"stop_line": 622,
"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": 658,
"column": 5,
"stop_line": 658,
"stop_column": 20,
"path": "src/documents/tests/test_barcodes.py",
"code": -2,
"name": "no-matching-overload",
"description": "No matching overload found for function `contextlib.contextmanager` called with arguments: ((self: Self@TestAsnBarcode, filepath: Path) -> BarcodePlugin)\n Possible overloads:\n (func: (ParamSpec(_P)) -> Generator[_T_co, None, object]) -> (ParamSpec(_P)) -> _GeneratorContextManager[_T_co] [closest match]\n (func: (ParamSpec(_P)) -> Iterator[_T_co]) -> (ParamSpec(_P)) -> _GeneratorContextManager[_T_co]\n Argument `(self: Self@TestAsnBarcode, filepath: Path) -> BarcodePlugin` is not assignable to parameter `func` with type `(self: Self@TestAsnBarcode, filepath: Path) -> Generator[@_, None, object]` in function `contextlib.contextmanager`",
"concise_description": "No matching overload found for function `contextlib.contextmanager` called with arguments: ((self: Self@TestAsnBarcode, filepath: Path) -> BarcodePlugin)",
"severity": "error"
},
{
"line": 659,
"column": 45,
"stop_line": 659,
"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": 663,
"column": 13,
"stop_line": 663,
"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": 664,
"column": 13,
"stop_line": 664,
"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": 817,
"column": 5,
"stop_line": 817,
"stop_column": 20,
"path": "src/documents/tests/test_barcodes.py",
"code": -2,
"name": "no-matching-overload",
"description": "No matching overload found for function `contextlib.contextmanager` called with arguments: ((self: Self@TestTagBarcode, filepath: Path) -> BarcodePlugin)\n Possible overloads:\n (func: (ParamSpec(_P)) -> Generator[_T_co, None, object]) -> (ParamSpec(_P)) -> _GeneratorContextManager[_T_co] [closest match]\n (func: (ParamSpec(_P)) -> Iterator[_T_co]) -> (ParamSpec(_P)) -> _GeneratorContextManager[_T_co]\n Argument `(self: Self@TestTagBarcode, filepath: Path) -> BarcodePlugin` is not assignable to parameter `func` with type `(self: Self@TestTagBarcode, filepath: Path) -> Generator[@_, None, object]` in function `contextlib.contextmanager`",
"concise_description": "No matching overload found for function `contextlib.contextmanager` called with arguments: ((self: Self@TestTagBarcode, filepath: Path) -> BarcodePlugin)",
"severity": "error"
},
{
"line": 818,
"column": 45,
"stop_line": 818,
"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": 822,
"column": 13,
"stop_line": 822,
"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": 823,
"column": 13,
"stop_line": 823,
"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": 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": 323,
"column": 17,
"stop_line": 323,
"stop_column": 40,
"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": 17,
"stop_line": 340,
"stop_column": 40,
"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": 343,
"column": 17,
"stop_line": 343,
"stop_column": 40,
"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": 367,
"column": 17,
"stop_line": 367,
"stop_column": 40,
"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": 370,
"column": 17,
"stop_line": 370,
"stop_column": 40,
"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": 461,
"column": 48,
"stop_line": 461,
"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": 467,
"column": 26,
"stop_line": 467,
"stop_column": 49,
"path": "src/documents/tests/test_bulk_edit.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of type `Group | dict[Unknown, Unknown]` has no attribute `count`\n Object of class `Group` has no attribute `count`\n Object of class `dict` has no attribute `count`",
"concise_description": "Object of type `Group | dict[Unknown, Unknown]` has no attribute `count`",
"severity": "error"
},
{
"line": 505,
"column": 48,
"stop_line": 505,
"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": 511,
"column": 26,
"stop_line": 511,
"stop_column": 49,
"path": "src/documents/tests/test_bulk_edit.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of type `Group | dict[Unknown, Unknown]` has no attribute `count`\n Object of class `Group` has no attribute `count`\n Object of class `dict` has no attribute `count`",
"concise_description": "Object of type `Group | dict[Unknown, Unknown]` has no attribute `count`",
"severity": "error"
},
{
"line": 526,
"column": 19,
"stop_line": 526,
"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": 535,
"column": 27,
"stop_line": 535,
"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": 544,
"column": 19,
"stop_line": 544,
"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": 553,
"column": 27,
"stop_line": 553,
"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": 562,
"column": 19,
"stop_line": 562,
"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": 595,
"column": 19,
"stop_line": 595,
"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": 600,
"column": 27,
"stop_line": 600,
"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": 681,
"column": 24,
"stop_line": 681,
"stop_column": 45,
"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": 917,
"column": 24,
"stop_line": 917,
"stop_column": 45,
"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": 1476,
"column": 20,
"stop_line": 1476,
"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": 1556,
"column": 23,
"stop_line": 1556,
"stop_column": 44,
"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": 1558,
"column": 20,
"stop_line": 1558,
"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": 1636,
"column": 20,
"stop_line": 1636,
"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": 1739,
"column": 20,
"stop_line": 1739,
"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": 208,
"column": 18,
"stop_line": 208,
"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": 212,
"column": 18,
"stop_line": 212,
"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": 232,
"column": 23,
"stop_line": 232,
"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": 484,
"column": 40,
"stop_line": 484,
"stop_column": 66,
"path": "src/documents/tests/test_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": 504,
"column": 17,
"stop_line": 504,
"stop_column": 25,
"path": "src/documents/tests/test_classifier.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": 104,
"column": 16,
"stop_line": 104,
"stop_column": 27,
"path": "src/documents/tests/test_consumer.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `Path | None` is not assignable to declared return type `Path`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check or changing the declared type to `Path | None`.",
"concise_description": "Returned type `Path | None` is not assignable to declared return type `Path`",
"severity": "error"
},
{
"line": 209,
"column": 15,
"stop_line": 209,
"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": 221,
"column": 15,
"stop_line": 221,
"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": 229,
"column": 15,
"stop_line": 229,
"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": 267,
"column": 27,
"stop_line": 267,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 291,
"column": 28,
"stop_line": 291,
"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": 358,
"column": 26,
"stop_line": 358,
"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": 373,
"column": 26,
"stop_line": 373,
"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": 388,
"column": 26,
"stop_line": 388,
"stop_column": 50,
"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": 433,
"column": 56,
"stop_line": 433,
"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`",
"concise_description": "Object of class `Document` has no attribute `custom_fields`",
"severity": "error"
},
{
"line": 438,
"column": 26,
"stop_line": 438,
"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`",
"concise_description": "Object of class `Document` has no attribute `custom_fields`",
"severity": "error"
},
{
"line": 440,
"column": 13,
"stop_line": 440,
"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`",
"concise_description": "Object of class `Document` has no attribute `custom_fields`",
"severity": "error"
},
{
"line": 689,
"column": 34,
"stop_line": 689,
"stop_column": 51,
"path": "src/documents/tests/test_consumer.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Any | None` is not assignable to parameter `obj` with type `Sized` in function `len`\n Protocol `Sized` requires attribute `__len__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Any | None` is not assignable to parameter `obj` with type `Sized` in function `len`",
"severity": "error"
},
{
"line": 691,
"column": 17,
"stop_line": 691,
"stop_column": 42,
"path": "src/documents/tests/test_consumer.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Any | None` is not assignable to parameter `obj` with type `Sized` in function `len`\n Protocol `Sized` requires attribute `__len__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Any | None` is not assignable to parameter `obj` with type `Sized` in function `len`",
"severity": "error"
},
{
"line": 695,
"column": 27,
"stop_line": 695,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 728,
"column": 27,
"stop_line": 728,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 793,
"column": 13,
"stop_line": 793,
"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": 803,
"column": 13,
"stop_line": 803,
"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": 857,
"column": 13,
"stop_line": 857,
"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": 867,
"column": 13,
"stop_line": 867,
"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": 910,
"column": 17,
"stop_line": 910,
"stop_column": 38,
"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": 920,
"column": 17,
"stop_line": 920,
"stop_column": 38,
"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": 1092,
"column": 26,
"stop_line": 1092,
"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": 1093,
"column": 26,
"stop_line": 1093,
"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": 1095,
"column": 26,
"stop_line": 1095,
"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": 1096,
"column": 26,
"stop_line": 1096,
"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": 1098,
"column": 26,
"stop_line": 1098,
"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": 1099,
"column": 26,
"stop_line": 1099,
"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": 1164,
"column": 15,
"stop_line": 1164,
"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": 1226,
"column": 15,
"stop_line": 1226,
"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": 1257,
"column": 15,
"stop_line": 1257,
"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": 1288,
"column": 15,
"stop_line": 1288,
"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": 1321,
"column": 15,
"stop_line": 1321,
"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": 1346,
"column": 26,
"stop_line": 1346,
"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": 1471,
"column": 26,
"stop_line": 1471,
"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": 1612,
"column": 15,
"stop_line": 1612,
"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": 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": 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": 267,
"column": 38,
"stop_line": 267,
"stop_column": 54,
"path": "src/documents/tests/test_file_handling.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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 268,
"column": 9,
"stop_line": 268,
"stop_column": 37,
"path": "src/documents/tests/test_file_handling.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `write_bytes`",
"concise_description": "Object of class `NoneType` has no attribute `write_bytes`",
"severity": "error"
},
{
"line": 285,
"column": 27,
"stop_line": 285,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 683,
"column": 18,
"stop_line": 683,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 766,
"column": 27,
"stop_line": 766,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | 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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 813,
"column": 30,
"stop_line": 813,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`",
"severity": "error"
},
{
"line": 836,
"column": 27,
"stop_line": 836,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 860,
"column": 27,
"stop_line": 860,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 882,
"column": 27,
"stop_line": 882,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 913,
"column": 27,
"stop_line": 913,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 933,
"column": 27,
"stop_line": 933,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 964,
"column": 27,
"stop_line": 964,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 984,
"column": 27,
"stop_line": 984,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 992,
"column": 30,
"stop_line": 992,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`",
"severity": "error"
},
{
"line": 1019,
"column": 27,
"stop_line": 1019,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 1026,
"column": 27,
"stop_line": 1026,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 1052,
"column": 27,
"stop_line": 1052,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 2053,
"column": 31,
"stop_line": 2053,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 2076,
"column": 31,
"stop_line": 2076,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 2092,
"column": 31,
"stop_line": 2092,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 45,
"column": 39,
"stop_line": 45,
"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": 51,
"column": 39,
"stop_line": 51,
"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": 59,
"column": 27,
"stop_line": 59,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 95,
"column": 39,
"stop_line": 95,
"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": 96,
"column": 39,
"stop_line": 96,
"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": 219,
"column": 14,
"stop_line": 219,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 229,
"column": 30,
"stop_line": 229,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsNotFile`",
"severity": "error"
},
{
"line": 231,
"column": 27,
"stop_line": 231,
"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[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `PathLike[str] | str` in function `documents.tests.utils.FileSystemAssertsMixin.assertIsFile`",
"severity": "error"
},
{
"line": 190,
"column": 22,
"stop_line": 190,
"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": 198,
"column": 28,
"stop_line": 198,
"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": 201,
"column": 18,
"stop_line": 201,
"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": 305,
"column": 28,
"stop_line": 305,
"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": 308,
"column": 18,
"stop_line": 308,
"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": 317,
"column": 28,
"stop_line": 317,
"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": 320,
"column": 18,
"stop_line": 320,
"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": 419,
"column": 28,
"stop_line": 419,
"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": 422,
"column": 18,
"stop_line": 422,
"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": 458,
"column": 28,
"stop_line": 458,
"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": 461,
"column": 18,
"stop_line": 461,
"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": 488,
"column": 28,
"stop_line": 488,
"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": 491,
"column": 18,
"stop_line": 491,
"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": 523,
"column": 28,
"stop_line": 523,
"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": 526,
"column": 18,
"stop_line": 526,
"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": 568,
"column": 28,
"stop_line": 568,
"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": 571,
"column": 18,
"stop_line": 571,
"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": 576,
"column": 22,
"stop_line": 576,
"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": 600,
"column": 28,
"stop_line": 600,
"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": 603,
"column": 18,
"stop_line": 603,
"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": 611,
"column": 26,
"stop_line": 611,
"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": 639,
"column": 28,
"stop_line": 639,
"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": 642,
"column": 18,
"stop_line": 642,
"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": 656,
"column": 22,
"stop_line": 656,
"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": 737,
"column": 28,
"stop_line": 737,
"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": 740,
"column": 18,
"stop_line": 740,
"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": 783,
"column": 28,
"stop_line": 783,
"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": 786,
"column": 18,
"stop_line": 786,
"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": 831,
"column": 28,
"stop_line": 831,
"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": 834,
"column": 18,
"stop_line": 834,
"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": 867,
"column": 28,
"stop_line": 867,
"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": 870,
"column": 18,
"stop_line": 870,
"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": 897,
"column": 28,
"stop_line": 897,
"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": 900,
"column": 18,
"stop_line": 900,
"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": 927,
"column": 28,
"stop_line": 927,
"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": 930,
"column": 18,
"stop_line": 930,
"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": 967,
"column": 28,
"stop_line": 967,
"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": 970,
"column": 18,
"stop_line": 970,
"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": 990,
"column": 28,
"stop_line": 990,
"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": 993,
"column": 18,
"stop_line": 993,
"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": 1002,
"column": 13,
"stop_line": 1002,
"stop_column": 54,
"path": "src/documents/tests/test_management_exporter.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": 1037,
"column": 23,
"stop_line": 1037,
"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": 1040,
"column": 13,
"stop_line": 1040,
"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": 1050,
"column": 23,
"stop_line": 1050,
"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": 44,
"column": 21,
"stop_line": 44,
"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": 63,
"column": 25,
"stop_line": 63,
"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": 71,
"column": 21,
"stop_line": 71,
"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": 90,
"column": 25,
"stop_line": 90,
"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": 101,
"column": 21,
"stop_line": 101,
"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": 218,
"column": 10,
"stop_line": 218,
"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": 220,
"column": 10,
"stop_line": 220,
"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": 228,
"column": 21,
"stop_line": 228,
"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": 257,
"column": 21,
"stop_line": 257,
"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": 21,
"stop_line": 294,
"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": 315,
"column": 10,
"stop_line": 315,
"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": 322,
"column": 21,
"stop_line": 322,
"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": 342,
"column": 10,
"stop_line": 342,
"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": 343,
"column": 10,
"stop_line": 343,
"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": 352,
"column": 21,
"stop_line": 352,
"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": 373,
"column": 20,
"stop_line": 373,
"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": 411,
"column": 25,
"stop_line": 411,
"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": 420,
"column": 21,
"stop_line": 420,
"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": 462,
"column": 25,
"stop_line": 462,
"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": 469,
"column": 17,
"stop_line": 469,
"stop_column": 38,
"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": 475,
"column": 26,
"stop_line": 475,
"stop_column": 47,
"path": "src/documents/tests/test_management_importer.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": 511,
"column": 25,
"stop_line": 511,
"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": 520,
"column": 17,
"stop_line": 520,
"stop_column": 38,
"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": 526,
"column": 26,
"stop_line": 526,
"stop_column": 47,
"path": "src/documents/tests/test_management_importer.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": 540,
"column": 24,
"stop_line": 540,
"stop_column": 45,
"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": 570,
"column": 24,
"stop_line": 570,
"stop_column": 45,
"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": 621,
"column": 16,
"stop_line": 621,
"stop_column": 29,
"path": "src/documents/tests/test_management_importer.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `Model` has no attribute `name`",
"concise_description": "Object of class `Model` has no attribute `name`",
"severity": "error"
},
{
"line": 647,
"column": 16,
"stop_line": 647,
"stop_column": 41,
"path": "src/documents/tests/test_management_importer.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `Model` has no attribute `correspondent_id`",
"concise_description": "Object of class `Model` has no attribute `correspondent_id`",
"severity": "error"
},
{
"line": 695,
"column": 16,
"stop_line": 695,
"stop_column": 41,
"path": "src/documents/tests/test_management_importer.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `Model` has no attribute `correspondent_id`",
"concise_description": "Object of class `Model` has no attribute `correspondent_id`",
"severity": "error"
},
{
"line": 312,
"column": 26,
"stop_line": 312,
"stop_column": 62,
"path": "src/documents/tests/test_merge_documents_as_versions.py",
"code": -2,
"name": "unsupported-operation",
"description": "`None` is not subscriptable",
"concise_description": "`None` is not subscriptable",
"severity": "error"
},
{
"line": 89,
"column": 9,
"stop_line": 89,
"stop_column": 34,
"path": "src/documents/tests/test_migration_sha256_checksums.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `TestMigrations` has no attribute `_fixture_teardown`",
"concise_description": "Object of class `TestMigrations` has no attribute `_fixture_teardown`",
"severity": "error"
},
{
"line": 19,
"column": 16,
"stop_line": 19,
"stop_column": 54,
"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": 24,
"column": 16,
"stop_line": 24,
"stop_column": 54,
"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": 53,
"column": 13,
"stop_line": 53,
"stop_column": 69,
"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": 76,
"column": 13,
"stop_line": 76,
"stop_column": 69,
"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": 110,
"column": 13,
"stop_line": 110,
"stop_column": 69,
"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": 145,
"column": 36,
"stop_line": 145,
"stop_column": 51,
"path": "src/documents/tests/test_permission_filtering_security.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AnonymousUser` is not assignable to parameter `user` with type `User | None` in function `documents.permissions.permitted_document_ids`",
"concise_description": "Argument `AnonymousUser` is not assignable to parameter `user` with type `User | None` in function `documents.permissions.permitted_document_ids`",
"severity": "error"
},
{
"line": 607,
"column": 46,
"stop_line": 607,
"stop_column": 50,
"path": "src/documents/tests/test_permission_filtering_security.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_tags`",
"concise_description": "Argument `None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_tags`",
"severity": "error"
},
{
"line": 628,
"column": 56,
"stop_line": 628,
"stop_column": 60,
"path": "src/documents/tests/test_permission_filtering_security.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_correspondents`",
"concise_description": "Argument `None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_correspondents`",
"severity": "error"
},
{
"line": 649,
"column": 56,
"stop_line": 649,
"stop_column": 60,
"path": "src/documents/tests/test_permission_filtering_security.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_document_types`",
"concise_description": "Argument `None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_document_types`",
"severity": "error"
},
{
"line": 670,
"column": 55,
"stop_line": 670,
"stop_column": 59,
"path": "src/documents/tests/test_permission_filtering_security.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_storage_paths`",
"concise_description": "Argument `None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_storage_paths`",
"severity": "error"
},
{
"line": 153,
"column": 14,
"stop_line": 153,
"stop_column": 37,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 172,
"column": 24,
"stop_line": 172,
"stop_column": 47,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 185,
"column": 14,
"stop_line": 185,
"stop_column": 37,
"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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 141,
"column": 28,
"stop_line": 141,
"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": 488,
"column": 32,
"stop_line": 488,
"stop_column": 51,
"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": 140,
"column": 23,
"stop_line": 140,
"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": 153,
"column": 23,
"stop_line": 153,
"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": 337,
"column": 16,
"stop_line": 337,
"stop_column": 46,
"path": "src/documents/tests/test_task_signals.py",
"code": -2,
"name": "unsupported-operation",
"description": "`None` is not subscriptable",
"concise_description": "`None` is not subscriptable",
"severity": "error"
},
{
"line": 338,
"column": 16,
"stop_line": 338,
"stop_column": 49,
"path": "src/documents/tests/test_task_signals.py",
"code": -2,
"name": "unsupported-operation",
"description": "`None` is not subscriptable",
"concise_description": "`None` is not subscriptable",
"severity": "error"
},
{
"line": 361,
"column": 16,
"stop_line": 361,
"stop_column": 47,
"path": "src/documents/tests/test_task_signals.py",
"code": -2,
"name": "not-iterable",
"description": "`in` is not supported between `Literal['traceback']` and `None`",
"concise_description": "`in` is not supported between `Literal['traceback']` and `None`",
"severity": "error"
},
{
"line": 362,
"column": 20,
"stop_line": 362,
"stop_column": 49,
"path": "src/documents/tests/test_task_signals.py",
"code": -2,
"name": "unsupported-operation",
"description": "`None` is not subscriptable",
"concise_description": "`None` is not subscriptable",
"severity": "error"
},
{
"line": 229,
"column": 19,
"stop_line": 229,
"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": 238,
"column": 27,
"stop_line": 238,
"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": 270,
"column": 19,
"stop_line": 270,
"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": 51,
"column": 26,
"stop_line": 51,
"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": 76,
"column": 17,
"stop_line": 76,
"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": 80,
"column": 17,
"stop_line": 80,
"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": 84,
"column": 17,
"stop_line": 84,
"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": 88,
"column": 17,
"stop_line": 88,
"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": 103,
"column": 9,
"stop_line": 103,
"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": 104,
"column": 9,
"stop_line": 104,
"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": 109,
"column": 26,
"stop_line": 109,
"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": 126,
"column": 44,
"stop_line": 126,
"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": 161,
"column": 50,
"stop_line": 161,
"stop_column": 58,
"path": "src/documents/tests/test_views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedWSGIResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedWSGIResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 165,
"column": 9,
"stop_line": 165,
"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": 174,
"column": 9,
"stop_line": 174,
"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": 188,
"column": 44,
"stop_line": 188,
"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": 219,
"column": 50,
"stop_line": 219,
"stop_column": 58,
"path": "src/documents/tests/test_views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `_MonkeyPatchedWSGIResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"concise_description": "Argument `_MonkeyPatchedWSGIResponse` is not assignable to parameter `response` with type `StreamingHttpResponse` in function `documents.tests.utils.read_streaming_response`",
"severity": "error"
},
{
"line": 530,
"column": 13,
"stop_line": 533,
"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": 569,
"column": 13,
"stop_line": 572,
"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": 888,
"column": 13,
"stop_line": 891,
"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": 143,
"column": 30,
"stop_line": 143,
"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": 179,
"column": 13,
"stop_line": 179,
"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": 210,
"column": 25,
"stop_line": 212,
"stop_column": 26,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`\n Protocol `Iterable` requires attribute `__iter__`",
"concise_description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`",
"severity": "error"
},
{
"line": 227,
"column": 25,
"stop_line": 229,
"stop_column": 26,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`\n Protocol `Iterable` requires attribute `__iter__`",
"concise_description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`",
"severity": "error"
},
{
"line": 238,
"column": 26,
"stop_line": 238,
"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`",
"concise_description": "Object of class `Document` has no attribute `custom_fields`",
"severity": "error"
},
{
"line": 242,
"column": 21,
"stop_line": 242,
"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": 291,
"column": 13,
"stop_line": 291,
"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": 322,
"column": 25,
"stop_line": 324,
"stop_column": 26,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`\n Protocol `Iterable` requires attribute `__iter__`",
"concise_description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`",
"severity": "error"
},
{
"line": 339,
"column": 25,
"stop_line": 341,
"stop_column": 26,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`\n Protocol `Iterable` requires attribute `__iter__`",
"concise_description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`",
"severity": "error"
},
{
"line": 366,
"column": 30,
"stop_line": 366,
"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": 410,
"column": 13,
"stop_line": 410,
"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": 462,
"column": 29,
"stop_line": 462,
"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": 479,
"column": 13,
"stop_line": 479,
"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": 532,
"column": 13,
"stop_line": 532,
"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": 555,
"column": 28,
"stop_line": 555,
"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": 558,
"column": 46,
"stop_line": 558,
"stop_column": 77,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 564,
"column": 28,
"stop_line": 564,
"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": 567,
"column": 46,
"stop_line": 567,
"stop_column": 77,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 573,
"column": 45,
"stop_line": 573,
"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": 609,
"column": 13,
"stop_line": 609,
"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": 632,
"column": 28,
"stop_line": 632,
"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": 635,
"column": 46,
"stop_line": 635,
"stop_column": 77,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 641,
"column": 28,
"stop_line": 641,
"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": 644,
"column": 46,
"stop_line": 644,
"stop_column": 77,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 688,
"column": 13,
"stop_line": 688,
"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": 712,
"column": 28,
"stop_line": 712,
"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": 715,
"column": 46,
"stop_line": 715,
"stop_column": 77,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 721,
"column": 28,
"stop_line": 721,
"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": 724,
"column": 46,
"stop_line": 724,
"stop_column": 77,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 766,
"column": 13,
"stop_line": 766,
"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": 789,
"column": 28,
"stop_line": 789,
"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": 792,
"column": 46,
"stop_line": 792,
"stop_column": 77,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 798,
"column": 28,
"stop_line": 798,
"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": 801,
"column": 46,
"stop_line": 801,
"stop_column": 77,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 877,
"column": 13,
"stop_line": 877,
"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": 892,
"column": 26,
"stop_line": 892,
"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`",
"concise_description": "Object of class `Document` has no attribute `custom_fields`",
"severity": "error"
},
{
"line": 953,
"column": 31,
"stop_line": 953,
"stop_column": 43,
"path": "src/documents/tests/test_workflows.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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Any | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 1425,
"column": 40,
"stop_line": 1425,
"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 | Iterable[Any]` in function `unittest.case.TestCase.assertIn`\n Protocol `Container` requires attribute `__contains__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `container` with type `Container | Iterable[Any]` in function `unittest.case.TestCase.assertIn`",
"severity": "error"
},
{
"line": 1441,
"column": 35,
"stop_line": 1441,
"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 | Iterable[Any]` in function `unittest.case.TestCase.assertIn`\n Protocol `Container` requires attribute `__contains__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `container` with type `Container | Iterable[Any]` in function `unittest.case.TestCase.assertIn`",
"severity": "error"
},
{
"line": 1460,
"column": 39,
"stop_line": 1460,
"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 | Iterable[Any]` in function `unittest.case.TestCase.assertIn`\n Protocol `Container` requires attribute `__contains__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `container` with type `Container | Iterable[Any]` in function `unittest.case.TestCase.assertIn`",
"severity": "error"
},
{
"line": 1964,
"column": 26,
"stop_line": 1964,
"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": 1989,
"column": 13,
"stop_line": 1989,
"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": 2053,
"column": 26,
"stop_line": 2053,
"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": 2097,
"column": 26,
"stop_line": 2097,
"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": 2146,
"column": 43,
"stop_line": 2149,
"stop_column": 10,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`list[str] | Any` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`list[str] | Any` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 2150,
"column": 45,
"stop_line": 2153,
"stop_column": 10,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`list[str] | Any` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`list[str] | Any` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 2161,
"column": 38,
"stop_line": 2161,
"stop_column": 64,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 2924,
"column": 26,
"stop_line": 2924,
"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": 2927,
"column": 38,
"stop_line": 2927,
"stop_column": 64,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 3121,
"column": 26,
"stop_line": 3121,
"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": 3124,
"column": 38,
"stop_line": 3124,
"stop_column": 64,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 3188,
"column": 13,
"stop_line": 3188,
"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": 3223,
"column": 25,
"stop_line": 3225,
"stop_column": 26,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`\n Protocol `Iterable` requires attribute `__iter__`",
"concise_description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`",
"severity": "error"
},
{
"line": 3240,
"column": 25,
"stop_line": 3242,
"stop_column": 26,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`\n Protocol `Iterable` requires attribute `__iter__`",
"concise_description": "Argument `Group | dict[Unknown, Unknown]` is not assignable to parameter `iterable` with type `Iterable[@_]` in function `list.__init__`",
"severity": "error"
},
{
"line": 3251,
"column": 26,
"stop_line": 3251,
"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`",
"concise_description": "Object of class `Document` has no attribute `custom_fields`",
"severity": "error"
},
{
"line": 3312,
"column": 13,
"stop_line": 3312,
"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": 3336,
"column": 28,
"stop_line": 3336,
"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": 3339,
"column": 46,
"stop_line": 3339,
"stop_column": 77,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 3345,
"column": 28,
"stop_line": 3345,
"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": 3348,
"column": 46,
"stop_line": 3348,
"stop_column": 77,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-assignment",
"description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"concise_description": "`Group | dict[Unknown, Unknown]` is not assignable to `QuerySet[Any, Any]`",
"severity": "error"
},
{
"line": 3351,
"column": 21,
"stop_line": 3351,
"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": 3463,
"column": 13,
"stop_line": 3463,
"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": 3475,
"column": 27,
"stop_line": 3475,
"stop_column": 44,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | Unknown` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`",
"concise_description": "Argument `str | Unknown` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`",
"severity": "error"
},
{
"line": 3563,
"column": 13,
"stop_line": 3563,
"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": 3601,
"column": 13,
"stop_line": 3601,
"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": 3821,
"column": 13,
"stop_line": 3821,
"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": 3943,
"column": 13,
"stop_line": 3943,
"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": 4192,
"column": 23,
"stop_line": 4192,
"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": 4210,
"column": 23,
"stop_line": 4210,
"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": 4235,
"column": 27,
"stop_line": 4235,
"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": 4283,
"column": 13,
"stop_line": 4283,
"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": 4332,
"column": 23,
"stop_line": 4332,
"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": 4383,
"column": 23,
"stop_line": 4383,
"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": 4415,
"column": 23,
"stop_line": 4415,
"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": 4530,
"column": 23,
"stop_line": 4530,
"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": 4678,
"column": 13,
"stop_line": 4678,
"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": 4870,
"column": 13,
"stop_line": 4870,
"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": 4934,
"column": 13,
"stop_line": 4934,
"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": 4983,
"column": 19,
"stop_line": 4983,
"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": 4986,
"column": 16,
"stop_line": 4986,
"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": 4996,
"column": 19,
"stop_line": 4996,
"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": 4999,
"column": 16,
"stop_line": 4999,
"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": 5036,
"column": 23,
"stop_line": 5036,
"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": 5045,
"column": 23,
"stop_line": 5045,
"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": 5064,
"column": 23,
"stop_line": 5064,
"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": 5091,
"column": 23,
"stop_line": 5091,
"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": 5115,
"column": 19,
"stop_line": 5115,
"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": 5120,
"column": 16,
"stop_line": 5120,
"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": 5121,
"column": 16,
"stop_line": 5121,
"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": 5145,
"column": 23,
"stop_line": 5145,
"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": 5171,
"column": 19,
"stop_line": 5171,
"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": 5176,
"column": 16,
"stop_line": 5176,
"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": 5177,
"column": 35,
"stop_line": 5177,
"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": 5442,
"column": 13,
"stop_line": 5442,
"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": 5450,
"column": 31,
"stop_line": 5450,
"stop_column": 40,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | Unknown` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`",
"concise_description": "Argument `str | Unknown` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`",
"severity": "error"
},
{
"line": 5605,
"column": 26,
"stop_line": 5605,
"stop_column": 53,
"path": "src/documents/tests/test_workflows.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": 5660,
"column": 13,
"stop_line": 5660,
"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": 5671,
"column": 35,
"stop_line": 5671,
"stop_column": 44,
"path": "src/documents/tests/test_workflows.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | Unknown` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`",
"concise_description": "Argument `str | Unknown` is not assignable to parameter `original_file` with type `Path` in function `documents.data_models.ConsumableDocument.__init__`",
"severity": "error"
},
{
"line": 5900,
"column": 26,
"stop_line": 5900,
"stop_column": 53,
"path": "src/documents/tests/test_workflows.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": 5901,
"column": 26,
"stop_line": 5901,
"stop_column": 54,
"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": 5902,
"column": 26,
"stop_line": 5902,
"stop_column": 53,
"path": "src/documents/tests/test_workflows.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": 5903,
"column": 26,
"stop_line": 5903,
"stop_column": 54,
"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": 5931,
"column": 26,
"stop_line": 5931,
"stop_column": 53,
"path": "src/documents/tests/test_workflows.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": 42,
"column": 22,
"stop_line": 42,
"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": 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": 26,
"stop_line": 44,
"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": 45,
"column": 24,
"stop_line": 45,
"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": 46,
"column": 24,
"stop_line": 46,
"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": 48,
"column": 5,
"stop_line": 48,
"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": 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 `originals_dir`",
"concise_description": "Class `dirs` has no class attribute `originals_dir`",
"severity": "error"
},
{
"line": 50,
"column": 5,
"stop_line": 50,
"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": 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 `archive_dir`",
"concise_description": "Class `dirs` has no class attribute `archive_dir`",
"severity": "error"
},
{
"line": 52,
"column": 5,
"stop_line": 52,
"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": 55,
"column": 18,
"stop_line": 55,
"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": 56,
"column": 21,
"stop_line": 56,
"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": 57,
"column": 20,
"stop_line": 57,
"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": 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 `originals_dir`",
"concise_description": "Class `dirs` has no class attribute `originals_dir`",
"severity": "error"
},
{
"line": 59,
"column": 23,
"stop_line": 59,
"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": 60,
"column": 21,
"stop_line": 60,
"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": 61,
"column": 25,
"stop_line": 61,
"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": 62,
"column": 21,
"stop_line": 62,
"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": 63,
"column": 19,
"stop_line": 63,
"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": 64,
"column": 21,
"stop_line": 64,
"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": 65,
"column": 20,
"stop_line": 65,
"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": 66,
"column": 20,
"stop_line": 66,
"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": 68,
"column": 5,
"stop_line": 68,
"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": 156,
"column": 24,
"stop_line": 156,
"stop_column": 50,
"path": "src/documents/tests/utils.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AsyncIterator[bytes] | Iterator[bytes]` is not assignable to parameter `iterable_of_bytes` with type `Iterable[Buffer]` in function `bytes.join`\n Protocol `Iterable` requires attribute `__iter__`",
"concise_description": "Argument `AsyncIterator[bytes] | Iterator[bytes]` is not assignable to parameter `iterable_of_bytes` with type `Iterable[Buffer]` in function `bytes.join`",
"severity": "error"
},
{
"line": 172,
"column": 9,
"stop_line": 172,
"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": 177,
"column": 9,
"stop_line": 177,
"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": 188,
"column": 9,
"stop_line": 188,
"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": 191,
"column": 9,
"stop_line": 191,
"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": 194,
"column": 9,
"stop_line": 194,
"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": 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 `assertFalse`",
"concise_description": "Object of class `FileSystemAssertsMixin` has no attribute `assertFalse`",
"severity": "error"
},
{
"line": 211,
"column": 9,
"stop_line": 211,
"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": 215,
"column": 9,
"stop_line": 215,
"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": 217,
"column": 9,
"stop_line": 217,
"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": 235,
"column": 9,
"stop_line": 235,
"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": 238,
"column": 9,
"stop_line": 238,
"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": 253,
"column": 9,
"stop_line": 253,
"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": 256,
"column": 9,
"stop_line": 256,
"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": 280,
"column": 16,
"stop_line": 280,
"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": 361,
"column": 13,
"stop_line": 361,
"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": 369,
"column": 13,
"stop_line": 369,
"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": 377,
"column": 13,
"stop_line": 377,
"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": 128,
"column": 34,
"stop_line": 128,
"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": 362,
"column": 31,
"stop_line": 362,
"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": 363,
"column": 32,
"stop_line": 363,
"stop_column": 63,
"path": "src/documents/views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of type `AbstractBaseUser | AnonymousUser` has no attribute `get_full_name`\n Object of class `AbstractBaseUser` has no attribute `get_full_name`\n Object of class `AnonymousUser` has no attribute `get_full_name`",
"concise_description": "Object of type `AbstractBaseUser | AnonymousUser` has no attribute `get_full_name`",
"severity": "error"
},
{
"line": 417,
"column": 17,
"stop_line": 417,
"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": 449,
"column": 19,
"stop_line": 449,
"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": 465,
"column": 24,
"stop_line": 465,
"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": 465,
"column": 45,
"stop_line": 465,
"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": 467,
"column": 22,
"stop_line": 467,
"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": 580,
"column": 29,
"stop_line": 580,
"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": 589,
"column": 25,
"stop_line": 589,
"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": 1069,
"column": 48,
"stop_line": 1069,
"stop_column": 64,
"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": 1075,
"column": 48,
"stop_line": 1075,
"stop_column": 64,
"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": 1078,
"column": 48,
"stop_line": 1078,
"stop_column": 64,
"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": 1274,
"column": 9,
"stop_line": 1274,
"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 `(self: DocumentViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | Response`, which is not assignable to `(self: DocumentViewSet, request: Request, *args: Any, **kwargs: Any) -> Response`, the type of `DestroyModelMixin.destroy`\n Signature mismatch:\n ...umentViewSet, request: Request, *args: Any, **kwargs: Any) -> Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ return type\n |\n parameters\n ...umentViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ return type\n |\n parameters",
"concise_description": "Class member `DocumentViewSet.destroy` overrides parent class `DestroyModelMixin` in an inconsistent manner",
"severity": "error"
},
{
"line": 1433,
"column": 37,
"stop_line": 1433,
"stop_column": 54,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[MetadataEntry] | list[Unknown] | None` is not assignable to parameter `original_metadata` with type `list[Unknown]` in function `documents.caching.set_metadata_cache`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `list[MetadataEntry] | list[Unknown] | None` is not assignable to parameter `original_metadata` with type `list[Unknown]` in function `documents.caching.set_metadata_cache`",
"severity": "error"
},
{
"line": 1489,
"column": 41,
"stop_line": 1489,
"stop_column": 53,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 1502,
"column": 57,
"stop_line": 1502,
"stop_column": 67,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_correspondents`",
"severity": "error"
},
{
"line": 1504,
"column": 52,
"stop_line": 1504,
"stop_column": 62,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_tags`",
"severity": "error"
},
{
"line": 1506,
"column": 59,
"stop_line": 1506,
"stop_column": 69,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_document_types`",
"severity": "error"
},
{
"line": 1509,
"column": 58,
"stop_line": 1509,
"stop_column": 68,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `DocumentClassifier | None` is not assignable to parameter `classifier` with type `DocumentClassifier` in function `documents.matching.match_storage_paths`",
"severity": "error"
},
{
"line": 1607,
"column": 17,
"stop_line": 1607,
"stop_column": 32,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `ClassificationSuggestions` is not assignable to parameter `suggestions` with type `dict[Unknown, Unknown]` in function `documents.caching.set_llm_suggestions_cache`",
"concise_description": "Argument `ClassificationSuggestions` is not assignable to parameter `suggestions` with type `dict[Unknown, Unknown]` in function `documents.caching.set_llm_suggestions_cache`",
"severity": "error"
},
{
"line": 1802,
"column": 21,
"stop_line": 1802,
"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": 1844,
"column": 17,
"stop_line": 1844,
"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": 1871,
"column": 5,
"stop_line": 1871,
"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": 1928,
"column": 26,
"stop_line": 1928,
"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": 1934,
"column": 22,
"stop_line": 1934,
"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": 1935,
"column": 13,
"stop_line": 1935,
"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": 1973,
"column": 36,
"stop_line": 1973,
"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": 2013,
"column": 30,
"stop_line": 2013,
"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__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `path` with type `Path` in function `documents.mail.EmailAttachment.__init__`",
"severity": "error"
},
{
"line": 2188,
"column": 13,
"stop_line": 2188,
"stop_column": 40,
"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": 2267,
"column": 13,
"stop_line": 2267,
"stop_column": 40,
"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": 2429,
"column": 9,
"stop_line": 2429,
"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 `(self: UnifiedSearchViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | HttpResponseForbidden | Response`, which is not assignable to `(self: UnifiedSearchViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> Response`, the type of `DocumentViewSet.list`\n Signature mismatch:\n ...s: Unknown, **kwargs: Unknown) -> Response: ...\n ^ return type\n ...s: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | HttpResponseForbidden | Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ return type",
"concise_description": "Class member `UnifiedSearchViewSet.list` overrides parent class `DocumentViewSet` in an inconsistent manner",
"severity": "error"
},
{
"line": 2468,
"column": 17,
"stop_line": 2468,
"stop_column": 45,
"path": "src/documents/views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of type `BasePagination | None` has no attribute `get_page_size`\n Object of class `BasePagination` has no attribute `get_page_size`\n Object of class `NoneType` has no attribute `get_page_size`",
"concise_description": "Object of type `BasePagination | None` has no attribute `get_page_size`",
"severity": "error"
},
{
"line": 2468,
"column": 58,
"stop_line": 2468,
"stop_column": 82,
"path": "src/documents/views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of type `BasePagination | None` has no attribute `page_size`\n Object of class `BasePagination` has no attribute `page_size`\n Object of class `NoneType` has no attribute `page_size`",
"concise_description": "Object of type `BasePagination | None` has no attribute `page_size`",
"severity": "error"
},
{
"line": 2595,
"column": 43,
"stop_line": 2595,
"stop_column": 45,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `TantivyRelevanceList` is not assignable to parameter `queryset` with type `QuerySet[Any, @_] | Sequence[@_]` in function `rest_framework.generics.GenericAPIView.paginate_queryset`",
"concise_description": "Argument `TantivyRelevanceList` is not assignable to parameter `queryset` with type `QuerySet[Any, @_] | Sequence[@_]` in function `rest_framework.generics.GenericAPIView.paginate_queryset`",
"severity": "error"
},
{
"line": 2645,
"column": 25,
"stop_line": 2645,
"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": 2945,
"column": 18,
"stop_line": 2945,
"stop_column": 35,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User` in function `DocumentSelectionMixin._resolve_document_ids`",
"concise_description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User` in function `DocumentSelectionMixin._resolve_document_ids`",
"severity": "error"
},
{
"line": 2966,
"column": 18,
"stop_line": 2966,
"stop_column": 22,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User` in function `DocumentOperationPermissionMixin._has_document_permissions`",
"concise_description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User` in function `DocumentOperationPermissionMixin._has_document_permissions`",
"severity": "error"
},
{
"line": 3049,
"column": 18,
"stop_line": 3049,
"stop_column": 22,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User` in function `DocumentSelectionMixin._resolve_document_ids`",
"concise_description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User` in function `DocumentSelectionMixin._resolve_document_ids`",
"severity": "error"
},
{
"line": 3061,
"column": 18,
"stop_line": 3061,
"stop_column": 22,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User` in function `DocumentOperationPermissionMixin._has_document_permissions`",
"concise_description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User` in function `DocumentOperationPermissionMixin._has_document_permissions`",
"severity": "error"
},
{
"line": 3090,
"column": 33,
"stop_line": 3090,
"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": 3100,
"column": 21,
"stop_line": 3100,
"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": 3507,
"column": 52,
"stop_line": 3507,
"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": 3511,
"column": 52,
"stop_line": 3511,
"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": 3514,
"column": 52,
"stop_line": 3514,
"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": 3517,
"column": 52,
"stop_line": 3517,
"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": 3521,
"column": 52,
"stop_line": 3521,
"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": 3574,
"column": 65,
"stop_line": 3574,
"stop_column": 69,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser | AnonymousUser | None` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.autocomplete`",
"concise_description": "Argument `AbstractBaseUser | AnonymousUser | None` is not assignable to parameter `user` with type `AbstractUser | None` in function `documents.search._backend.TantivyBackend.autocomplete`",
"severity": "error"
},
{
"line": 4355,
"column": 9,
"stop_line": 4355,
"stop_column": 29,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-override",
"description": "Class member `TasksViewSet.get_serializer_class` overrides parent class `ReadOnlyModelViewSet` in an inconsistent manner\n `TasksViewSet.get_serializer_class` has type `(self: TasksViewSet) -> type[TaskSerializerV10] | type[TaskSerializerV9]`, which is not assignable to `(self: TasksViewSet) -> type[BaseSerializer[PaperlessTask]]`, the type of `ReadOnlyModelViewSet.get_serializer_class`\n Signature mismatch:\n expected: def get_serializer_class(self: TasksViewSet) -> type[BaseSerializer[PaperlessTask]]: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ return type\n found: def get_serializer_class(self: TasksViewSet) -> type[TaskSerializerV10] | type[TaskSerializerV9]: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ return type",
"concise_description": "Class member `TasksViewSet.get_serializer_class` overrides parent class `ReadOnlyModelViewSet` in an inconsistent manner",
"severity": "error"
},
{
"line": 4369,
"column": 12,
"stop_line": 4369,
"stop_column": 38,
"path": "src/documents/views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `AbstractBaseUser` has no attribute `is_staff`",
"concise_description": "Object of class `AbstractBaseUser` has no attribute `is_staff`",
"severity": "error"
},
{
"line": 4475,
"column": 44,
"stop_line": 4475,
"stop_column": 48,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `QuerySet[PaperlessTask, dict[str, Any]]` is not assignable to parameter `instance` with type `dict[str, Any] | None` in function `rest_framework.serializers.BaseSerializer.__init__`",
"concise_description": "Argument `QuerySet[PaperlessTask, dict[str, Any]]` is not assignable to parameter `instance` with type `dict[str, Any] | None` in function `rest_framework.serializers.BaseSerializer.__init__`",
"severity": "error"
},
{
"line": 4875,
"column": 24,
"stop_line": 4875,
"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": 4894,
"column": 45,
"stop_line": 4894,
"stop_column": 49,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User | None` in function `documents.permissions.permitted_object_ids`",
"concise_description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User | None` in function `documents.permissions.permitted_object_ids`",
"severity": "error"
},
{
"line": 4917,
"column": 16,
"stop_line": 4917,
"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": 4921,
"column": 17,
"stop_line": 4921,
"stop_column": 30,
"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": 4978,
"column": 9,
"stop_line": 4978,
"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 `(self: WorkflowTriggerViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | Response`, which is not assignable to `(self: WorkflowTriggerViewSet, request: Request, *args: Any, **kwargs: Any) -> Response`, the type of `ModelViewSet.partial_update`\n Signature mismatch:\n ...iggerViewSet, request: Request, *args: Any, **kwargs: Any) -> Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ return type\n |\n parameters\n ...iggerViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ return type\n |\n parameters",
"concise_description": "Class member `WorkflowTriggerViewSet.partial_update` overrides parent class `ModelViewSet` in an inconsistent manner",
"severity": "error"
},
{
"line": 5003,
"column": 9,
"stop_line": 5003,
"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 `(self: WorkflowActionViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | Response`, which is not assignable to `(self: WorkflowActionViewSet, request: Request, *args: Any, **kwargs: Any) -> Response`, the type of `ModelViewSet.partial_update`\n Signature mismatch:\n ...ctionViewSet, request: Request, *args: Any, **kwargs: Any) -> Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ return type\n |\n parameters\n ...ctionViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseBadRequest | Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ return type\n |\n parameters",
"concise_description": "Class member `WorkflowActionViewSet.partial_update` overrides parent class `ModelViewSet` in an inconsistent manner",
"severity": "error"
},
{
"line": 5393,
"column": 40,
"stop_line": 5393,
"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": 5457,
"column": 17,
"stop_line": 5457,
"stop_column": 29,
"path": "src/documents/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User | None` in function `documents.permissions.permitted_document_ids`",
"concise_description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `User | None` in function `documents.permissions.permitted_document_ids`",
"severity": "error"
},
{
"line": 5486,
"column": 16,
"stop_line": 5486,
"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": 37,
"column": 22,
"stop_line": 37,
"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": 38,
"column": 80,
"stop_line": 38,
"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": 39,
"column": 30,
"stop_line": 39,
"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": 40,
"column": 16,
"stop_line": 40,
"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": 42,
"column": 30,
"stop_line": 42,
"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": 43,
"column": 16,
"stop_line": 43,
"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": 45,
"column": 31,
"stop_line": 45,
"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": 45,
"column": 58,
"stop_line": 45,
"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": 46,
"column": 25,
"stop_line": 46,
"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": 47,
"column": 33,
"stop_line": 47,
"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": 48,
"column": 41,
"stop_line": 48,
"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": 49,
"column": 24,
"stop_line": 49,
"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": 50,
"column": 19,
"stop_line": 50,
"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": 69,
"column": 42,
"stop_line": 69,
"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": 107,
"column": 13,
"stop_line": 107,
"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": 119,
"column": 12,
"stop_line": 119,
"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": 124,
"column": 13,
"stop_line": 124,
"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": 136,
"column": 12,
"stop_line": 136,
"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": 142,
"column": 12,
"stop_line": 142,
"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": 175,
"column": 16,
"stop_line": 175,
"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": 179,
"column": 59,
"stop_line": 179,
"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": 198,
"column": 12,
"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 `use_params`",
"concise_description": "Object of class `NoneType` has no attribute `use_params`",
"severity": "error"
},
{
"line": 199,
"column": 16,
"stop_line": 199,
"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": 201,
"column": 39,
"stop_line": 201,
"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": 220,
"column": 14,
"stop_line": 220,
"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": 222,
"column": 17,
"stop_line": 222,
"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": 235,
"column": 12,
"stop_line": 235,
"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": 237,
"column": 55,
"stop_line": 237,
"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": 244,
"column": 12,
"stop_line": 244,
"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": 257,
"column": 24,
"stop_line": 257,
"stop_column": 42,
"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": 261,
"column": 28,
"stop_line": 261,
"stop_column": 50,
"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": 265,
"column": 27,
"stop_line": 265,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check or changing the declared type to `Document | None`.",
"concise_description": "`Unknown | None` is not assignable to `Document`",
"severity": "error"
},
{
"line": 26,
"column": 8,
"stop_line": 26,
"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": 129,
"column": 8,
"stop_line": 129,
"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": 156,
"column": 13,
"stop_line": 156,
"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": 157,
"column": 13,
"stop_line": 157,
"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": 158,
"column": 13,
"stop_line": 158,
"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": 159,
"column": 13,
"stop_line": 159,
"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": 187,
"column": 8,
"stop_line": 187,
"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": 192,
"column": 27,
"stop_line": 192,
"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": 258,
"column": 13,
"stop_line": 258,
"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": 259,
"column": 13,
"stop_line": 259,
"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": 260,
"column": 13,
"stop_line": 260,
"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": 261,
"column": 13,
"stop_line": 261,
"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": 274,
"column": 9,
"stop_line": 274,
"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": 275,
"column": 10,
"stop_line": 275,
"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": 276,
"column": 9,
"stop_line": 279,
"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": 332,
"column": 13,
"stop_line": 332,
"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": 333,
"column": 13,
"stop_line": 333,
"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": 334,
"column": 13,
"stop_line": 334,
"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": 335,
"column": 13,
"stop_line": 335,
"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": 357,
"column": 10,
"stop_line": 357,
"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": 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": 98,
"column": 22,
"stop_line": 98,
"stop_column": 68,
"path": "src/paperless/adapter.py",
"code": -2,
"name": "bad-assignment",
"description": "`AbstractBaseUser` is not assignable to `User`",
"concise_description": "`AbstractBaseUser` is not assignable to `User`",
"severity": "error"
},
{
"line": 132,
"column": 22,
"stop_line": 132,
"stop_column": 67,
"path": "src/paperless/adapter.py",
"code": -2,
"name": "bad-assignment",
"description": "`AbstractBaseUser` is not assignable to `User`",
"concise_description": "`AbstractBaseUser` is not assignable to `User`",
"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": 48,
"column": 9,
"stop_line": 48,
"stop_column": 21,
"path": "src/paperless/admin.py",
"code": -2,
"name": "bad-argument-count",
"description": "Missing positional argument `value` in function `object.__setattr__`",
"concise_description": "Missing positional argument `value` in function `object.__setattr__`",
"severity": "error"
},
{
"line": 48,
"column": 9,
"stop_line": 48,
"stop_column": 21,
"path": "src/paperless/admin.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Literal['request']` is not assignable to parameter `self` with type `ModelForm[Unknown]` in function `object.__setattr__`",
"concise_description": "Argument `Literal['request']` is not assignable to parameter `self` with type `ModelForm[Unknown]` in function `object.__setattr__`",
"severity": "error"
},
{
"line": 68,
"column": 20,
"stop_line": 68,
"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": 69,
"column": 16,
"stop_line": 69,
"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": 23,
"column": 5,
"stop_line": 23,
"stop_column": 24,
"path": "src/paperless/celery.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `(obj: object) -> bytes` is not assignable to parameter `encoder` with type `((Any) -> str) | None` in function `kombu.serialization.register`",
"concise_description": "Argument `(obj: object) -> bytes` is not assignable to parameter `encoder` with type `((Any) -> str) | None` in function `kombu.serialization.register`",
"severity": "error"
},
{
"line": 24,
"column": 5,
"stop_line": 24,
"stop_column": 24,
"path": "src/paperless/celery.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `(payload: bytes) -> Any` is not assignable to parameter `decoder` with type `((str) -> Any) | None` in function `kombu.serialization.register`",
"concise_description": "Argument `(payload: bytes) -> Any` is not assignable to parameter `decoder` with type `((str) -> Any) | None` in function `kombu.serialization.register`",
"severity": "error"
},
{
"line": 92,
"column": 12,
"stop_line": 92,
"stop_column": 26,
"path": "src/paperless/checks.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `list[Warning]` is not assignable to declared return type `list[Error]`",
"concise_description": "Returned type `list[Warning]` is not assignable to declared return type `list[Error]`",
"severity": "error"
},
{
"line": 178,
"column": 9,
"stop_line": 180,
"stop_column": 40,
"path": "src/paperless/checks.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `list[Error]` is not assignable to declared return type `list[Error | Warning]`",
"concise_description": "Returned type `list[Error]` is not assignable to declared return type `list[Error | Warning]`",
"severity": "error"
},
{
"line": 197,
"column": 12,
"stop_line": 197,
"stop_column": 18,
"path": "src/paperless/checks.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `list[Warning]` is not assignable to declared return type `list[Error]`",
"concise_description": "Returned type `list[Warning]` is not assignable to declared return type `list[Error]`",
"severity": "error"
},
{
"line": 341,
"column": 26,
"stop_line": 344,
"stop_column": 6,
"path": "src/paperless/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, ..., *, capture_output: bool = False, ...) -> CompletedProcess[str]\n (args: _CMD, ..., *, capture_output: bool = False, ...) -> CompletedProcess[str]\n (args: _CMD, ..., *, capture_output: bool = False, ...) -> CompletedProcess[str]\n (args: _CMD, ..., *, ..., capture_output: bool = False, ...) -> CompletedProcess[str]\n (args: _CMD, ..., *, capture_output: bool = False, ...) -> CompletedProcess[bytes] [closest match]\n (args: _CMD, ..., *, capture_output: bool = False, ...) -> CompletedProcess[Any]\n Argument `list[str | None]` is not assignable to parameter `args` with type `PathLike[bytes] | PathLike[str] | Sequence[StrOrBytesPath] | bytes | str` in function `subprocess.run`",
"concise_description": "No matching overload found for function `subprocess.run` called with arguments: (list[str | None], capture_output=Literal[True])",
"severity": "error"
},
{
"line": 363,
"column": 16,
"stop_line": 363,
"stop_column": 20,
"path": "src/paperless/checks.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `list[Warning]` is not assignable to declared return type `list[Error]`",
"concise_description": "Returned type `list[Warning]` is not assignable to declared return type `list[Error]`",
"severity": "error"
},
{
"line": 375,
"column": 21,
"stop_line": 379,
"stop_column": 22,
"path": "src/paperless/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": 382,
"column": 12,
"stop_line": 382,
"stop_column": 16,
"path": "src/paperless/checks.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `list[Warning]` is not assignable to declared return type `list[Error]`",
"concise_description": "Returned type `list[Warning]` is not assignable to declared return type `list[Error]`",
"severity": "error"
},
{
"line": 28,
"column": 16,
"stop_line": 28,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check or changing the declared type to `ApplicationConfiguration | None`.",
"concise_description": "Returned type `ApplicationConfiguration | None` is not assignable to declared return type `ApplicationConfiguration`",
"severity": "error"
},
{
"line": 42,
"column": 28,
"stop_line": 44,
"stop_column": 10,
"path": "src/paperless/config.py",
"code": -2,
"name": "bad-assignment",
"description": "`OutputTypeChoices | str` is not assignable to attribute `output_type` with type `OutputTypeChoices`",
"concise_description": "`OutputTypeChoices | str` is not assignable to attribute `output_type` with type `OutputTypeChoices`",
"severity": "error"
},
{
"line": 76,
"column": 21,
"stop_line": 76,
"stop_column": 70,
"path": "src/paperless/config.py",
"code": -2,
"name": "bad-assignment",
"description": "`ModeChoices | str` is not assignable to attribute `mode` with type `ModeChoices`",
"concise_description": "`ModeChoices | str` is not assignable to attribute `mode` with type `ModeChoices`",
"severity": "error"
},
{
"line": 78,
"column": 13,
"stop_line": 79,
"stop_column": 78,
"path": "src/paperless/config.py",
"code": -2,
"name": "bad-assignment",
"description": "`ArchiveFileGenerationChoices | str` is not assignable to attribute `archive_file_generation` with type `ArchiveFileGenerationChoices`",
"concise_description": "`ArchiveFileGenerationChoices | str` is not assignable to attribute `archive_file_generation` with type `ArchiveFileGenerationChoices`",
"severity": "error"
},
{
"line": 82,
"column": 22,
"stop_line": 82,
"stop_column": 82,
"path": "src/paperless/config.py",
"code": -2,
"name": "bad-assignment",
"description": "`CleanChoices | str` is not assignable to attribute `clean` with type `CleanChoices`",
"concise_description": "`CleanChoices | str` is not assignable to attribute `clean` with type `CleanChoices`",
"severity": "error"
},
{
"line": 98,
"column": 13,
"stop_line": 99,
"stop_column": 75,
"path": "src/paperless/config.py",
"code": -2,
"name": "bad-assignment",
"description": "`ColorConvertChoices | str` is not assignable to attribute `color_conversion_strategy` with type `ColorConvertChoices`",
"concise_description": "`ColorConvertChoices | str` is not assignable to attribute `color_conversion_strategy` with type `ColorConvertChoices`",
"severity": "error"
},
{
"line": 195,
"column": 26,
"stop_line": 195,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "`str | None` is not assignable to attribute `app_title` with type `str`",
"severity": "error"
},
{
"line": 196,
"column": 25,
"stop_line": 196,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "`Unknown | None` is not assignable to attribute `app_logo` with type `str`",
"severity": "error"
},
{
"line": 222,
"column": 32,
"stop_line": 224,
"stop_column": 10,
"path": "src/paperless/config.py",
"code": -2,
"name": "bad-assignment",
"description": "`RemoteOCRMode | str` is not assignable to attribute `remote_ocr_mode` with type `RemoteOCRMode`",
"concise_description": "`RemoteOCRMode | str` is not assignable to attribute `remote_ocr_mode` with type `RemoteOCRMode`",
"severity": "error"
},
{
"line": 38,
"column": 12,
"stop_line": 38,
"stop_column": 29,
"path": "src/paperless/consumers.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": 41,
"column": 22,
"stop_line": 41,
"stop_column": 33,
"path": "src/paperless/consumers.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"concise_description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"severity": "error"
},
{
"line": 73,
"column": 35,
"stop_line": 73,
"stop_column": 48,
"path": "src/paperless/consumers.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `ProgressUpdateData` is not assignable to parameter `data` with type `PermissionsData` in function `StatusConsumer._can_view`\n Field `owner_id` is `NotRequired` and read-write in `PermissionsData`, so it cannot be required in `ProgressUpdateData`",
"concise_description": "Argument `ProgressUpdateData` is not assignable to parameter `data` with type `PermissionsData` in function `StatusConsumer._can_view`",
"severity": "error"
},
{
"line": 85,
"column": 35,
"stop_line": 85,
"stop_column": 48,
"path": "src/paperless/consumers.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `DocumentUpdatedData` is not assignable to parameter `data` with type `PermissionsData` in function `StatusConsumer._can_view`\n Field `owner_id` is `NotRequired` and read-write in `PermissionsData`, so it cannot be required in `DocumentUpdatedData`",
"concise_description": "Argument `DocumentUpdatedData` is not assignable to parameter `data` with type `PermissionsData` in function `StatusConsumer._can_view`",
"severity": "error"
},
{
"line": 45,
"column": 12,
"stop_line": 45,
"stop_column": 15,
"path": "src/paperless/network.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `list[int | str]` is not assignable to declared return type `list[str]`",
"concise_description": "Returned type `list[int | str]` is not assignable to declared return type `list[str]`",
"severity": "error"
},
{
"line": 403,
"column": 17,
"stop_line": 403,
"stop_column": 70,
"path": "src/paperless/parsers/tesseract.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `bytes | None` is not assignable to parameter `data` with type `Buffer` in function `pathlib.Path.write_bytes`\n Protocol `Buffer` requires attribute `__buffer__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `bytes | None` is not assignable to parameter `data` with type `Buffer` in function `pathlib.Path.write_bytes`",
"severity": "error"
},
{
"line": 62,
"column": 38,
"stop_line": 62,
"stop_column": 56,
"path": "src/paperless/parsers/utils.py",
"code": -2,
"name": "no-matching-overload",
"description": "No matching overload found for function `pikepdf._core.Object.get` called with arguments: (Literal['/Marked'], Literal[False])\n Possible overloads:\n (key: Name | int | str, default: T | None = ...) -> Object | T | None [closest match]\n (path: _NamePath, default: T | None = ...) -> Object | T | None\n Argument `Literal[False]` is not assignable to parameter `default` with type `@_ | None` in function `pikepdf._core.Object.get`",
"concise_description": "No matching overload found for function `pikepdf._core.Object.get` called with arguments: (Literal['/Marked'], Literal[False])",
"severity": "error"
},
{
"line": 39,
"column": 16,
"stop_line": 39,
"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": 92,
"column": 11,
"stop_line": 92,
"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": 152,
"column": 11,
"stop_line": 152,
"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": 164,
"column": 11,
"stop_line": 164,
"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": 198,
"column": 11,
"stop_line": 198,
"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": 230,
"column": 9,
"stop_line": 230,
"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 `(self: ApplicationConfigurationSerializer, data: Unknown) -> Any`, which is not assignable to `(self: ApplicationConfigurationSerializer, data: Any = ...) -> Any`, the type of `ModelSerializer.run_validation`\n Signature mismatch:\n expected: def run_validation(self: ApplicationConfigurationSerializer, data: Any = ...) -> Any: ...\n ^^^^^^^^^ parameters\n found: def run_validation(self: ApplicationConfigurationSerializer, data: Unknown) -> Any: ...\n ^^^^^^^ parameters",
"concise_description": "Class member `ApplicationConfigurationSerializer.run_validation` overrides parent class `ModelSerializer` in an inconsistent manner",
"severity": "error"
},
{
"line": 263,
"column": 28,
"stop_line": 263,
"stop_column": 43,
"path": "src/paperless/serialisers.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `UploadedFile` has no attribute `field_name`",
"concise_description": "Object of class `UploadedFile` has no attribute `field_name`",
"severity": "error"
},
{
"line": 324,
"column": 11,
"stop_line": 324,
"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": 285,
"column": 43,
"stop_line": 290,
"stop_column": 6,
"path": "src/paperless/settings/__init__.py",
"code": -2,
"name": "bad-assignment",
"description": "`dict[str, int | list[str] | str]` is not assignable to dict key `CONFIG` with type `str`",
"concise_description": "`dict[str, int | list[str] | str]` is not assignable to dict key `CONFIG` with type `str`",
"severity": "error"
},
{
"line": 462,
"column": 30,
"stop_line": 462,
"stop_column": 52,
"path": "src/paperless/settings/__init__.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | None` is not assignable to parameter `object` with type `str` in function `list.append`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `object` with type `str` in function `list.append`",
"severity": "error"
},
{
"line": 1058,
"column": 39,
"stop_line": 1058,
"stop_column": 74,
"path": "src/paperless/settings/__init__.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | None` is not assignable to parameter `env_ignore` with type `str` in function `paperless.settings.custom.parse_ignore_dates`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `env_ignore` with type `str` in function `paperless.settings.custom.parse_ignore_dates`",
"severity": "error"
},
{
"line": 172,
"column": 27,
"stop_line": 172,
"stop_column": 42,
"path": "src/paperless/settings/custom.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | dict[str, float]` is not assignable to parameter `key` with type `str` in function `os.getenv`",
"concise_description": "Argument `str | dict[str, float]` is not assignable to parameter `key` with type `str` in function `os.getenv`",
"severity": "error"
},
{
"line": 189,
"column": 52,
"stop_line": 189,
"stop_column": 63,
"path": "src/paperless/settings/custom.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `dict` has no attribute `split`",
"concise_description": "Object of class `dict` has no attribute `split`",
"severity": "error"
},
{
"line": 195,
"column": 19,
"stop_line": 195,
"stop_column": 34,
"path": "src/paperless/settings/custom.py",
"code": -2,
"name": "invalid-argument",
"description": "Expected a mapping, got str | dict[str, float]",
"concise_description": "Expected a mapping, got str | dict[str, float]",
"severity": "error"
},
{
"line": 793,
"column": 12,
"stop_line": 793,
"stop_column": 24,
"path": "src/paperless/tests/parsers/conftest.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `(**django_settings_overrides: Unknown) -> _GeneratorContextManager[RasterisedDocumentParser]` is not assignable to declared return type `(...) -> Generator[RasterisedDocumentParser]`\n Protocol `Generator` requires attribute `__next__`",
"concise_description": "Returned type `(**django_settings_overrides: Unknown) -> _GeneratorContextManager[RasterisedDocumentParser]` is not assignable to declared return type `(...) -> Generator[RasterisedDocumentParser]`",
"severity": "error"
},
{
"line": 203,
"column": 45,
"stop_line": 203,
"stop_column": 49,
"path": "src/paperless/tests/parsers/test_mail_parser.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Literal['na']` is not assignable to parameter `document_path` with type `Path` in function `paperless.parsers.mail.MailDocumentParser.extract_metadata`",
"concise_description": "Argument `Literal['na']` is not assignable to parameter `document_path` with type `Path` in function `paperless.parsers.mail.MailDocumentParser.extract_metadata`",
"severity": "error"
},
{
"line": 407,
"column": 47,
"stop_line": 407,
"stop_column": 75,
"path": "src/paperless/tests/parsers/test_mail_parser.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": 790,
"column": 20,
"stop_line": 790,
"stop_column": 31,
"path": "src/paperless/tests/parsers/test_mail_parser.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/tests/parsers/test_mail_parser_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, ..., *, ..., check: bool = False, ...) -> CompletedProcess[str]\n (args: _CMD, ..., *, ..., check: bool = False, ...) -> CompletedProcess[str]\n (args: _CMD, ..., *, ..., check: bool = False, ...) -> CompletedProcess[str]\n (args: _CMD, ..., *, ..., check: bool = False, ...) -> CompletedProcess[str]\n (args: _CMD, ..., *, ..., check: bool = False, ...) -> CompletedProcess[bytes] [closest match]\n (args: _CMD, ..., *, ..., check: bool = False, ...) -> CompletedProcess[Any]\n Argument `list[str | None]` is not assignable to parameter `args` with type `PathLike[bytes] | PathLike[str] | Sequence[StrOrBytesPath] | bytes | str` in function `subprocess.run`",
"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/tests/parsers/test_mail_parser_live.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Path | None` is not assignable to parameter `pdf_path` with type `Path` in function `extract_text`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `pdf_path` with type `Path` in function `extract_text`",
"severity": "error"
},
{
"line": 401,
"column": 42,
"stop_line": 401,
"stop_column": 46,
"path": "src/paperless/tests/parsers/test_parse_modes.py",
"code": -2,
"name": "bad-assignment",
"description": "`str` is not assignable to attribute `mode` with type `ModeChoices`",
"concise_description": "`str` is not assignable to attribute `mode` with type `ModeChoices`",
"severity": "error"
},
{
"line": 79,
"column": 34,
"stop_line": 79,
"stop_column": 36,
"path": "src/paperless/tests/parsers/test_remote_parser.py",
"code": -2,
"name": "bad-argument-count",
"description": "Expected 1 more positional argument",
"concise_description": "Expected 1 more positional argument",
"severity": "error"
},
{
"line": 28,
"column": 24,
"stop_line": 28,
"stop_column": 35,
"path": "src/paperless/tests/parsers/test_tesseract_custom_settings.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Literal['input.pdf']` is not assignable to parameter `input_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"concise_description": "Argument `Literal['input.pdf']` is not assignable to parameter `input_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"severity": "error"
},
{
"line": 29,
"column": 25,
"stop_line": 29,
"stop_column": 37,
"path": "src/paperless/tests/parsers/test_tesseract_custom_settings.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Literal['output.pdf']` is not assignable to parameter `output_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"concise_description": "Argument `Literal['output.pdf']` is not assignable to parameter `output_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"severity": "error"
},
{
"line": 30,
"column": 26,
"stop_line": 30,
"stop_column": 39,
"path": "src/paperless/tests/parsers/test_tesseract_custom_settings.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Literal['sidecar.txt']` is not assignable to parameter `sidecar_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"concise_description": "Argument `Literal['sidecar.txt']` is not assignable to parameter `sidecar_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"severity": "error"
},
{
"line": 111,
"column": 28,
"stop_line": 111,
"stop_column": 39,
"path": "src/paperless/tests/parsers/test_tesseract_custom_settings.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Literal['input.pdf']` is not assignable to parameter `input_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"concise_description": "Argument `Literal['input.pdf']` is not assignable to parameter `input_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"severity": "error"
},
{
"line": 112,
"column": 29,
"stop_line": 112,
"stop_column": 41,
"path": "src/paperless/tests/parsers/test_tesseract_custom_settings.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Literal['output.pdf']` is not assignable to parameter `output_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"concise_description": "Argument `Literal['output.pdf']` is not assignable to parameter `output_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"severity": "error"
},
{
"line": 113,
"column": 30,
"stop_line": 113,
"stop_column": 43,
"path": "src/paperless/tests/parsers/test_tesseract_custom_settings.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Literal['sidecar.txt']` is not assignable to parameter `sidecar_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"concise_description": "Argument `Literal['sidecar.txt']` is not assignable to parameter `sidecar_file` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.construct_ocrmypdf_parameters`",
"severity": "error"
},
{
"line": 249,
"column": 38,
"stop_line": 249,
"stop_column": 75,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str` is not assignable to parameter `image` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.get_dpi`",
"concise_description": "Argument `str` is not assignable to parameter `image` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.get_dpi`",
"severity": "error"
},
{
"line": 260,
"column": 17,
"stop_line": 260,
"stop_column": 65,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str` is not assignable to parameter `image` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.calculate_a4_dpi`",
"concise_description": "Argument `str` is not assignable to parameter `image` with type `Path` in function `paperless.parsers.tesseract.RasterisedDocumentParser.calculate_a4_dpi`",
"severity": "error"
},
{
"line": 563,
"column": 42,
"stop_line": 563,
"stop_column": 46,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-assignment",
"description": "`str` is not assignable to attribute `mode` with type `ModeChoices`",
"concise_description": "`str` is not assignable to attribute `mode` with type `ModeChoices`",
"severity": "error"
},
{
"line": 1120,
"column": 14,
"stop_line": 1120,
"stop_column": 37,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__enter__`\n Did you mean `__iter__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1120,
"column": 14,
"stop_line": 1120,
"stop_column": 37,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__exit__`\n Did you mean `__next__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1147,
"column": 14,
"stop_line": 1147,
"stop_column": 56,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__enter__`\n Did you mean `__iter__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1147,
"column": 14,
"stop_line": 1147,
"stop_column": 56,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__exit__`\n Did you mean `__next__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1156,
"column": 14,
"stop_line": 1156,
"stop_column": 77,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__enter__`\n Did you mean `__iter__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1156,
"column": 14,
"stop_line": 1156,
"stop_column": 77,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__exit__`\n Did you mean `__next__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1165,
"column": 14,
"stop_line": 1165,
"stop_column": 77,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__enter__`\n Did you mean `__iter__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1165,
"column": 14,
"stop_line": 1165,
"stop_column": 77,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__exit__`\n Did you mean `__next__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1186,
"column": 14,
"stop_line": 1186,
"stop_column": 77,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__enter__`\n Did you mean `__iter__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1186,
"column": 14,
"stop_line": 1186,
"stop_column": 77,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__exit__`\n Did you mean `__next__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1194,
"column": 14,
"stop_line": 1194,
"stop_column": 69,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__enter__`\n Did you mean `__iter__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1194,
"column": 14,
"stop_line": 1194,
"stop_column": 69,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__exit__`\n Did you mean `__next__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1203,
"column": 14,
"stop_line": 1203,
"stop_column": 70,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__enter__`\n Did you mean `__iter__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 1203,
"column": 14,
"stop_line": 1203,
"stop_column": 70,
"path": "src/paperless/tests/parsers/test_tesseract_parser.py",
"code": -2,
"name": "bad-context-manager",
"description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager\n Object of class `Generator` has no attribute `__exit__`\n Did you mean `__next__`?",
"concise_description": "Cannot use `Generator[RasterisedDocumentParser]` as a context manager",
"severity": "error"
},
{
"line": 115,
"column": 19,
"stop_line": 115,
"stop_column": 49,
"path": "src/paperless/tests/parsers/test_tika_parser.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__`\n Protocol `PathLike` requires attribute `__fspath__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `Path | None` is not assignable to parameter `*args` with type `PathLike[str] | str` in function `pathlib.Path.__new__`",
"severity": "error"
},
{
"line": 26,
"column": 43,
"stop_line": 26,
"stop_column": 47,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.account.adapter.DefaultAccountAdapter.is_open_for_signup`",
"concise_description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.account.adapter.DefaultAccountAdapter.is_open_for_signup`",
"severity": "error"
},
{
"line": 31,
"column": 43,
"stop_line": 31,
"stop_column": 47,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.account.adapter.DefaultAccountAdapter.is_open_for_signup`",
"concise_description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.account.adapter.DefaultAccountAdapter.is_open_for_signup`",
"severity": "error"
},
{
"line": 34,
"column": 47,
"stop_line": 34,
"stop_column": 51,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.account.adapter.DefaultAccountAdapter.is_open_for_signup`",
"concise_description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.account.adapter.DefaultAccountAdapter.is_open_for_signup`",
"severity": "error"
},
{
"line": 106,
"column": 16,
"stop_line": 106,
"stop_column": 27,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"concise_description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"severity": "error"
},
{
"line": 107,
"column": 16,
"stop_line": 107,
"stop_column": 27,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"concise_description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"severity": "error"
},
{
"line": 108,
"column": 20,
"stop_line": 108,
"stop_column": 31,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"concise_description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"severity": "error"
},
{
"line": 119,
"column": 16,
"stop_line": 119,
"stop_column": 33,
"path": "src/paperless/tests/test_adapter.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": 128,
"column": 20,
"stop_line": 128,
"stop_column": 38,
"path": "src/paperless/tests/test_adapter.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": 137,
"column": 43,
"stop_line": 137,
"stop_column": 47,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.socialaccount.adapter.DefaultSocialAccountAdapter.is_open_for_signup`",
"concise_description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.socialaccount.adapter.DefaultSocialAccountAdapter.is_open_for_signup`",
"severity": "error"
},
{
"line": 137,
"column": 49,
"stop_line": 137,
"stop_column": 53,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `sociallogin` with type `SocialLogin` in function `allauth.socialaccount.adapter.DefaultSocialAccountAdapter.is_open_for_signup`",
"concise_description": "Argument `None` is not assignable to parameter `sociallogin` with type `SocialLogin` in function `allauth.socialaccount.adapter.DefaultSocialAccountAdapter.is_open_for_signup`",
"severity": "error"
},
{
"line": 140,
"column": 47,
"stop_line": 140,
"stop_column": 51,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.socialaccount.adapter.DefaultSocialAccountAdapter.is_open_for_signup`",
"concise_description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.socialaccount.adapter.DefaultSocialAccountAdapter.is_open_for_signup`",
"severity": "error"
},
{
"line": 140,
"column": 53,
"stop_line": 140,
"stop_column": 57,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `sociallogin` with type `SocialLogin` in function `allauth.socialaccount.adapter.DefaultSocialAccountAdapter.is_open_for_signup`",
"concise_description": "Argument `None` is not assignable to parameter `sociallogin` with type `SocialLogin` in function `allauth.socialaccount.adapter.DefaultSocialAccountAdapter.is_open_for_signup`",
"severity": "error"
},
{
"line": 144,
"column": 49,
"stop_line": 144,
"stop_column": 53,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.socialaccount.adapter.DefaultSocialAccountAdapter.get_connect_redirect_url`",
"concise_description": "Argument `None` is not assignable to parameter `request` with type `HttpRequest` in function `allauth.socialaccount.adapter.DefaultSocialAccountAdapter.get_connect_redirect_url`",
"severity": "error"
},
{
"line": 160,
"column": 16,
"stop_line": 160,
"stop_column": 27,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"concise_description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"severity": "error"
},
{
"line": 161,
"column": 16,
"stop_line": 161,
"stop_column": 27,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"concise_description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"severity": "error"
},
{
"line": 162,
"column": 20,
"stop_line": 162,
"stop_column": 31,
"path": "src/paperless/tests/test_adapter.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"concise_description": "Object of class `AbstractBaseUser` has no attribute `groups`",
"severity": "error"
},
{
"line": 22,
"column": 23,
"stop_line": 22,
"stop_column": 48,
"path": "src/paperless/tests/test_api_auth.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `FunctionType` has no attribute `view_class`",
"concise_description": "Object of class `FunctionType` has no attribute `view_class`",
"severity": "error"
},
{
"line": 22,
"column": 50,
"stop_line": 22,
"stop_column": 79,
"path": "src/paperless/tests/test_api_auth.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `FunctionType` has no attribute `view_class`",
"concise_description": "Object of class `FunctionType` has no attribute `view_class`",
"severity": "error"
},
{
"line": 15,
"column": 47,
"stop_line": 15,
"stop_column": 67,
"path": "src/paperless/tests/test_auth_middleware.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `(request: HttpRequest) -> None` is not assignable to parameter `get_response` with type `_AnyGetResponseCallable` in function `django.utils.deprecation.MiddlewareMixin.__init__`\n Protocol `Awaitable` requires attribute `__await__`",
"concise_description": "Argument `(request: HttpRequest) -> None` is not assignable to parameter `get_response` with type `_AnyGetResponseCallable` in function `django.utils.deprecation.MiddlewareMixin.__init__`",
"severity": "error"
},
{
"line": 295,
"column": 16,
"stop_line": 295,
"stop_column": 39,
"path": "src/paperless/tests/test_checks.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": 296,
"column": 16,
"stop_line": 296,
"stop_column": 45,
"path": "src/paperless/tests/test_checks.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": 314,
"column": 29,
"stop_line": 314,
"stop_column": 53,
"path": "src/paperless/tests/test_checks.py",
"code": -2,
"name": "no-matching-overload",
"description": "No matching overload found for function `str.join` called with arguments: (Generator[str | None])\n Possible overloads:\n (iterable: Iterable[LiteralString], /) -> LiteralString [closest match]\n (iterable: Iterable[str], /) -> str\n Argument `Generator[str | None]` is not assignable to parameter `iterable` with type `Iterable[LiteralString]` in function `str.join`",
"concise_description": "No matching overload found for function `str.join` called with arguments: (Generator[str | None])",
"severity": "error"
},
{
"line": 344,
"column": 16,
"stop_line": 344,
"stop_column": 56,
"path": "src/paperless/tests/test_checks.py",
"code": -2,
"name": "not-iterable",
"description": "`in` is not supported between `Literal['PAPERLESS_DB_TIMEOUT']` and `None`",
"concise_description": "`in` is not supported between `Literal['PAPERLESS_DB_TIMEOUT']` and `None`",
"severity": "error"
},
{
"line": 347,
"column": 20,
"stop_line": 347,
"stop_column": 50,
"path": "src/paperless/tests/test_checks.py",
"code": -2,
"name": "not-iterable",
"description": "`not in` is not supported between `str` and `None`",
"concise_description": "`not in` is not supported between `str` and `None`",
"severity": "error"
},
{
"line": 375,
"column": 16,
"stop_line": 375,
"stop_column": 56,
"path": "src/paperless/tests/test_checks.py",
"code": -2,
"name": "not-iterable",
"description": "`in` is not supported between `Literal['PAPERLESS_DB_OPTIONS']` and `None`",
"concise_description": "`in` is not supported between `Literal['PAPERLESS_DB_OPTIONS']` and `None`",
"severity": "error"
},
{
"line": 598,
"column": 16,
"stop_line": 598,
"stop_column": 44,
"path": "src/paperless/tests/test_checks.py",
"code": -2,
"name": "not-iterable",
"description": "`in` is not supported between `Literal['v2.20.15']` and `None`",
"concise_description": "`in` is not supported between `Literal['v2.20.15']` and `None`",
"severity": "error"
},
{
"line": 328,
"column": 35,
"stop_line": 328,
"stop_column": 49,
"path": "src/paperless/tests/test_registry.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `type[TestParserRegistryGetParserForFile.test_highest_score_wins.LowScoreParser]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`\n Protocol `ParserProtocol` requires attribute `can_produce_archive`",
"concise_description": "Argument `type[TestParserRegistryGetParserForFile.test_highest_score_wins.LowScoreParser]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`",
"severity": "error"
},
{
"line": 329,
"column": 35,
"stop_line": 329,
"stop_column": 50,
"path": "src/paperless/tests/test_registry.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `type[TestParserRegistryGetParserForFile.test_highest_score_wins.HighScoreParser]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`\n Protocol `ParserProtocol` requires attribute `can_produce_archive`",
"concise_description": "Argument `type[TestParserRegistryGetParserForFile.test_highest_score_wins.HighScoreParser]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`",
"severity": "error"
},
{
"line": 355,
"column": 35,
"stop_line": 355,
"stop_column": 50,
"path": "src/paperless/tests/test_registry.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `type[TestParserRegistryGetParserForFile.test_parser_returning_none_score_is_skipped.DecliningParser]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`\n Protocol `ParserProtocol` requires attribute `can_produce_archive`",
"concise_description": "Argument `type[TestParserRegistryGetParserForFile.test_parser_returning_none_score_is_skipped.DecliningParser]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`",
"severity": "error"
},
{
"line": 381,
"column": 35,
"stop_line": 381,
"stop_column": 49,
"path": "src/paperless/tests/test_registry.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `type[TestParserRegistryGetParserForFile.test_all_parsers_decline_returns_none.AlwaysDeclines]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`\n Protocol `ParserProtocol` requires attribute `can_produce_archive`",
"concise_description": "Argument `type[TestParserRegistryGetParserForFile.test_all_parsers_decline_returns_none.AlwaysDeclines]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`",
"severity": "error"
},
{
"line": 382,
"column": 35,
"stop_line": 382,
"stop_column": 49,
"path": "src/paperless/tests/test_registry.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `type[TestParserRegistryGetParserForFile.test_all_parsers_decline_returns_none.AlwaysDeclines]` is not assignable to parameter `object` with type `type[ParserProtocol]` in function `list.append`\n Protocol `ParserProtocol` requires attribute `can_produce_archive`",
"concise_description": "Argument `type[TestParserRegistryGetParserForFile.test_all_parsers_decline_returns_none.AlwaysDeclines]` is not assignable to parameter `object` with type `type[ParserProtocol]` in function `list.append`",
"severity": "error"
},
{
"line": 423,
"column": 35,
"stop_line": 423,
"stop_column": 48,
"path": "src/paperless/tests/test_registry.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `type[TestParserRegistryGetParserForFile.test_external_parser_beats_builtin_same_score.BuiltinParser]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`\n Protocol `ParserProtocol` requires attribute `can_produce_archive`",
"concise_description": "Argument `type[TestParserRegistryGetParserForFile.test_external_parser_beats_builtin_same_score.BuiltinParser]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`",
"severity": "error"
},
{
"line": 424,
"column": 35,
"stop_line": 424,
"stop_column": 49,
"path": "src/paperless/tests/test_registry.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `type[TestParserRegistryGetParserForFile.test_external_parser_beats_builtin_same_score.ExternalParser]` is not assignable to parameter `object` with type `type[ParserProtocol]` in function `list.append`\n Protocol `ParserProtocol` requires attribute `can_produce_archive`",
"concise_description": "Argument `type[TestParserRegistryGetParserForFile.test_external_parser_beats_builtin_same_score.ExternalParser]` is not assignable to parameter `object` with type `type[ParserProtocol]` in function `list.append`",
"severity": "error"
},
{
"line": 465,
"column": 35,
"stop_line": 465,
"stop_column": 51,
"path": "src/paperless/tests/test_registry.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `type[TestParserRegistryGetParserForFile.test_builtin_wins_when_external_declines.AcceptingBuiltin]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`\n Protocol `ParserProtocol` requires attribute `can_produce_archive`",
"concise_description": "Argument `type[TestParserRegistryGetParserForFile.test_builtin_wins_when_external_declines.AcceptingBuiltin]` is not assignable to parameter `parser_class` with type `type[ParserProtocol]` in function `paperless.parsers.registry.ParserRegistry.register_builtin`",
"severity": "error"
},
{
"line": 466,
"column": 35,
"stop_line": 466,
"stop_column": 52,
"path": "src/paperless/tests/test_registry.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `type[TestParserRegistryGetParserForFile.test_builtin_wins_when_external_declines.DecliningExternal]` is not assignable to parameter `object` with type `type[ParserProtocol]` in function `list.append`\n Protocol `ParserProtocol` requires attribute `can_produce_archive`",
"concise_description": "Argument `type[TestParserRegistryGetParserForFile.test_builtin_wins_when_external_declines.DecliningExternal]` is not assignable to parameter `object` with type `type[ParserProtocol]` in function `list.append`",
"severity": "error"
},
{
"line": 812,
"column": 35,
"stop_line": 812,
"stop_column": 44,
"path": "src/paperless/tests/test_registry.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `type[TestLogSummary.test_log_summary_with_external_parsers.ExtParser]` is not assignable to parameter `object` with type `type[ParserProtocol]` in function `list.append`\n Protocol `ParserProtocol` requires attribute `can_produce_archive`",
"concise_description": "Argument `type[TestLogSummary.test_log_summary_with_external_parsers.ExtParser]` is not assignable to parameter `object` with type `type[ParserProtocol]` in function `list.append`",
"severity": "error"
},
{
"line": 710,
"column": 23,
"stop_line": 710,
"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": 717,
"column": 23,
"stop_line": 717,
"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": 21,
"column": 21,
"stop_line": 21,
"stop_column": 47,
"path": "src/paperless/tests/test_views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `streaming_content`",
"concise_description": "Object of class `_MonkeyPatchedWSGIResponse` has no attribute `streaming_content`",
"severity": "error"
},
{
"line": 427,
"column": 9,
"stop_line": 427,
"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, ...) -> URLPattern [closest match]\n (route: _StrOrPromise, view: (...) -> Coroutine[Any, Any, HttpResponseBase], ...) -> URLPattern\n (route: _StrOrPromise, view: tuple[Sequence[URLPattern | URLResolver], str | None, str | None], ...) -> URLResolver\n (route: _StrOrPromise, view: Sequence[URLResolver | str], ...) -> URLResolver\n Argument `_ASGIApplicationProtocol` is not assignable to parameter `view` with type `(...) -> HttpResponseBase` in function `django.urls.conf.path`",
"concise_description": "No matching overload found for function `django.urls.conf.path` called with arguments: (Literal['ws/status/'], _ASGIApplicationProtocol)",
"severity": "error"
},
{
"line": 199,
"column": 20,
"stop_line": 199,
"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": 199,
"column": 32,
"stop_line": 199,
"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": 205,
"column": 38,
"stop_line": 205,
"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\n Argument `Iterator[_AnyStr] | Unknown` is not assignable to parameter `iterable` with type `Iterable[LiteralString]` in function `str.join`",
"concise_description": "No matching overload found for function `str.join` called with arguments: (Iterator[_AnyStr] | Unknown)",
"severity": "error"
},
{
"line": 214,
"column": 38,
"stop_line": 214,
"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": 77,
"column": 23,
"stop_line": 77,
"stop_column": 42,
"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": 92,
"column": 17,
"stop_line": 92,
"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": 95,
"column": 16,
"stop_line": 95,
"stop_column": 35,
"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": 144,
"column": 9,
"stop_line": 144,
"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 `(self: UserViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseForbidden | Response`, which is not assignable to `(self: UserViewSet, request: Request, *args: Any, **kwargs: Any) -> Response`, the type of `ModelViewSet.create`\n Signature mismatch:\n expected: def create(self: UserViewSet, request: Request, *args: Any, **kwargs: Any) -> Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ return type\n |\n parameters\n found: def create(self: UserViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseForbidden | Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ return type\n |\n parameters",
"concise_description": "Class member `UserViewSet.create` overrides parent class `ModelViewSet` in an inconsistent manner",
"severity": "error"
},
{
"line": 163,
"column": 9,
"stop_line": 163,
"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 `(self: UserViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseForbidden | Response`, which is not assignable to `(self: UserViewSet, request: Request, *args: Any, **kwargs: Any) -> Response`, the type of `ModelViewSet.update`\n Signature mismatch:\n expected: def update(self: UserViewSet, request: Request, *args: Any, **kwargs: Any) -> Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ return type\n |\n parameters\n found: def update(self: UserViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseForbidden | Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ return type\n |\n parameters",
"concise_description": "Class member `UserViewSet.update` overrides parent class `ModelViewSet` in an inconsistent manner",
"severity": "error"
},
{
"line": 195,
"column": 9,
"stop_line": 195,
"stop_column": 16,
"path": "src/paperless/views.py",
"code": -2,
"name": "bad-override",
"description": "Class member `UserViewSet.destroy` overrides parent class `ModelViewSet` in an inconsistent manner\n `UserViewSet.destroy` has type `(self: UserViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseForbidden | Response`, which is not assignable to `(self: UserViewSet, request: Request, *args: Any, **kwargs: Any) -> Response`, the type of `ModelViewSet.destroy`\n Signature mismatch:\n expected: def destroy(self: UserViewSet, request: Request, *args: Any, **kwargs: Any) -> Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ return type\n |\n parameters\n found: def destroy(self: UserViewSet, request: Unknown, *args: Unknown, **kwargs: Unknown) -> HttpResponseForbidden | Response: ...\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ return type\n |\n parameters",
"concise_description": "Class member `UserViewSet.destroy` overrides parent class `ModelViewSet` in an inconsistent manner",
"severity": "error"
},
{
"line": 265,
"column": 13,
"stop_line": 265,
"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": 266,
"column": 13,
"stop_line": 266,
"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": 270,
"column": 9,
"stop_line": 270,
"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": 317,
"column": 42,
"stop_line": 317,
"stop_column": 46,
"path": "src/paperless/views.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `AbstractBaseUser` in function `allauth.mfa.adapter.DefaultMFAAdapter.build_totp_url`",
"concise_description": "Argument `AbstractBaseUser | AnonymousUser` is not assignable to parameter `user` with type `AbstractBaseUser` in function `allauth.mfa.adapter.DefaultMFAAdapter.build_totp_url`",
"severity": "error"
},
{
"line": 347,
"column": 38,
"stop_line": 347,
"stop_column": 75,
"path": "src/paperless/views.py",
"code": -2,
"name": "bad-assignment",
"description": "`Authenticator | None` is not assignable to `Authenticator`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check or changing the declared type to `Authenticator | None`.",
"concise_description": "`Authenticator | None` is not assignable to `Authenticator`",
"severity": "error"
},
{
"line": 349,
"column": 34,
"stop_line": 349,
"stop_column": 65,
"path": "src/paperless/views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of type `RecoveryCodes | TOTP | WebAuthn` has no attribute `get_unused_codes`\n Object of class `TOTP` has no attribute `get_unused_codes`\n Object of class `WebAuthn` has no attribute `get_unused_codes`",
"concise_description": "Object of type `RecoveryCodes | TOTP | WebAuthn` has no attribute `get_unused_codes`",
"severity": "error"
},
{
"line": 427,
"column": 13,
"stop_line": 427,
"stop_column": 47,
"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": 430,
"column": 13,
"stop_line": 430,
"stop_column": 50,
"path": "src/paperless/views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `llm_embedding_chunk_size`",
"concise_description": "Object of class `NoneType` has no attribute `llm_embedding_chunk_size`",
"severity": "error"
},
{
"line": 433,
"column": 13,
"stop_line": 433,
"stop_column": 48,
"path": "src/paperless/views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `llm_embedding_endpoint`",
"concise_description": "Object of class `NoneType` has no attribute `llm_embedding_endpoint`",
"severity": "error"
},
{
"line": 436,
"column": 13,
"stop_line": 436,
"stop_column": 45,
"path": "src/paperless/views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `llm_embedding_model`",
"concise_description": "Object of class `NoneType` has no attribute `llm_embedding_model`",
"severity": "error"
},
{
"line": 439,
"column": 13,
"stop_line": 439,
"stop_column": 42,
"path": "src/paperless/views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `NoneType` has no attribute `llm_context_size`",
"concise_description": "Object of class `NoneType` has no attribute `llm_context_size`",
"severity": "error"
},
{
"line": 513,
"column": 23,
"stop_line": 513,
"stop_column": 45,
"path": "src/paperless/views.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of type `AbstractBaseUser | AnonymousUser` has no attribute `socialaccount_set`\n Object of class `AbstractBaseUser` has no attribute `socialaccount_set`\n Object of class `AnonymousUser` has no attribute `socialaccount_set`",
"concise_description": "Object of type `AbstractBaseUser | AnonymousUser` has no attribute `socialaccount_set`",
"severity": "error"
},
{
"line": 264,
"column": 41,
"stop_line": 264,
"stop_column": 47,
"path": "src/paperless_ai/ai_classifier.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `ClassificationSuggestions` is not assignable to parameter `raw` with type `dict[Unknown, Unknown]` in function `parse_ai_response`",
"concise_description": "Argument `ClassificationSuggestions` is not assignable to parameter `raw` with type `dict[Unknown, Unknown]` in function `parse_ai_response`",
"severity": "error"
},
{
"line": 269,
"column": 55,
"stop_line": 269,
"stop_column": 64,
"path": "src/paperless_ai/ai_classifier.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `ClassificationSuggestions` is not assignable to parameter `raw` with type `dict[Unknown, Unknown]` in function `parse_ai_response`",
"concise_description": "Argument `ClassificationSuggestions` is not assignable to parameter `raw` with type `dict[Unknown, Unknown]` in function `parse_ai_response`",
"severity": "error"
},
{
"line": 278,
"column": 46,
"stop_line": 278,
"stop_column": 51,
"path": "src/paperless_ai/ai_classifier.py",
"code": -2,
"name": "bad-typed-dict-key",
"description": "Invalid key for TypedDict `ClassificationSuggestions`, got `str`",
"concise_description": "Invalid key for TypedDict `ClassificationSuggestions`, got `str`",
"severity": "error"
},
{
"line": 279,
"column": 53,
"stop_line": 279,
"stop_column": 58,
"path": "src/paperless_ai/ai_classifier.py",
"code": -2,
"name": "bad-typed-dict-key",
"description": "Invalid key for TypedDict `ClassificationSuggestions`, got `str`",
"concise_description": "Invalid key for TypedDict `ClassificationSuggestions`, got `str`",
"severity": "error"
},
{
"line": 280,
"column": 36,
"stop_line": 280,
"stop_column": 41,
"path": "src/paperless_ai/ai_classifier.py",
"code": -2,
"name": "bad-typed-dict-key",
"description": "Invalid key for TypedDict `ClassificationSuggestions`, got `str`",
"concise_description": "Invalid key for TypedDict `ClassificationSuggestions`, got `str`",
"severity": "error"
},
{
"line": 189,
"column": 65,
"stop_line": 189,
"stop_column": 80,
"path": "src/paperless_ai/base_model.py",
"code": -2,
"name": "bad-index",
"description": "Cannot index into `dict[str, FieldInfo]`\n Argument `str | None` is not assignable to parameter `key` with type `str` in function `dict.__getitem__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Cannot index into `dict[str, FieldInfo]`",
"severity": "error"
},
{
"line": 45,
"column": 18,
"stop_line": 45,
"stop_column": 62,
"path": "src/paperless_ai/chat.py",
"code": -2,
"name": "bad-assignment",
"description": "`str | Any | None` is not assignable to dict value type `int | str`\n The declared type does not allow `None`. Consider changing the declared type to `int | str | None`.",
"concise_description": "`str | Any | None` is not assignable to dict value type `int | str`",
"severity": "error"
},
{
"line": 195,
"column": 26,
"stop_line": 195,
"stop_column": 54,
"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": 142,
"column": 60,
"stop_line": 142,
"stop_column": 82,
"path": "src/paperless_ai/client.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | Unknown | None` is not assignable to parameter `s` with type `bytearray | bytes | str` in function `json.loads`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | Unknown | None` is not assignable to parameter `s` with type `bytearray | bytes | str` in function `json.loads`",
"severity": "error"
},
{
"line": 111,
"column": 13,
"stop_line": 111,
"stop_column": 41,
"path": "src/paperless_ai/embedding.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str` is not assignable to parameter `key` with type `LLMEmbeddingBackend` in function `dict.get`",
"concise_description": "Argument `str` is not assignable to parameter `key` with type `LLMEmbeddingBackend` in function `dict.get`",
"severity": "error"
},
{
"line": 129,
"column": 50,
"stop_line": 129,
"stop_column": 59,
"path": "src/paperless_ai/embedding.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": 132,
"column": 21,
"stop_line": 132,
"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": 191,
"column": 59,
"stop_line": 191,
"stop_column": 65,
"path": "src/paperless_ai/taxonomy.py",
"code": -2,
"name": "not-iterable",
"description": "Type `object` is not iterable",
"concise_description": "Type `object` is not iterable",
"severity": "error"
},
{
"line": 485,
"column": 40,
"stop_line": 485,
"stop_column": 44,
"path": "src/paperless_ai/tests/test_ai_classifier.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.ai_classifier.get_taxonomy_context`",
"concise_description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.ai_classifier.get_taxonomy_context`",
"severity": "error"
},
{
"line": 545,
"column": 40,
"stop_line": 545,
"stop_column": 44,
"path": "src/paperless_ai/tests/test_ai_classifier.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.ai_classifier.get_taxonomy_context`",
"concise_description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.ai_classifier.get_taxonomy_context`",
"severity": "error"
},
{
"line": 634,
"column": 20,
"stop_line": 634,
"stop_column": 30,
"path": "src/paperless_ai/tests/test_ai_classifier.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `dict[str, list[dict[str, float | int | str]] | list[Unknown]]` is not assignable to parameter `candidates` with type `TaxonomyCandidates | None` in function `paperless_ai.ai_classifier.build_prompt_without_rag`\n Field `id` is `NotRequired` and read-write in `<anonymous>`, so it cannot be required in `TaxonomyCandidate`",
"concise_description": "Argument `dict[str, list[dict[str, float | int | str]] | list[Unknown]]` is not assignable to parameter `candidates` with type `TaxonomyCandidates | None` in function `paperless_ai.ai_classifier.build_prompt_without_rag`",
"severity": "error"
},
{
"line": 79,
"column": 37,
"stop_line": 79,
"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": 114,
"column": 44,
"stop_line": 114,
"stop_column": 48,
"path": "src/paperless_ai/tests/test_matching.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.matching.resolve_tag_ids`",
"concise_description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.matching.resolve_tag_ids`",
"severity": "error"
},
{
"line": 125,
"column": 44,
"stop_line": 125,
"stop_column": 48,
"path": "src/paperless_ai/tests/test_matching.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.matching.resolve_tag_ids`",
"concise_description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.matching.resolve_tag_ids`",
"severity": "error"
},
{
"line": 145,
"column": 44,
"stop_line": 145,
"stop_column": 48,
"path": "src/paperless_ai/tests/test_matching.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.matching.resolve_tag_ids`",
"concise_description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.matching.resolve_tag_ids`",
"severity": "error"
},
{
"line": 155,
"column": 36,
"stop_line": 155,
"stop_column": 40,
"path": "src/paperless_ai/tests/test_matching.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.matching.resolve_tag_ids`",
"concise_description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.matching.resolve_tag_ids`",
"severity": "error"
},
{
"line": 170,
"column": 21,
"stop_line": 170,
"stop_column": 26,
"path": "src/paperless_ai/tests/test_matching.py",
"code": -2,
"name": "bad-assignment",
"description": "`AbstractBaseUser` is not assignable to attribute `owner` with type `User | None`",
"concise_description": "`AbstractBaseUser` is not assignable to attribute `owner` with type `User | None`",
"severity": "error"
},
{
"line": 206,
"column": 34,
"stop_line": 206,
"stop_column": 38,
"path": "src/paperless_ai/tests/test_matching.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser` is not assignable to parameter with type `User`",
"concise_description": "Argument `AbstractBaseUser` is not assignable to parameter with type `User`",
"severity": "error"
},
{
"line": 58,
"column": 44,
"stop_line": 58,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 85,
"column": 44,
"stop_line": 85,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 107,
"column": 44,
"stop_line": 107,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 128,
"column": 44,
"stop_line": 128,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 146,
"column": 44,
"stop_line": 146,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 165,
"column": 44,
"stop_line": 165,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 182,
"column": 44,
"stop_line": 182,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 203,
"column": 44,
"stop_line": 203,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 220,
"column": 44,
"stop_line": 220,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 241,
"column": 44,
"stop_line": 241,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 268,
"column": 44,
"stop_line": 268,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 268,
"column": 56,
"stop_line": 268,
"stop_column": 60,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `AbstractBaseUser` is not assignable to parameter `user` with type `User | None` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 294,
"column": 21,
"stop_line": 294,
"stop_column": 26,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-assignment",
"description": "`AbstractBaseUser` is not assignable to attribute `owner` with type `User | None`",
"concise_description": "`AbstractBaseUser` is not assignable to attribute `owner` with type `User | None`",
"severity": "error"
},
{
"line": 301,
"column": 44,
"stop_line": 301,
"stop_column": 49,
"path": "src/paperless_ai/tests/test_taxonomy.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"concise_description": "Argument `list[SimpleNamespace]` is not assignable to parameter `nodes` with type `list[NodeWithScore]` in function `paperless_ai.taxonomy.build_taxonomy_candidates`",
"severity": "error"
},
{
"line": 117,
"column": 32,
"stop_line": 117,
"stop_column": 46,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[float] | None` is not assignable to parameter `embedding` with type `list[float]` in function `_query`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `list[float] | None` is not assignable to parameter `embedding` with type `list[float]` in function `_query`",
"severity": "error"
},
{
"line": 119,
"column": 16,
"stop_line": 119,
"stop_column": 31,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "unsupported-operation",
"description": "`None` is not subscriptable",
"concise_description": "`None` is not subscriptable",
"severity": "error"
},
{
"line": 121,
"column": 16,
"stop_line": 121,
"stop_column": 38,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "unsupported-operation",
"description": "`None` is not subscriptable",
"concise_description": "`None` is not subscriptable",
"severity": "error"
},
{
"line": 146,
"column": 23,
"stop_line": 146,
"stop_column": 33,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[str] | None` is not assignable to parameter `iterable` with type `Iterable[str]` in function `sorted`\n Protocol `Iterable` requires attribute `__iter__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `list[str] | None` is not assignable to parameter `iterable` with type `Iterable[str]` in function `sorted`",
"severity": "error"
},
{
"line": 160,
"column": 20,
"stop_line": 160,
"stop_column": 30,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[str] | None` is not assignable to parameter `obj` with type `Sized` in function `len`\n Protocol `Sized` requires attribute `__len__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `list[str] | None` is not assignable to parameter `obj` with type `Sized` in function `len`",
"severity": "error"
},
{
"line": 161,
"column": 45,
"stop_line": 161,
"stop_column": 80,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "no-matching-overload",
"description": "No matching overload found for function `sorted` called with arguments: (list[float] | None, reverse=Literal[True])\n Possible overloads:\n (iterable: Iterable[SupportsRichComparisonT], /, *, ..., reverse: bool = False) -> list[SupportsRichComparisonT] [closest match]\n (iterable: Iterable[_T], /, *, ..., reverse: bool = False) -> list[_T]\n Argument `list[float] | None` is not assignable to parameter `iterable` with type `Iterable[float]` in function `sorted`",
"concise_description": "No matching overload found for function `sorted` called with arguments: (list[float] | None, reverse=Literal[True])",
"severity": "error"
},
{
"line": 291,
"column": 13,
"stop_line": 291,
"stop_column": 75,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[str] | None` is not assignable to parameter `iterable` with type `Iterable[str]` in function `sorted`\n Protocol `Iterable` requires attribute `__iter__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `list[str] | None` is not assignable to parameter `iterable` with type `Iterable[str]` in function `sorted`",
"severity": "error"
},
{
"line": 304,
"column": 13,
"stop_line": 304,
"stop_column": 81,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[str] | None` is not assignable to parameter `iterable` with type `Iterable[str]` in function `sorted`\n Protocol `Iterable` requires attribute `__iter__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `list[str] | None` is not assignable to parameter `iterable` with type `Iterable[str]` in function `sorted`",
"severity": "error"
},
{
"line": 401,
"column": 36,
"stop_line": 401,
"stop_column": 39,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Literal['1']` is not assignable to parameter `document_id` with type `int` in function `make_node`",
"concise_description": "Argument `Literal['1']` is not assignable to parameter `document_id` with type `int` in function `make_node`",
"severity": "error"
},
{
"line": 401,
"column": 58,
"stop_line": 401,
"stop_column": 61,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `Literal['2']` is not assignable to parameter `document_id` with type `int` in function `make_node`",
"concise_description": "Argument `Literal['2']` is not assignable to parameter `document_id` with type `int` in function `make_node`",
"severity": "error"
},
{
"line": 424,
"column": 23,
"stop_line": 424,
"stop_column": 33,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[str] | None` is not assignable to parameter `iterable` with type `Iterable[str]` in function `sorted`\n Protocol `Iterable` requires attribute `__iter__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `list[str] | None` is not assignable to parameter `iterable` with type `Iterable[str]` in function `sorted`",
"severity": "error"
},
{
"line": 552,
"column": 16,
"stop_line": 552,
"stop_column": 65,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "not-iterable",
"description": "`in` is not supported between `Literal['c1']` and `None`",
"concise_description": "`in` is not supported between `Literal['c1']` and `None`",
"severity": "error"
},
{
"line": 742,
"column": 37,
"stop_line": 742,
"stop_column": 55,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-assignment",
"description": "`int` is not assignable to attribute `SCHEMA_VERSION` with type `Literal[2]`",
"concise_description": "`int` is not assignable to attribute `SCHEMA_VERSION` with type `Literal[2]`",
"severity": "error"
},
{
"line": 811,
"column": 37,
"stop_line": 811,
"stop_column": 55,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-assignment",
"description": "`int` is not assignable to attribute `SCHEMA_VERSION` with type `Literal[2]`",
"concise_description": "`int` is not assignable to attribute `SCHEMA_VERSION` with type `Literal[2]`",
"severity": "error"
},
{
"line": 900,
"column": 37,
"stop_line": 900,
"stop_column": 55,
"path": "src/paperless_ai/tests/test_vector_store.py",
"code": -2,
"name": "bad-assignment",
"description": "`int` is not assignable to attribute `SCHEMA_VERSION` with type `Literal[2]`",
"concise_description": "`int` is not assignable to attribute `SCHEMA_VERSION` with type `Literal[2]`",
"severity": "error"
},
{
"line": 159,
"column": 31,
"stop_line": 159,
"stop_column": 38,
"path": "src/paperless_ai/vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `float | int | list[float] | list[int] | list[str] | str | None` is not assignable to parameter `x` with type `Buffer | SupportsIndex | SupportsInt | SupportsTrunc | str` in function `int.__new__`\n Protocol `Buffer` requires attribute `__buffer__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `float | int | list[float] | list[int] | list[str] | str | None` is not assignable to parameter `x` with type `Buffer | SupportsIndex | SupportsInt | SupportsTrunc | str` in function `int.__new__`",
"severity": "error"
},
{
"line": 162,
"column": 31,
"stop_line": 162,
"stop_column": 38,
"path": "src/paperless_ai/vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `float | int | list[float] | list[int] | list[str] | str | None` is not assignable to parameter `x` with type `Buffer | SupportsIndex | SupportsInt | SupportsTrunc | str` in function `int.__new__`\n Protocol `Buffer` requires attribute `__buffer__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `float | int | list[float] | list[int] | list[str] | str | None` is not assignable to parameter `x` with type `Buffer | SupportsIndex | SupportsInt | SupportsTrunc | str` in function `int.__new__`",
"severity": "error"
},
{
"line": 364,
"column": 29,
"stop_line": 364,
"stop_column": 40,
"path": "src/paperless_ai/vector_store.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | Any | None` is not assignable to parameter `x` with type `Buffer | SupportsIndex | SupportsInt | SupportsTrunc | str` in function `int.__new__`\n Protocol `Buffer` requires attribute `__buffer__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | Any | None` is not assignable to parameter `x` with type `Buffer | SupportsIndex | SupportsInt | SupportsTrunc | str` in function `int.__new__`",
"severity": "error"
},
{
"line": 198,
"column": 64,
"stop_line": 198,
"stop_column": 76,
"path": "src/paperless_mail/mail.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `str | Unknown | None` is not assignable to parameter `*args` with type `str` in function `imaplib.IMAP4.uid`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | Unknown | None` is not assignable to parameter `*args` with type `str` in function `imaplib.IMAP4.uid`",
"severity": "error"
},
{
"line": 210,
"column": 33,
"stop_line": 210,
"stop_column": 70,
"path": "src/paperless_mail/mail.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[str] | None` is not assignable to parameter `flag_set` with type `Iterable[str] | str` in function `imap_tools.mailbox.BaseMailBox.flag`\n Protocol `Iterable` requires attribute `__iter__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `list[str] | None` is not assignable to parameter `flag_set` with type `Iterable[str] | str` in function `imap_tools.mailbox.BaseMailBox.flag`",
"severity": "error"
},
{
"line": 289,
"column": 53,
"stop_line": 289,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `parameter` with type `str` in function `BaseMailAction.post_consume`",
"severity": "error"
},
{
"line": 403,
"column": 13,
"stop_line": 403,
"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__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `parameter` with type `str` in function `TagMailAction.__init__`",
"severity": "error"
},
{
"line": 420,
"column": 30,
"stop_line": 420,
"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": 422,
"column": 27,
"stop_line": 422,
"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": 424,
"column": 32,
"stop_line": 424,
"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": 426,
"column": 29,
"stop_line": 426,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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__`\n Protocol `Iterable` requires attribute `__iter__`",
"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": 434,
"column": 38,
"stop_line": 434,
"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": 434,
"column": 38,
"stop_line": 434,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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__`\n Protocol `Iterable` requires attribute `__iter__`",
"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": 438,
"column": 32,
"stop_line": 438,
"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": 438,
"column": 32,
"stop_line": 438,
"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": 486,
"column": 13,
"stop_line": 486,
"stop_column": 23,
"path": "src/paperless_mail/mail.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `PinnedClientMixin` has no attribute `_host`",
"concise_description": "Object of class `PinnedClientMixin` has no attribute `_host`",
"severity": "error"
},
{
"line": 487,
"column": 13,
"stop_line": 487,
"stop_column": 23,
"path": "src/paperless_mail/mail.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `PinnedClientMixin` has no attribute `_port`",
"concise_description": "Object of class `PinnedClientMixin` has no attribute `_port`",
"severity": "error"
},
{
"line": 490,
"column": 21,
"stop_line": 490,
"stop_column": 34,
"path": "src/paperless_mail/mail.py",
"code": -2,
"name": "missing-attribute",
"description": "Object of class `PinnedClientMixin` has no attribute `_timeout`",
"concise_description": "Object of class `PinnedClientMixin` has no attribute `_timeout`",
"severity": "error"
},
{
"line": 557,
"column": 12,
"stop_line": 557,
"stop_column": 19,
"path": "src/paperless_mail/mail.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `PinnedMailBox | PinnedMailBoxStartTls | PinnedMailBoxUnencrypted` is not assignable to declared return type `MailBox`",
"concise_description": "Returned type `PinnedMailBox | PinnedMailBoxStartTls | PinnedMailBoxUnencrypted` is not assignable to declared return type `MailBox`",
"severity": "error"
},
{
"line": 713,
"column": 54,
"stop_line": 713,
"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": 716,
"column": 29,
"stop_line": 716,
"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": 762,
"column": 31,
"stop_line": 762,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `object` with type `str` in function `list.insert`",
"severity": "error"
},
{
"line": 769,
"column": 44,
"stop_line": 769,
"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": 1152,
"column": 40,
"stop_line": 1152,
"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": 1156,
"column": 32,
"stop_line": 1156,
"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": 1157,
"column": 32,
"stop_line": 1157,
"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": 1158,
"column": 17,
"stop_line": 1158,
"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": 1172,
"column": 27,
"stop_line": 1172,
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"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": 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": 32,
"column": 11,
"stop_line": 32,
"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": 90,
"column": 11,
"stop_line": 90,
"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": 166,
"column": 11,
"stop_line": 166,
"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": 125,
"column": 41,
"stop_line": 125,
"stop_column": 45,
"path": "src/paperless_mail/tests/test_api.py",
"code": -2,
"name": "unsupported-operation",
"description": "Cannot set item in `dict[str, MailAccount.ImapSecurity | str]`\n Argument `None` is not assignable to parameter `value` with type `MailAccount.ImapSecurity | str` in function `dict.__setitem__`",
"concise_description": "Cannot set item in `dict[str, MailAccount.ImapSecurity | str]`",
"severity": "error"
},
{
"line": 63,
"column": 44,
"stop_line": 63,
"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": 85,
"column": 37,
"stop_line": 85,
"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": 128,
"column": 37,
"stop_line": 128,
"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": 133,
"column": 37,
"stop_line": 133,
"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": 137,
"column": 37,
"stop_line": 137,
"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": 153,
"column": 16,
"stop_line": 153,
"stop_column": 64,
"path": "src/paperless_mail/tests/test_mail.py",
"code": -2,
"name": "bad-return",
"description": "Returned type `list[str | None]` is not assignable to declared return type `list[str]`",
"concise_description": "Returned type `list[str | None]` is not assignable to declared return type `list[str]`",
"severity": "error"
},
{
"line": 203,
"column": 25,
"stop_line": 203,
"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": 205,
"column": 25,
"stop_line": 205,
"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": 291,
"column": 9,
"stop_line": 291,
"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": 292,
"column": 9,
"stop_line": 292,
"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": 518,
"column": 50,
"stop_line": 518,
"stop_column": 64,
"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": 527,
"column": 54,
"stop_line": 527,
"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": 533,
"column": 40,
"stop_line": 533,
"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": 538,
"column": 40,
"stop_line": 538,
"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": 547,
"column": 40,
"stop_line": 547,
"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": 550,
"column": 40,
"stop_line": 550,
"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": 559,
"column": 40,
"stop_line": 559,
"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": 574,
"column": 45,
"stop_line": 574,
"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": 574,
"column": 54,
"stop_line": 574,
"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": 579,
"column": 45,
"stop_line": 579,
"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": 579,
"column": 54,
"stop_line": 579,
"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": 584,
"column": 45,
"stop_line": 584,
"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": 584,
"column": 54,
"stop_line": 584,
"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": 623,
"column": 49,
"stop_line": 623,
"stop_column": 55,
"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": 630,
"column": 41,
"stop_line": 630,
"stop_column": 53,
"path": "src/paperless_mail/tests/test_mail.py",
"code": -2,
"name": "bad-argument-type",
"description": "Argument `list[str | None]` is not assignable to parameter `uid` with type `Iterable[str] | UidRange | str | None` in function `imap_tools.query.LogicOperator.__init__`",
"concise_description": "Argument `list[str | None]` is not assignable to parameter `uid` with type `Iterable[str] | UidRange | str | None` in function `imap_tools.query.LogicOperator.__init__`",
"severity": "error"
},
{
"line": 1675,
"column": 9,
"stop_line": 1675,
"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": 1681,
"column": 9,
"stop_line": 1681,
"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": 1708,
"column": 9,
"stop_line": 1708,
"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": 1714,
"column": 9,
"stop_line": 1714,
"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": 1778,
"column": 51,
"stop_line": 1778,
"stop_column": 55,
"path": "src/paperless_mail/tests/test_mail.py",
"code": -2,
"name": "bad-assignment",
"description": "`int` is not assignable to dict value type `str`",
"concise_description": "`int` is not assignable to dict value type `str`",
"severity": "error"
},
{
"line": 1797,
"column": 51,
"stop_line": 1797,
"stop_column": 55,
"path": "src/paperless_mail/tests/test_mail.py",
"code": -2,
"name": "bad-assignment",
"description": "`None` is not assignable to dict value type `str`\n The declared type does not allow `None`. Consider changing the declared type to `str | None`.",
"concise_description": "`None` is not assignable to dict value type `str`",
"severity": "error"
},
{
"line": 2077,
"column": 41,
"stop_line": 2077,
"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 | Iterable[Any]` in function `unittest.case.TestCase.assertIn`\n Protocol `Container` requires attribute `__contains__`\n The declared type does not allow `None`. Consider narrowing the value with an `is not None` check.",
"concise_description": "Argument `str | None` is not assignable to parameter `container` with type `Container | Iterable[Any]` in function `unittest.case.TestCase.assertIn`",
"severity": "error"
},
{
"line": 135,
"column": 42,
"stop_line": 135,
"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": 146,
"column": 42,
"stop_line": 146,
"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": 178,
"column": 46,
"stop_line": 178,
"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": 188,
"column": 46,
"stop_line": 188,
"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": 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": 308,
"column": 28,
"stop_line": 308,
"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": 314,
"column": 29,
"stop_line": 314,
"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": 318,
"column": 26,
"stop_line": 318,
"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"
}
]
}