mirror of
https://github.com/openwrt/packages.git
synced 2026-04-15 19:02:09 +00:00
Changelog since 3.16.2: - v3.17.0: Add CompleteDirs.inject classmethod; prevent path separators from matching '?' wildcards in glob - v3.18.0: Improve glob performance bypassing ZipFile.namelist; support platform-specific path separators in glob - v3.19.1: Fix handling of malformed zip files - v3.19.3: Fix glob to match directories in addition to files - v3.20.0: Expose zipfile compatibility overlay as public API (zipp.compat.overlay) - v3.20.1: Fix infinite loops in archive name handling preserving special chars - v3.20.2: Make zipfile compatibility overlay hashable - v3.21.0: Enhance performance for zipfile.Path.open in non-reading modes - v3.22.0: Fix basename-based properties on Windows; backport CPython tests - v3.23.0: Add compatibility shim supporting Python 3.13 and earlier Add python-setuptools/host to PKG_BUILD_DEPENDS (now requires setuptools>=77). Patch out coherent.licensed build dependency (not packaged). Add test.sh. Full changelog: https://github.com/jaraco/zipp/releases Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
35 lines
778 B
Bash
35 lines
778 B
Bash
#!/bin/sh
|
|
|
|
[ "$1" = python3-zipp ] || exit 0
|
|
|
|
python3 - <<'EOF'
|
|
import io
|
|
import zipfile
|
|
import zipp
|
|
|
|
# Create an in-memory zip with a nested structure
|
|
buf = io.BytesIO()
|
|
with zipfile.ZipFile(buf, "w") as zf:
|
|
zf.writestr("a/b/c.txt", "hello")
|
|
zf.writestr("a/d.txt", "world")
|
|
buf.seek(0)
|
|
|
|
zf = zipfile.ZipFile(buf)
|
|
root = zipp.Path(zf)
|
|
|
|
# Navigate and read
|
|
c = root / "a" / "b" / "c.txt"
|
|
assert c.read_text() == "hello", f"unexpected content: {c.read_text()!r}"
|
|
|
|
d = root / "a" / "d.txt"
|
|
assert d.read_text() == "world", f"unexpected content: {d.read_text()!r}"
|
|
|
|
# Test iterdir
|
|
names = {p.name for p in (root / "a").iterdir()}
|
|
assert names == {"b", "d.txt"}, f"unexpected names: {names}"
|
|
|
|
# Test is_file / is_dir
|
|
assert c.is_file()
|
|
assert (root / "a" / "b").is_dir()
|
|
EOF
|