diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2015-01-16 15:33:09 -0500 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2015-01-16 15:33:09 -0500 |
commit | 2cfb9fae4859ba611de0426f8bbb3aeeb3b22d9a (patch) | |
tree | 35e7405b5a9d13d2255f50d469b14641bd7e13b5 | |
parent | e0e2c675ed69e88e78199a1f868fda23ad292877 (diff) | |
download | python-setuptools-bitbucket-2cfb9fae4859ba611de0426f8bbb3aeeb3b22d9a.tar.gz |
Renamed .get_writer to .best and removed boolean argument.
-rw-r--r-- | CHANGES.txt | 2 | ||||
-rwxr-xr-x | setuptools/command/easy_install.py | 25 | ||||
-rwxr-xr-x | setuptools/command/install_scripts.py | 11 |
3 files changed, 27 insertions, 11 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index afec8156..ad419d25 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -10,6 +10,8 @@ CHANGES ``build.executable``, such that an executable of "/usr/bin/env my-python" may be specified. This means that systems with a specified executable whose name has spaces in the path must be updated to escape or quote that value. +* Deprecated ``easy_install.ScriptWriter.get_writer``, replaced by ``.best()`` + with slightly different semantics (no force_windows flag). ------ 11.3.1 diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py index 340b1fac..b61ab034 100755 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -742,7 +742,7 @@ Please make the appropriate changes for your system and try again. def install_wrapper_scripts(self, dist): if not self.exclude_scripts: - for args in ScriptWriter.get_args(dist): + for args in ScriptWriter.best().get_args(dist): self.write_script(*args) def install_script(self, dist, script_name, script_text, dev_path=None): @@ -1975,7 +1975,7 @@ class ScriptWriter(object): def get_script_args(cls, dist, executable=None, wininst=False): # for backward compatibility warnings.warn("Use get_args", DeprecationWarning) - writer = cls.get_writer(wininst) + writer = (WindowsScriptWriter if wininst else ScriptWriter).best() header = cls.get_script_header("", executable, wininst) return writer.get_args(dist, header) @@ -2007,9 +2007,16 @@ class ScriptWriter(object): @classmethod def get_writer(cls, force_windows): - if force_windows or sys.platform == 'win32': - return WindowsScriptWriter.get_writer() - return cls + # for backward compatibility + warnings.warn("Use best", DeprecationWarning) + return WindowsScriptWriter.best() if force_windows else cls.best() + + @classmethod + def best(cls): + """ + Select the best ScriptWriter for this environment. + """ + return WindowsScriptWriter.best() if sys.platform == 'win32' else cls @classmethod def _get_script_args(cls, type_, name, header, script_text): @@ -2027,8 +2034,14 @@ class ScriptWriter(object): class WindowsScriptWriter(ScriptWriter): @classmethod def get_writer(cls): + # for backward compatibility + warnings.warn("Use best", DeprecationWarning) + return cls.best() + + @classmethod + def best(cls): """ - Get a script writer suitable for Windows + Select the best ScriptWriter suitable for Windows """ writer_lookup = dict( executable=WindowsExecutableLauncherWriter, diff --git a/setuptools/command/install_scripts.py b/setuptools/command/install_scripts.py index 722b0566..ad89c5fd 100755 --- a/setuptools/command/install_scripts.py +++ b/setuptools/command/install_scripts.py @@ -13,7 +13,7 @@ class install_scripts(orig.install_scripts): self.no_ep = False def run(self): - from setuptools.command.easy_install import ScriptWriter, CommandSpec + import setuptools.command.easy_install as ei self.run_command("egg_info") if self.distribution.scripts: @@ -30,14 +30,15 @@ class install_scripts(orig.install_scripts): ei_cmd.egg_name, ei_cmd.egg_version, ) bs_cmd = self.get_finalized_command('build_scripts') - cmd = CommandSpec.from_param(getattr(bs_cmd, 'executable', None)) + cmd = ei.CommandSpec.from_param(getattr(bs_cmd, 'executable', None)) is_wininst = getattr( self.get_finalized_command("bdist_wininst"), '_is_running', False ) + writer = ei.ScriptWriter if is_wininst: - cmd = CommandSpec.from_string("python.exe") - writer = ScriptWriter.get_writer(force_windows=is_wininst) - for args in writer.get_args(dist, cmd.as_header()): + cmd = ei.CommandSpec.from_string("python.exe") + writer = ei.WindowsScriptWriter + for args in writer.best().get_args(dist, cmd.as_header()): self.write_script(*args) def write_script(self, script_name, contents, mode="t", *ignored): |