Skip to content

Commit 891891e

Browse files
authored
Use custom set to uniquenames() when workflow packing. (#273)
1 parent 07ffee5 commit 891891e

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

cwltool/pack.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,16 @@ def loadref(b, u):
5959
for f in fdeps:
6060
find_run(document_loader.idx[f], runs)
6161

62+
names = set() # type: Set[Text]
6263
rewrite = {}
6364
if isinstance(processobj, list):
6465
for p in processobj:
65-
rewrite[p["id"]] = "#" + uniquename(shortname(p["id"]))
66+
rewrite[p["id"]] = "#" + uniquename(shortname(p["id"]), names)
6667
else:
6768
rewrite[uri] = "#main"
6869

6970
for r in sorted(runs):
70-
rewrite[r] = "#" + uniquename(shortname(r))
71+
rewrite[r] = "#" + uniquename(shortname(r), names)
7172

7273
packed = {"$graph": [], "cwlVersion": metadata["cwlVersion"]
7374
} # type: Dict[Text, Any]

cwltool/process.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -610,14 +610,16 @@ def empty_subtree(dirpath): # type: (Text) -> bool
610610

611611
_names = set() # type: Set[Text]
612612

613-
614-
def uniquename(stem): # type: (Text) -> Text
613+
def uniquename(stem, names=None): # type: (Text, Set[Text]) -> Text
614+
global _names
615+
if names is None:
616+
names = _names
615617
c = 1
616618
u = stem
617-
while u in _names:
619+
while u in names:
618620
c += 1
619621
u = u"%s_%s" % (stem, c)
620-
_names.add(u)
622+
names.add(u)
621623
return u
622624

623625
def nestdir(base, deps):

0 commit comments

Comments
 (0)