@@ -149,21 +149,21 @@ def __init__(self, referenced_files, basedir, stagedir, separateDirs=True):
149
149
self .separateDirs = separateDirs
150
150
self .setup (dedup (referenced_files ), basedir )
151
151
152
- def visitlisting (self , listing , stagedir , basedir ):
153
- # type: (List[Dict[Text, Any]], Text, Text) -> None
152
+ def visitlisting (self , listing , stagedir , basedir , copy = False ):
153
+ # type: (List[Dict[Text, Any]], Text, Text, bool ) -> None
154
154
for ld in listing :
155
155
tgt = os .path .join (stagedir , ld ["basename" ])
156
156
if ld ["class" ] == "Directory" :
157
- self .visit (ld , stagedir , basedir , copy = ld .get ("writable" , False ))
157
+ self .visit (ld , stagedir , basedir , copy = ld .get ("writable" , copy ))
158
158
else :
159
- self .visit (ld , stagedir , basedir , copy = ld .get ("writable" , False ))
159
+ self .visit (ld , stagedir , basedir , copy = ld .get ("writable" , copy ))
160
160
161
161
def visit (self , obj , stagedir , basedir , copy = False ):
162
162
# type: (Dict[Text, Any], Text, Text, bool) -> None
163
163
tgt = os .path .join (stagedir , obj ["basename" ])
164
164
if obj ["class" ] == "Directory" :
165
165
self ._pathmap [obj ["location" ]] = MapperEnt (obj ["location" ], tgt , "Directory" )
166
- self .visitlisting (obj .get ("listing" , []), tgt , basedir )
166
+ self .visitlisting (obj .get ("listing" , []), tgt , basedir , copy = copy )
167
167
elif obj ["class" ] == "File" :
168
168
path = obj ["location" ]
169
169
if path in self ._pathmap :
@@ -186,7 +186,7 @@ def visit(self, obj, stagedir, basedir, copy=False):
186
186
st = os .lstat (deref )
187
187
188
188
self ._pathmap [path ] = MapperEnt (deref , tgt , "File" )
189
- self .visitlisting (obj .get ("secondaryFiles" , []), stagedir , basedir )
189
+ self .visitlisting (obj .get ("secondaryFiles" , []), stagedir , basedir , copy = copy )
190
190
191
191
def setup (self , referenced_files , basedir ):
192
192
# type: (List[Any], Text) -> None
0 commit comments