from datetime import date
from datetime import timedelta
from fnmatch import fnmatch
+from pathlib import Path
from typing import Optional
from typing import Union
if is_mime_type_supported(mime_type):
os.makedirs(settings.SCRATCH_DIR, exist_ok=True)
- _, temp_filename = tempfile.mkstemp(
- prefix="paperless-mail-",
- dir=settings.SCRATCH_DIR,
+
+ temp_dir = Path(
+ tempfile.mkdtemp(
+ prefix="paperless-mail-",
+ dir=settings.SCRATCH_DIR,
+ ),
)
- with open(temp_filename, "wb") as f:
- f.write(att.payload)
+ temp_filename = temp_dir / pathvalidate.sanitize_filename(att.filename)
+ temp_filename.write_bytes(att.payload)
self.log.info(
f"Rule {rule}: "
self.assertEqual(len(self.bogus_mailbox.fetch("UNSEEN", False)), 0)
self.assertEqual(len(self.bogus_mailbox.messages), 3)
- def assert_queue_consumption_tasks_call_args(self, expected_call_args: list):
+ def assert_queue_consumption_tasks_call_args(
+ self,
+ expected_call_args: list[list[dict[str, str]]],
+ ):
"""
Verifies that queue_consumption_tasks has been called with the expected arguments.
"""
- # assert number of calls to queue_consumption_tasks mathc
+ # assert number of calls to queue_consumption_tasks match
self.assertEqual(
len(self._queue_consumption_tasks_mock.call_args_list),
len(expected_call_args),