mailrule_id=self.input_doc.mailrule_id,
# Can't use same folder or the consume might grab it again
original_file=(tmp_dir / new_document.name).resolve(),
+ # Adding optional original_path for later uses in
+ # workflow matching
+ original_path=self.input_doc.original_file,
),
# All the same metadata
self.metadata,
source: DocumentSource
original_file: Path
+ original_path: Path | None = None
mailrule_id: int | None = None
mime_type: str = dataclasses.field(init=False, default=None)
trigger_matched = False
# Document path vs trigger path
+
+ # Use the original_path if set, else us the original_file
+ match_against = (
+ document.original_path
+ if document.original_path is not None
+ else document.original_file
+ )
+
if (
trigger.filter_path is not None
and len(trigger.filter_path) > 0
and not fnmatch(
- document.original_file,
+ match_against,
trigger.filter_path,
)
):
self.assertIsNotFile(temp_copy)
# Check the split files exist
+ # Check the original_path is set
# Check the source is unchanged
# Check the overrides are unchanged
for (
new_input_doc,
new_doc_overrides,
) in self.get_all_consume_delay_call_args():
- self.assertEqual(new_input_doc.source, DocumentSource.ConsumeFolder)
self.assertIsFile(new_input_doc.original_file)
+ self.assertEqual(new_input_doc.original_path, temp_copy)
+ self.assertEqual(new_input_doc.source, DocumentSource.ConsumeFolder)
self.assertEqual(overrides, new_doc_overrides)