18574: Adds support for value list conversion.
authorLucas Di Pentima <lucas.dipentima@curii.com>
Tue, 1 Mar 2022 22:40:05 +0000 (19:40 -0300)
committerLucas Di Pentima <lucas.dipentima@curii.com>
Tue, 1 Mar 2022 22:40:05 +0000 (19:40 -0300)
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima@curii.com>

sdk/python/arvados/vocabulary.py

index a8c03ebf30ec458b7f469261e5f5a189cb3ddd6e..a3344a17b912a6967ad83ffee564dd5a8fc21605 100644 (file)
@@ -46,7 +46,10 @@ class Vocabulary(object):
             try:
                 k_id = self[k].identifier
                 try:
-                    v_id = self[k][v].identifier
+                    if isinstance(v, list):
+                        v_id = [self[k][x].identifier for x in v]
+                    else:
+                        v_id = self[k][v].identifier
                 except KeyError:
                     if self[k].strict:
                         raise ValueError("value '%s' not found for key '%s'" % (v, k))
@@ -67,7 +70,10 @@ class Vocabulary(object):
             try:
                 k_lbl = self[k].preferred_label
                 try:
-                    v_lbl = self[k][v].preferred_label
+                    if isinstance(v, list):
+                        v_lbl = [self[k][x].preferred_label for x in v]
+                    else:
+                        v_lbl = self[k][v].preferred_label
                 except KeyError:
                     if self[k].strict:
                         raise ValueError("value '%s' not found for key '%s'" % (v, k))