diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/zipp/compat')
3 files changed, 50 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/zipp/compat/__init__.py b/.venv/lib/python3.12/site-packages/zipp/compat/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/.venv/lib/python3.12/site-packages/zipp/compat/__init__.py diff --git a/.venv/lib/python3.12/site-packages/zipp/compat/overlay.py b/.venv/lib/python3.12/site-packages/zipp/compat/overlay.py new file mode 100644 index 00000000..5a97ee7c --- /dev/null +++ b/.venv/lib/python3.12/site-packages/zipp/compat/overlay.py @@ -0,0 +1,37 @@ +""" +Expose zipp.Path as .zipfile.Path. + +Includes everything else in ``zipfile`` to match future usage. Just +use: + +>>> from zipp.compat.overlay import zipfile + +in place of ``import zipfile``. + +Relative imports are supported too. + +>>> from zipp.compat.overlay.zipfile import ZipInfo + +The ``zipfile`` object added to ``sys.modules`` needs to be +hashable (#126). + +>>> _ = hash(sys.modules['zipp.compat.overlay.zipfile']) +""" + +import importlib +import sys +import types + +import zipp + + +class HashableNamespace(types.SimpleNamespace): + def __hash__(self): + return hash(tuple(vars(self))) + + +zipfile = HashableNamespace(**vars(importlib.import_module('zipfile'))) +zipfile.Path = zipp.Path +zipfile._path = zipp + +sys.modules[__name__ + '.zipfile'] = zipfile # type: ignore[assignment] diff --git a/.venv/lib/python3.12/site-packages/zipp/compat/py310.py b/.venv/lib/python3.12/site-packages/zipp/compat/py310.py new file mode 100644 index 00000000..e1e7ec22 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/zipp/compat/py310.py @@ -0,0 +1,13 @@ +import io +import sys + + +def _text_encoding(encoding, stacklevel=2, /): # pragma: no cover + return encoding + + +text_encoding = ( + io.text_encoding # type: ignore[unused-ignore, attr-defined] + if sys.version_info > (3, 10) + else _text_encoding +) |