diff --git a/src/photools3/metadata_writer.py b/src/photools3/metadata_writer.py index 0e2df60..e2d8b8f 100644 --- a/src/photools3/metadata_writer.py +++ b/src/photools3/metadata_writer.py @@ -1,4 +1,5 @@ import logging +import shutil from pathlib import Path from typing import Annotated, Any @@ -9,6 +10,13 @@ from photools3.settings import settings log = logging.getLogger(__name__) +_EXIFTOOL_MISSING_MSG = ( + "exiftool binary not found in PATH. " + "Install the system package: 'perl-image-exiftool' (Arch) or 'libimage-exiftool-perl' (Debian/Ubuntu)." +) +if shutil.which("exiftool") is None: + raise FileNotFoundError(_EXIFTOOL_MISSING_MSG) + # File extensions that should use XMP sidecars SIDECAR_EXTENSIONS = {".dng", ".nef", ".cr2", ".cr3", ".arw", ".raf", ".orf", ".rw2"}