13306: Updating dict items as lists to improve py2 performance
authorEric Biagiotti <ebiagiotti@veritasgenetcs.com>
Thu, 17 Jan 2019 20:55:24 +0000 (15:55 -0500)
committerEric Biagiotti <ebiagiotti@veritasgenetcs.com>
Thu, 17 Jan 2019 20:55:24 +0000 (15:55 -0500)
Arvados-DCO-1.1-Signed-off-by:  Eric Biagiotti <ebiagiotti@veritasgenetics.com>

sdk/cwl/arvados_cwl/__init__.py
sdk/cwl/arvados_cwl/arvjob.py
sdk/cwl/arvados_cwl/pathmapper.py
sdk/cwl/arvados_cwl/runner.py

index 6e45ec57658379299908f347efd7c243d12e5805..09deabd22de45609f8920b7928529523b4ec4f69 100644 (file)
@@ -6,6 +6,7 @@
 # Implement cwl-runner interface for submitting and running work on Arvados, using
 # either the Crunch jobs API or Crunch containers API.
 
+from future.utils import viewitems
 from builtins import str
 
 import argparse
@@ -273,7 +274,7 @@ def main(args, stdout, stderr, api_client=None, keep_client=None,
 
     add_arv_hints()
 
-    for key, val in list(cwltool.argparser.get_default_args().items()):
+    for key, val in viewitems(cwltool.argparser.get_default_args()):
         if not hasattr(arvargs, key):
             setattr(arvargs, key, val)
 
index 2d1f7d2111f45492cb2ec1b3f81116e76bfaaa4a..bdf798d300f31da91d9810d33be85f0141701dfd 100644 (file)
@@ -4,6 +4,7 @@
 
 from past.builtins import basestring
 from builtins import object
+from future.utils import viewitems
 
 import logging
 import re
@@ -346,7 +347,7 @@ class RunnerJob(Runner):
             find_or_create=self.enable_reuse
         ).execute(num_retries=self.arvrunner.num_retries)
 
-        for k,v in list(job_spec["script_parameters"].items()):
+        for k,v in viewitems(job_spec["script_parameters"]):
             if v is False or v is None or isinstance(v, dict):
                 job_spec["script_parameters"][k] = {"value": v}
 
index 484b2093b71adadb95c1d030bbe7470a425e48b7..2be850c5cdb2c2d7499b1d74c2fb0ee6733ed43b 100644 (file)
@@ -6,6 +6,7 @@ from future import standard_library
 standard_library.install_aliases()
 from builtins import str
 from past.builtins import basestring
+from future.utils import viewitems
 
 import re
 import logging
@@ -306,7 +307,7 @@ class VwdPathMapper(StagingPathMapper):
         # with any secondary files.
         self.visitlisting(referenced_files, self.stagedir, basedir)
 
-        for path, (ab, tgt, type, staged) in list(self._pathmap.items()):
+        for path, (ab, tgt, type, staged) in viewitems(self._pathmap):
             if type in ("File", "Directory") and ab.startswith("keep:"):
                 self._pathmap[path] = MapperEnt("$(task.keep)/%s" % ab[5:], tgt, type, staged)
 
index 8bcad4828d10cc7a19f767beee2fe58e976d196d..2a86a0556881f47a9abac2cdf743c5d7ecb74833 100644 (file)
@@ -4,7 +4,7 @@
 
 from future import standard_library
 standard_library.install_aliases()
-from future.utils import viewvalues
+from future.utils import  viewvalues, viewitems
 
 import os
 import urllib.parse
@@ -236,7 +236,7 @@ def packed_workflow(arvrunner, tool, merged_map):
     packed = pack(tool.doc_loader, tool.doc_loader.fetch(tool.tool["id"]),
                   tool.tool["id"], tool.metadata, rewrite_out=rewrites)
 
-    rewrite_to_orig = {v: k for k,v in list(rewrites.items())}
+    rewrite_to_orig = {v: k for k,v in viewitems(rewrites)}
 
     def visit(v, cur_id):
         if isinstance(v, dict):