From dd6d61c328b7ab420ef6953e62b75c3314dd1ab1 Mon Sep 17 00:00:00 2001 From: Erick Martins Ratamero Date: Mon, 13 May 2024 08:54:41 -0400 Subject: [PATCH] Making reference to image IDs not contained in a pack negative in Figures (#84) * replacing non-source image IDs with -1 * using the correct var and type --- src/generate_omero_objects.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/generate_omero_objects.py b/src/generate_omero_objects.py index 5ca5c98..5d49db6 100644 --- a/src/generate_omero_objects.py +++ b/src/generate_omero_objects.py @@ -25,6 +25,7 @@ import xml.etree.cElementTree as ETree import os import copy +import re def create_or_set_projects(pjs: List[Project], conn: BlitzGateway, @@ -287,9 +288,14 @@ def update_figure_refs(ann: FileAnnotation, ans: List[Annotation], filedata = file.read() for src_id, dest_id in img_map.items(): clean_id = int(src_id.split(":")[-1]) - src_str = f"\"imageId\": {clean_id}" - dest_str = f"\"imageId\": {dest_id}" + src_str = f"\"imageId\": {clean_id}," + dest_str = f"\"imageId\": {dest_id}," filedata = filedata.replace(src_str, dest_str) + for fig in re.finditer("\"imageId\": ([0-9]+),", filedata): + if int(fig.group(1)) not in img_map.values(): + src_str = f"\"imageId\": {fig.group(1)}," + dest_str = f"\"imageId\": {str(-1)}," + filedata = filedata.replace(src_str, dest_str) with open(dest_path, 'w') as file: file.write(filedata) return