diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2013-08-05 23:10:27 +0200 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2013-08-05 23:10:27 +0200 |
commit | 82d2bd87c1019450433d6be2188381cacdeb4b29 (patch) | |
tree | e4b108ac8e010cdcb3c5af5a344ca9061f810aea /setuptools/command/easy_install.py | |
parent | c1d0c2734b87687777adf584c2e2a9a457de3307 (diff) | |
download | external_python_setuptools-82d2bd87c1019450433d6be2188381cacdeb4b29.tar.gz external_python_setuptools-82d2bd87c1019450433d6be2188381cacdeb4b29.tar.bz2 external_python_setuptools-82d2bd87c1019450433d6be2188381cacdeb4b29.zip |
Extract protected _get_script_args to capture type parameter.
--HG--
extra : rebase_source : d5458d1469b8b411d3937fa52996fdf96e601029
Diffstat (limited to 'setuptools/command/easy_install.py')
-rwxr-xr-x | setuptools/command/easy_install.py | 77 |
1 files changed, 41 insertions, 36 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py index 49bf20c3..b7660744 100755 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -1797,45 +1797,50 @@ 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 type_ in 'console', 'gui': + for res in cls._get_script_args(type_, dist, executable, wininst): + yield res + + @classmethod + def _get_script_args(cls, type_, dist, executable, wininst): spec = str(dist.as_requirement()) header = get_script_header("", executable, wininst) - for type_ in 'console', 'gui': - group = type_ + '_scripts' - for name, ep in dist.get_entry_map(group).items(): - script_text = cls.template % locals() - if sys.platform=='win32' or wininst: - # On Windows/wininst, add a .py extension and an .exe launcher - if type_=='gui': - launcher_type = 'gui' - ext = '-script.pyw' - old = ['.pyw'] - new_header = re.sub('(?i)python.exe','pythonw.exe',header) - else: - launcher_type = 'cli' - ext = '-script.py' - old = ['.py','.pyc','.pyo'] - new_header = re.sub('(?i)pythonw.exe','python.exe',header) - if os.path.exists(new_header[2:-1].strip('"')) or sys.platform!='win32': - hdr = new_header - else: - hdr = header - yield (name+ext, hdr+script_text, 't', [name+x for x in old]) - yield ( - name+'.exe', get_win_launcher(launcher_type), - 'b' # write in binary mode - ) - if not is_64bit(): - # install a manifest for the launcher to prevent Windows - # from detecting it as an installer (which it will for - # launchers like easy_install.exe). Consider only - # adding a manifest for launchers detected as installers. - # See Distribute #143 for details. - m_name = name + '.exe.manifest' - yield (m_name, load_launcher_manifest(name), 't') + group = type_ + '_scripts' + for name, ep in dist.get_entry_map(group).items(): + script_text = cls.template % locals() + if sys.platform=='win32' or wininst: + # On Windows/wininst, add a .py extension and an .exe launcher + if type_=='gui': + launcher_type = 'gui' + ext = '-script.pyw' + old = ['.pyw'] + new_header = re.sub('(?i)python.exe','pythonw.exe',header) + else: + launcher_type = 'cli' + ext = '-script.py' + old = ['.py','.pyc','.pyo'] + new_header = re.sub('(?i)pythonw.exe','python.exe',header) + if os.path.exists(new_header[2:-1].strip('"')) or sys.platform!='win32': + hdr = new_header else: - # On other platforms, we assume the right thing to do is to - # just write the stub with no extension. - yield (name, header+script_text) + hdr = header + yield (name+ext, hdr+script_text, 't', [name+x for x in old]) + yield ( + name+'.exe', get_win_launcher(launcher_type), + 'b' # write in binary mode + ) + if not is_64bit(): + # install a manifest for the launcher to prevent Windows + # from detecting it as an installer (which it will for + # launchers like easy_install.exe). Consider only + # adding a manifest for launchers detected as installers. + # See Distribute #143 for details. + m_name = name + '.exe.manifest' + yield (m_name, load_launcher_manifest(name), 't') + else: + # On other platforms, we assume the right thing to do is to + # just write the stub with no extension. + yield (name, header+script_text) # for backward-compatibility get_script_args = ScriptWriter.get_script_args |