diff --git a/modules/generate_html.py b/modules/generate_html.py index 9f0e19d..04ed2ac 100644 --- a/modules/generate_html.py +++ b/modules/generate_html.py @@ -184,6 +184,7 @@ def get_image_info(item: str, folder: str) -> dict[str, Any]: tags = [] xmp = None if xmpdata: + logger.info("extracting XMP data", extra={"file": file}) if xmpdata.get("xmpmeta", False): if isinstance(xmpdata["xmpmeta"]["RDF"]["Description"], dict): if xmpdata["xmpmeta"]["RDF"]["Description"].get("subject", False): @@ -204,6 +205,16 @@ def get_image_info(item: str, folder: str) -> dict[str, Any]: def get_tags(sidecarfile: str) -> list[str]: + """ + Extracts Tags from XMP sidecar file + + Args: + sidecarfile (str): The path to the XMP sidecar file. + + Returns: + list[str]: List containing image tags. + """ + logger.info("extracting XMP sidecar file data", extra={"file": sidecarfile}) with open(sidecarfile) as sidecar: strbuffer = sidecar.read() xmpdata = getxmp(strbuffer) @@ -245,7 +256,11 @@ def process_image(item: str, folder: str, _args: Args, baseurl: str, metadata: d metadata[item] = get_image_info(item, folder) sidecarfile = os.path.join(folder, item + ".xmp") if os.path.exists(sidecarfile): - metadata[item]["tags"] = get_tags(sidecarfile) + logger.info("xmp sidecar file found", extra={"file": sidecarfile}) + try: + metadata[item]["tags"] = get_tags(sidecarfile) + except Exception as e: + logger.error(e) image = { "url": f"{_args.web_root_url}{baseurl}{urllib.parse.quote(item)}",