diff omero_get_children_ids.py @ 1:82f2efb46200 draft default tip

planemo upload for repository https://github.com/lldelisle/tools-lldelisle/tree/master/tools/omero_get_children_ids commit 3a5c830ad68e29c5e9f91edffa0a548c77aac141
author lldelisle
date Mon, 17 Jun 2024 08:05:48 +0000
parents b0876c73076b
children
line wrap: on
line diff
--- a/omero_get_children_ids.py	Fri Dec 22 12:55:40 2023 +0000
+++ b/omero_get_children_ids.py	Mon Jun 17 08:05:48 2024 +0000
@@ -20,22 +20,32 @@
     return (omero_username, omero_password)
 
 
-def recursive_get_children_id(parent_object, final_object_type):
+def recursive_get_children_id(parent_object, final_object_type, get_name):
     output = []
     if parent_object.OMERO_CLASS == 'WellSample':
-        return [parent_object.getImage().id]
+        if get_name:
+            parent_image = parent_object.getImage()
+            return [f"{parent_image.id}\t{parent_image.getName()}"]
+        else:
+            return [parent_object.getImage().id]
     for children in parent_object.listChildren():
         if children.OMERO_CLASS == final_object_type.title():
-            output.append(children.id)
+            if get_name:
+                output.append(f"{children.id}\t{children.getName()}")
+            else:
+                output.append(children.id)
         else:
             # We need to go one step further
-            output += recursive_get_children_id(children, final_object_type)
+            output += recursive_get_children_id(
+                children, final_object_type, get_name
+            )
     return output
 
 
 def get_children_ids(parent_object_type,
                      omero_id,
                      final_object_type,
+                     get_name,
                      omero_username,
                      omero_password,
                      omero_host="idr.openmicroscopy.org",
@@ -46,7 +56,9 @@
     ) as conn:
         # Retrieve omero object
         parent_object = conn.getObject(parent_object_type.title(), omero_id)
-        return recursive_get_children_id(parent_object, final_object_type)
+        return recursive_get_children_id(
+            parent_object, final_object_type, get_name
+        )
 
 
 if __name__ == "__main__":
@@ -62,12 +74,15 @@
                    type=int, default=None, required=True)
     p.add_argument("--final-object-type", dest="final_object_type",
                    type=str, default=None, required=True)
+    p.add_argument("--get-name", dest="get_name",
+                   action="store_true", default=False)
     p.add_argument("--output", type=str, default=None, required=True)
     args = p.parse_args()
     children_ids = get_children_ids(
         args.parent_object_type,
         args.omero_id,
         args.final_object_type,
+        args.get_name,
         *get_omero_credentials(args.config_file),
         omero_host=args.omero_host,
         omero_secured=args.omero_secured,