Mas testing

This commit is contained in:
shamoon
2025-12-31 16:24:01 -08:00
parent c0c2202564
commit 5fe46cac55
3 changed files with 208 additions and 12 deletions

View File

@@ -116,6 +116,24 @@ class BarcodePlugin(ConsumeTaskPlugin):
self._tiff_conversion_done = False
self.barcodes: list[Barcode] = []
def _apply_detected_asn(self, detected_asn: int) -> None:
"""
Apply a detected ASN to metadata if allowed.
"""
if (
self.metadata.skip_asn_if_exists
and Document.global_objects.filter(
archive_serial_number=detected_asn,
).exists()
):
logger.info(
f"Found ASN in barcode {detected_asn} but skipping because it already exists.",
)
return
logger.info(f"Found ASN in barcode: {detected_asn}")
self.metadata.asn = detected_asn
def run(self) -> None:
# Some operations may use PIL, override pixel setting if needed
maybe_override_pixel_limit()
@@ -188,18 +206,7 @@ class BarcodePlugin(ConsumeTaskPlugin):
# Update/overwrite an ASN if possible
# After splitting, as otherwise each split document gets the same ASN
if self.settings.barcode_enable_asn and (located_asn := self.asn) is not None:
if (
self.metadata.skip_asn_if_exists
and Document.global_objects.filter(
archive_serial_number=located_asn,
).exists()
):
logger.info(
f"Found ASN in barcode {located_asn} but skipping because it already exists.",
)
else:
logger.info(f"Found ASN in barcode: {located_asn}")
self.metadata.asn = located_asn
self._apply_detected_asn(located_asn)
def cleanup(self) -> None:
self.temp_dir.cleanup()