HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/mysqlsh/lib/python3.8/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py
"""
Generate zip test data files.
"""

import contextlib
import os
import pathlib
import zipfile

import zipp


def make_zip_file(src, dst):
    """
    Zip the files in src into a new zipfile at dst.
    """
    with zipfile.ZipFile(dst, 'w') as zf:
        for src_path, rel in walk(src):
            dst_name = src.name / pathlib.PurePosixPath(rel.as_posix())
            zf.write(src_path, dst_name)
        zipp.CompleteDirs.inject(zf)
    return dst


def walk(datapath):
    for dirpath, dirnames, filenames in os.walk(datapath):
        with contextlib.suppress(ValueError):
            dirnames.remove('__pycache__')
        for filename in filenames:
            res = pathlib.Path(dirpath) / filename
            rel = res.relative_to(datapath)
            yield res, rel