diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2015-01-04 16:21:11 -0500 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2015-01-04 16:21:11 -0500 |
commit | 2170df350911390a4a9a205763475dc7a7a2fb54 (patch) | |
tree | 37d279bd01b487944522a44b7d94c1db1decb4ef | |
parent | aabff23148950b34d1f956e7d5a63c6cd098662e (diff) | |
download | external_python_setuptools-2170df350911390a4a9a205763475dc7a7a2fb54.tar.gz external_python_setuptools-2170df350911390a4a9a205763475dc7a7a2fb54.tar.bz2 external_python_setuptools-2170df350911390a4a9a205763475dc7a7a2fb54.zip |
Move decision logic about windows/header generation closer to install_scripts, as it doesn't appear to be used elsewhere.
-rwxr-xr-x | setuptools/command/easy_install.py | 15 | ||||
-rwxr-xr-x | setuptools/command/install_scripts.py | 10 | ||||
-rw-r--r-- | setuptools/tests/test_easy_install.py | 6 |
3 files changed, 18 insertions, 13 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py index e52b4736..d8d11d50 100755 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -745,7 +745,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 get_script_args(dist): + for args in ScriptWriter._gen_args(dist): self.write_script(*args) def install_script(self, dist, script_name, script_text, dev_path=None): @@ -921,7 +921,7 @@ Please make the appropriate changes for your system and try again. # delete entry-point scripts to avoid duping self.delete_blockers( [os.path.join(script_dir, args[0]) for args in - get_script_args(dist)] + ScriptWriter._gen_args(dist)] ) # Build .egg file from tmpdir bdist_egg.make_zipfile( @@ -1902,15 +1902,18 @@ class ScriptWriter(object): @classmethod def get_script_args(cls, dist, executable=sys_executable, wininst=False): - """ - Yield write_script() argument tuples for a distribution's entrypoints - """ + # for backward compatibility writer = cls.get_writer(wininst) header = get_script_header("", executable, wininst) return writer._gen_args(dist, header) @classmethod - def _gen_args(cls, dist, header): + def _gen_args(cls, dist, header=None): + """ + Yield write_script() argument tuples for a distribution's entrypoints + """ + if header is None: + header = get_script_header("", sys_executable) spec = str(dist.as_requirement()) for type_ in 'console', 'gui': group = type_ + '_scripts' diff --git a/setuptools/command/install_scripts.py b/setuptools/command/install_scripts.py index eb79fa3c..eb5ed0f2 100755 --- a/setuptools/command/install_scripts.py +++ b/setuptools/command/install_scripts.py @@ -13,9 +13,9 @@ class install_scripts(orig.install_scripts): self.no_ep = False def run(self): - from setuptools.command.easy_install import get_script_args - from setuptools.command.easy_install import sys_executable - + from setuptools.command.easy_install import ( + ScriptWriter, sys_executable, get_script_header, + ) self.run_command("egg_info") if self.distribution.scripts: orig.install_scripts.run(self) # run first to set up self.outfiles @@ -35,7 +35,9 @@ class install_scripts(orig.install_scripts): is_wininst = getattr( self.get_finalized_command("bdist_wininst"), '_is_running', False ) - for args in get_script_args(dist, executable, is_wininst): + writer = ScriptWriter.get_writer(force_windows=is_wininst) + header = get_script_header("", executable, wininst=is_wininst) + for args in writer._gen_args(dist, header): self.write_script(*args) def write_script(self, script_name, contents, mode="t", *ignored): diff --git a/setuptools/tests/test_easy_install.py b/setuptools/tests/test_easy_install.py index 7baa989a..bc94b0c4 100644 --- a/setuptools/tests/test_easy_install.py +++ b/setuptools/tests/test_easy_install.py @@ -22,8 +22,8 @@ from setuptools import compat from setuptools.compat import StringIO, BytesIO, urlparse from setuptools.sandbox import run_setup, SandboxViolation from setuptools.command.easy_install import ( - easy_install, fix_jython_executable, get_script_args, nt_quote_arg, - get_script_header, is_sh, + easy_install, fix_jython_executable, nt_quote_arg, + get_script_header, is_sh, ScriptWriter, ) from setuptools.command.easy_install import PthDistributions from setuptools.command import easy_install as easy_install_pkg @@ -83,7 +83,7 @@ class TestEasyInstallTest: def test_get_script_args(self): dist = FakeDist() - args = next(get_script_args(dist)) + args = next(ScriptWriter._gen_args(dist)) name, script = itertools.islice(args, 2) assert script == WANTED |