@@ -114,10 +114,12 @@ def loadref(b, u):
114
114
# type: (Text, Text) -> Union[Dict, List, Text]
115
115
return document_loader .resolve_ref (u , base_url = b )[0 ]
116
116
117
+ ids = set () # type: Set[Text]
118
+ find_ids (processobj , ids )
119
+
117
120
runs = {uri }
118
121
find_run (processobj , loadref , runs )
119
122
120
- ids = set () # type: Set[Text]
121
123
for f in runs :
122
124
find_ids (document_loader .resolve_ref (f )[0 ], ids )
123
125
@@ -134,8 +136,10 @@ def rewrite_id(r, mainuri):
134
136
if r == mainuri :
135
137
rewrite [r ] = "#main"
136
138
elif r .startswith (mainuri ) and r [len (mainuri )] in ("#" , "/" ):
137
- path , frag = urllib .parse .urldefrag (r )
138
- rewrite [r ] = "#" + frag
139
+ if r [len (mainuri ):].startswith ("#main/" ):
140
+ rewrite [r ] = "#" + uniquename (r [len (mainuri )+ 1 :], names )
141
+ else :
142
+ rewrite [r ] = "#" + uniquename ("main/" + r [len (mainuri )+ 1 :], names )
139
143
else :
140
144
path , frag = urllib .parse .urldefrag (r )
141
145
if path == mainpath :
@@ -147,8 +151,7 @@ def rewrite_id(r, mainuri):
147
151
sortedids = sorted (ids )
148
152
149
153
for r in sortedids :
150
- if r in document_loader .idx :
151
- rewrite_id (r , uri )
154
+ rewrite_id (r , uri )
152
155
153
156
packed = {"$graph" : [], "cwlVersion" : metadata ["cwlVersion" ]
154
157
} # type: Dict[Text, Any]
0 commit comments