Commit c3beddd0 authored by Jason R. Coombs's avatar Jason R. Coombs

Deprecate and remove usage of easy_install.get_script_header.

parent 390e64c3
...@@ -754,7 +754,7 @@ Please make the appropriate changes for your system and try again. ...@@ -754,7 +754,7 @@ Please make the appropriate changes for your system and try again.
is_script = is_python_script(script_text, script_name) is_script = is_python_script(script_text, script_name)
if is_script: if is_script:
script_text = (get_script_header(script_text) + script_text = (ScriptWriter.get_header(script_text) +
self._load_template(dev_path) % locals()) self._load_template(dev_path) % locals())
self.write_script(script_name, _to_ascii(script_text), 'b') self.write_script(script_name, _to_ascii(script_text), 'b')
...@@ -1878,11 +1878,13 @@ class ScriptWriter(object): ...@@ -1878,11 +1878,13 @@ class ScriptWriter(object):
# for backward compatibility # for backward compatibility
warnings.warn("Use _gen_args", DeprecationWarning) warnings.warn("Use _gen_args", DeprecationWarning)
writer = cls.get_writer(wininst) writer = cls.get_writer(wininst)
header = get_script_header("", executable, wininst) header = cls.get_script_header("", executable, wininst)
return writer._gen_args(dist, header) return writer._gen_args(dist, header)
@classmethod @classmethod
def get_script_header(cls, script_text, executable=sys_executable, wininst=False): def get_script_header(cls, script_text, executable=sys_executable, wininst=False):
# for backward compatibility
warnings.warn("Use get_header", DeprecationWarning)
executable = "python.exe" if wininst else nt_quote_arg(executable) executable = "python.exe" if wininst else nt_quote_arg(executable)
return cls.get_header(script_text, executable) return cls.get_header(script_text, executable)
...@@ -1892,7 +1894,7 @@ class ScriptWriter(object): ...@@ -1892,7 +1894,7 @@ class ScriptWriter(object):
Yield write_script() argument tuples for a distribution's entrypoints Yield write_script() argument tuples for a distribution's entrypoints
""" """
if header is None: if header is None:
header = get_script_header("", sys_executable) header = cls.get_header()
spec = str(dist.as_requirement()) spec = str(dist.as_requirement())
for type_ in 'console', 'gui': for type_ in 'console', 'gui':
group = type_ + '_scripts' group = type_ + '_scripts'
...@@ -1914,8 +1916,10 @@ class ScriptWriter(object): ...@@ -1914,8 +1916,10 @@ class ScriptWriter(object):
yield (name, header + script_text) yield (name, header + script_text)
@classmethod @classmethod
def get_header(cls, script_text, executable): def get_header(cls, script_text="", executable=None):
"""Create a #! line, getting options (if any) from script_text""" """Create a #! line, getting options (if any) from script_text"""
if executable is None:
executable = nt_quote_arg(sys_executable)
first = (script_text + '\n').splitlines()[0] first = (script_text + '\n').splitlines()[0]
match = _first_line_re().match(first) match = _first_line_re().match(first)
options = '' options = ''
......
...@@ -14,7 +14,7 @@ class install_scripts(orig.install_scripts): ...@@ -14,7 +14,7 @@ class install_scripts(orig.install_scripts):
def run(self): def run(self):
from setuptools.command.easy_install import ( from setuptools.command.easy_install import (
ScriptWriter, sys_executable, get_script_header, ScriptWriter, sys_executable, nt_quote_arg,
) )
self.run_command("egg_info") self.run_command("egg_info")
if self.distribution.scripts: if self.distribution.scripts:
...@@ -38,7 +38,7 @@ class install_scripts(orig.install_scripts): ...@@ -38,7 +38,7 @@ class install_scripts(orig.install_scripts):
if is_wininst: if is_wininst:
executable = "python.exe" executable = "python.exe"
writer = ScriptWriter.get_writer(force_windows=is_wininst) writer = ScriptWriter.get_writer(force_windows=is_wininst)
header = get_script_header("", executable) header = ScriptWriter.get_header("", nt_quote_arg(executable))
for args in writer._gen_args(dist, header): for args in writer._gen_args(dist, header):
self.write_script(*args) self.write_script(*args)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment