13306: Updating dict value iteration to be more efficient with py2
authorEric Biagiotti <ebiagiotti@veritasgenetcs.com>
Thu, 17 Jan 2019 16:21:04 +0000 (11:21 -0500)
committerEric Biagiotti <ebiagiotti@veritasgenetcs.com>
Thu, 17 Jan 2019 16:21:04 +0000 (11:21 -0500)
Arvados-DCO-1.1-Signed-off-by:  Eric Biagiotti <ebiagiotti@veritasgenetics.com>

sdk/cwl/arvados_cwl/executor.py
sdk/cwl/arvados_cwl/runner.py
sdk/cwl/tests/test_submit.py

index e5a3d598582094466a918aadf44be8657c25cac2..14ea8c534c838794e418beb714a4ecfc794977d5 100644 (file)
@@ -5,6 +5,7 @@
 from __future__ import division
 from builtins import next
 from builtins import object
+from future.utils import viewvalues
 from past.utils import old_div
 
 import argparse
@@ -411,7 +412,7 @@ http://doc.arvados.org/install/install-api-server.html#disable_api_methods
                             "Option 'dockerOutputDirectory' must be an absolute path.")
             if obj.get("class") == "http://commonwl.org/cwltool#Secrets" and self.work_api != "containers":
                 raise SourceLine(obj, "class", UnsupportedRequirement).makeError("Secrets not supported with --api=jobs")
-            for v in obj.values():
+            for v in viewvalues(obj):
                 self.check_features(v)
         elif isinstance(obj, list):
             for i,v in enumerate(obj):
index 70cbcaf0a73ca031e4fde22176fdc19fe6532835..38975052384af13528f96cb9ff051682aa14badd 100644 (file)
@@ -4,6 +4,7 @@
 
 from future import standard_library
 standard_library.install_aliases()
+from future.utils import viewvalues
 
 import os
 import urllib.parse
@@ -64,7 +65,7 @@ def find_defaults(d, op):
         if "default" in d:
             op(d)
         else:
-            for i in d.values():
+            for i in viewvalues(d):
                 find_defaults(i, op)
 
 def setSecondary(t, fileobj, discovered):
index a1ace717bb70b4f59b937ca02552a7dd023a01fd..782282d2a0d4312a8a25a18b970d009bc6a9f66f 100644 (file)
@@ -6,6 +6,7 @@ from future import standard_library
 standard_library.install_aliases()
 from builtins import object
 from builtins import str
+from future.utils import viewvalues
 
 import copy
 import io
@@ -101,7 +102,7 @@ def stubs(func):
             return CollectionExecute(created_collections[uuid])
 
         def collection_getstub(created_collections, uuid):
-            for v in created_collections.values():
+            for v in viewvalues(created_collections):
                 if uuid in (v["uuid"], v["portable_data_hash"]):
                     return CollectionExecute(v)