diff options
| author | Bernat Gabor <bgabor8@bloomberg.net> | 2020-01-10 12:47:11 +0000 |
|---|---|---|
| committer | Bernat Gabor <bgabor8@bloomberg.net> | 2020-01-10 15:38:40 +0000 |
| commit | 96013a84ab32c4de13e2e2b98f354ddb5962d9cf (patch) | |
| tree | 3042291fc862baf4ece8556c8778b3f92c50aaa3 /src | |
| parent | 80673f009f4d152e89aba2067a0fdc7d7c105787 (diff) | |
| download | virtualenv-96013a84ab32c4de13e2e2b98f354ddb5962d9cf.tar.gz | |
fix Windows
Diffstat (limited to 'src')
| -rw-r--r-- | src/virtualenv/activation/__init__.py | 14 | ||||
| -rw-r--r-- | src/virtualenv/activation/batch/__init__.py | 7 | ||||
| -rw-r--r-- | src/virtualenv/activation/via_template.py | 11 | ||||
| -rw-r--r-- | src/virtualenv/interpreters/create/venv.py | 12 |
4 files changed, 28 insertions, 16 deletions
diff --git a/src/virtualenv/activation/__init__.py b/src/virtualenv/activation/__init__.py index ae6d40d..fa2f0b4 100644 --- a/src/virtualenv/activation/__init__.py +++ b/src/virtualenv/activation/__init__.py @@ -9,11 +9,11 @@ from .python import PythonActivator from .xonsh import XonshActivator __all__ = [ - BashActivator, - PowerShellActivator, - XonshActivator, - CShellActivator, - PythonActivator, - BatchActivator, - FishActivator, + "BashActivator", + "PowerShellActivator", + "XonshActivator", + "CShellActivator", + "PythonActivator", + "BatchActivator", + "FishActivator", ] diff --git a/src/virtualenv/activation/batch/__init__.py b/src/virtualenv/activation/batch/__init__.py index 89b03e4..977dd38 100644 --- a/src/virtualenv/activation/batch/__init__.py +++ b/src/virtualenv/activation/batch/__init__.py @@ -1,5 +1,7 @@ from __future__ import absolute_import, unicode_literals +import os + from virtualenv.util.path import Path from ..via_template import ViaTemplateActivator @@ -14,3 +16,8 @@ class BatchActivator(ViaTemplateActivator): yield Path("activate.bat") yield Path("deactivate.bat") yield Path("pydoc.bat") + + def instantiate_template(self, replacements, template): + # ensure the text has all newlines as \r\n - required by batch + base = super(BatchActivator, self).instantiate_template(replacements, template) + return base.replace(os.linesep, "\n").replace("\n", os.linesep) diff --git a/src/virtualenv/activation/via_template.py b/src/virtualenv/activation/via_template.py index d8c2956..f707897 100644 --- a/src/virtualenv/activation/via_template.py +++ b/src/virtualenv/activation/via_template.py @@ -37,7 +37,12 @@ class ViaTemplateActivator(Activator): def _generate(self, replacements, templates, to_folder): for template in templates: - text = read_text(self.__module__, str(template), encoding="utf-8", errors="ignore") - for start, end in replacements.items(): - text = text.replace(start, end) + text = self.instantiate_template(replacements, template) (to_folder / template).write_text(text, encoding="utf-8") + + def instantiate_template(self, replacements, template): + # read text and do replacements + text = read_text(self.__module__, str(template), encoding="utf-8", errors="strict") + for start, end in replacements.items(): + text = text.replace(start, end) + return text diff --git a/src/virtualenv/interpreters/create/venv.py b/src/virtualenv/interpreters/create/venv.py index d378b6a..b0b69b9 100644 --- a/src/virtualenv/interpreters/create/venv.py +++ b/src/virtualenv/interpreters/create/venv.py @@ -70,27 +70,27 @@ class Venv(ViaGlobalRefApi): super(Venv, self).set_pyenv_cfg() self.pyenv_cfg.update(venv_content) - def _delegate_to_builtin_way(self, key): + def _proxy_builtin_way(self, key): if self.builtin_way is None: return None return getattr(self.builtin_way, key) @property def exe(self): - return self._delegate_to_builtin_way("exe") + return self._proxy_builtin_way("exe") @property def site_packages(self): - return self._delegate_to_builtin_way("site_packages") + return self._proxy_builtin_way("site_packages") @property def bin_dir(self): - return self._delegate_to_builtin_way("bin_dir") + return self._proxy_builtin_way("bin_dir") @property def bin_name(self): - return self._delegate_to_builtin_way("bin_name") + return self._proxy_builtin_way("bin_name") @property def lib_dir(self): - return self._delegate_to_builtin_way("lib_dir") + return self._proxy_builtin_way("lib_dir") |
