aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2015-01-04 16:21:11 -0500
committerJason R. Coombs <jaraco@jaraco.com>2015-01-04 16:21:11 -0500
commit2170df350911390a4a9a205763475dc7a7a2fb54 (patch)
tree37d279bd01b487944522a44b7d94c1db1decb4ef
parentaabff23148950b34d1f956e7d5a63c6cd098662e (diff)
downloadexternal_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-xsetuptools/command/easy_install.py15
-rwxr-xr-xsetuptools/command/install_scripts.py10
-rw-r--r--setuptools/tests/test_easy_install.py6
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