ImageResizer / image_resizer /duplicate_log.py
Laxmikant Nirmohi
Add duplicate URL detection and concise reporting in workbook mode.
3ea1220
Raw
History Blame Contribute Delete
875 Bytes
"""Duplicate image URL logging."""
import logging
from datetime import datetime
from image_resizer.config import DUPLICATE_LOG_PATH
from image_resizer.models import DuplicateRecord
logger = logging.getLogger(__name__)
def log_duplicates(records: list[DuplicateRecord]) -> None:
"""Append duplicate URL entries to the log file."""
if not records:
return
timestamp = datetime.now().isoformat(timespec="seconds")
lines: list[str] = []
for record in records:
lines.append(
f"{timestamp}\t{record['row']}\t{record['original_row']}\t"
f"{record['sheet']}\t{record['column']}\t{record['url']}\t"
f"{record['name']}\t{record['original_name']}\n"
)
try:
with open(DUPLICATE_LOG_PATH, "a", encoding="utf-8") as f:
f.writelines(lines)
except OSError as e:
logger.error("Could not write to %s: %s", DUPLICATE_LOG_PATH, e)