MCPcopy Index your code
hub / github.com/RustPython/RustPython / make_zip_pkg

Function make_zip_pkg

Lib/test/support/script_helper.py:273–301  ·  view source on GitHub ↗
(zip_dir, zip_basename, pkg_name, script_basename,
                 source, depth=1, compiled=False)

Source from the content-addressed store, hash-verified

271
272
273def make_zip_pkg(zip_dir, zip_basename, pkg_name, script_basename,
274 source, depth=1, compiled=False):
275 import zipfile
276 unlink = []
277 init_name = make_script(zip_dir, '__init__', '')
278 unlink.append(init_name)
279 init_basename = os.path.basename(init_name)
280 script_name = make_script(zip_dir, script_basename, source)
281 unlink.append(script_name)
282 if compiled:
283 init_name = py_compile.compile(init_name, doraise=True)
284 script_name = py_compile.compile(script_name, doraise=True)
285 unlink.extend((init_name, script_name))
286 pkg_names = [os.sep.join([pkg_name]*i) for i in range(1, depth+1)]
287 script_name_in_zip = os.path.join(pkg_names[-1], os.path.basename(script_name))
288 zip_filename = zip_basename+os.extsep+'zip'
289 zip_name = os.path.join(zip_dir, zip_filename)
290 with zipfile.ZipFile(zip_name, 'w') as zip_file:
291 for name in pkg_names:
292 init_name_in_zip = os.path.join(name, init_basename)
293 zip_file.write(init_name, init_name_in_zip)
294 zip_file.write(script_name, script_name_in_zip)
295 for name in unlink:
296 os.unlink(name)
297 #if test.support.verbose:
298 # with zipfile.ZipFile(zip_name, 'r') as zip_file:
299 # print 'Contents of %r:' % zip_name
300 # zip_file.printdir()
301 return zip_name, os.path.join(zip_name, script_name_in_zip)
302
303
304@support.requires_subprocess()

Callers 2

_make_test_zip_pkgFunction · 0.90
_make_test_zip_pkgFunction · 0.90

Calls 8

make_scriptFunction · 0.85
basenameMethod · 0.80
appendMethod · 0.45
compileMethod · 0.45
extendMethod · 0.45
joinMethod · 0.45
writeMethod · 0.45
unlinkMethod · 0.45

Tested by 2

_make_test_zip_pkgFunction · 0.72
_make_test_zip_pkgFunction · 0.72