summaryrefslogtreecommitdiff
path: root/src/virtualenv/util
diff options
context:
space:
mode:
authorBernát Gábor <bgabor8@bloomberg.net>2020-01-21 12:20:43 +0000
committerGitHub <noreply@github.com>2020-01-21 12:20:43 +0000
commit886ba275110f0a1f4777445dab4757b90f7ac6da (patch)
treed2d65198ee8cda7cd42b6033e84a8879adf00277 /src/virtualenv/util
parent8d6af57d76edcf425beab6d53d4c14f1e49f7ca5 (diff)
downloadvirtualenv-886ba275110f0a1f4777445dab4757b90f7ac6da.tar.gz
separate describe/create - check upfront if can create (#1502)
* start Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net> * test for Windows Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net> * test for Windows Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net> * fix Windows symlink cache
Diffstat (limited to 'src/virtualenv/util')
-rw-r--r--src/virtualenv/util/path/_pathlib/via_os_path.py6
-rw-r--r--src/virtualenv/util/path/_sync.py6
-rw-r--r--src/virtualenv/util/zipapp.py4
3 files changed, 11 insertions, 5 deletions
diff --git a/src/virtualenv/util/path/_pathlib/via_os_path.py b/src/virtualenv/util/path/_pathlib/via_os_path.py
index 0a87235..3eece17 100644
--- a/src/virtualenv/util/path/_pathlib/via_os_path.py
+++ b/src/virtualenv/util/path/_pathlib/via_os_path.py
@@ -114,5 +114,11 @@ class Path(object):
raise ValueError("{} does not start with {}".format(self._path, other._path))
return Path(os.sep.join(self.parts[len(other.parts) :]))
+ def stat(self):
+ return os.stat(self._path)
+
+ def chmod(self, mode):
+ os.chmod(self._path, mode)
+
__all__ = ("Path",)
diff --git a/src/virtualenv/util/path/_sync.py b/src/virtualenv/util/path/_sync.py
index 4c5aa86..2759b32 100644
--- a/src/virtualenv/util/path/_sync.py
+++ b/src/virtualenv/util/path/_sync.py
@@ -8,14 +8,14 @@ from functools import partial
import six
-from virtualenv.info import IS_PYPY
+from virtualenv.info import IS_PYPY, fs_supports_symlink
-HAS_SYMLINK = hasattr(os, "symlink")
+HAS_SYMLINK = fs_supports_symlink()
def ensure_dir(path):
if not path.exists():
- logging.debug("created %s", six.ensure_text(str(path)))
+ logging.debug("create folder %s", six.ensure_text(str(path)))
os.makedirs(six.ensure_text(str(path)))
diff --git a/src/virtualenv/util/zipapp.py b/src/virtualenv/util/zipapp.py
index fa3ed4b..47ffd29 100644
--- a/src/virtualenv/util/zipapp.py
+++ b/src/virtualenv/util/zipapp.py
@@ -6,7 +6,7 @@ import zipfile
import six
-from virtualenv.info import IS_WIN, ROOT, get_default_data_dir
+from virtualenv.info import IS_WIN, ROOT, default_data_dir
from virtualenv.version import __version__
@@ -35,7 +35,7 @@ def _get_path_within_zip(full_path):
def extract_to_app_data(full_path):
- base = get_default_data_dir() / "zipapp" / "extract" / __version__
+ base = default_data_dir() / "zipapp" / "extract" / __version__
base.mkdir(parents=True, exist_ok=True)
dest = base / full_path.name
if not dest.exists():