Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/virtualenv/util/zipapp.py @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
| author | shellac |
|---|---|
| date | Mon, 01 Jun 2020 08:59:25 -0400 |
| parents | 79f47841a781 |
| children |
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/virtualenv/util/zipapp.py Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -from __future__ import absolute_import, unicode_literals - -import logging -import os -import zipfile -from contextlib import contextmanager -from tempfile import TemporaryFile - -from virtualenv.info import IS_WIN, IS_ZIPAPP, ROOT -from virtualenv.util.path import Path -from virtualenv.util.six import ensure_text -from virtualenv.version import __version__ - - -def read(full_path): - sub_file = _get_path_within_zip(full_path) - with zipfile.ZipFile(ROOT, "r") as zip_file: - with zip_file.open(sub_file) as file_handler: - return file_handler.read().decode("utf-8") - - -def extract(full_path, dest): - logging.debug("extract %s to %s", full_path, dest) - sub_file = _get_path_within_zip(full_path) - with zipfile.ZipFile(ROOT, "r") as zip_file: - info = zip_file.getinfo(sub_file) - info.filename = dest.name - zip_file.extract(info, ensure_text(str(dest.parent))) - - -def _get_path_within_zip(full_path): - full_path = os.path.abspath(str(full_path)) - sub_file = full_path[len(ROOT) + 1 :] - if IS_WIN: - # paths are always UNIX separators, even on Windows, though __file__ still follows platform default - sub_file = sub_file.replace(os.sep, "/") - return sub_file - - -@contextmanager -def ensure_file_on_disk(path, app_data): - if IS_ZIPAPP: - if app_data is None: - with TemporaryFile() as temp_file: - dest = Path(temp_file.name) - extract(path, dest) - yield Path(dest) - else: - base = app_data / "zipapp" / "extract" / __version__ - with base.lock_for_key(path.name): - dest = base.path / path.name - if not dest.exists(): - extract(path, dest) - yield dest - else: - yield path
