mirror of
https://github.com/python/cpython.git
synced 2025-11-28 14:11:15 +00:00
Add support for extension modules in 3.0 deprection command.
This commit is contained in:
parent
9ac3974de8
commit
f0a0a0dbb9
1 changed files with 28 additions and 9 deletions
|
|
@ -11,26 +11,45 @@
|
||||||
XXX Not supported:
|
XXX Not supported:
|
||||||
- Module's in a package do not have their full name generated.
|
- Module's in a package do not have their full name generated.
|
||||||
- Package's __init__ module; should detect and use the package's name instead.
|
- Package's __init__ module; should detect and use the package's name instead.
|
||||||
- Extension modules; need to create template.
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
template = """from warnings import warnpy3k
|
py_template = """from warnings import warnpy3k
|
||||||
warnpy3k("the ${1:%s} module has been removed in Python 3.0", stacklevel=2)
|
warnpy3k("the ${1:%s} module has been removed in Python 3.0", stacklevel=2)
|
||||||
del warnpy3k
|
del warnpy3k$0"""
|
||||||
$0"""
|
|
||||||
|
c_template = """
|
||||||
|
if (PyErr_WarnPy3k("the ${1:%s} module has been removed in "
|
||||||
|
"Python 3.0", 2) < 0)
|
||||||
|
return;$0"""
|
||||||
|
|
||||||
|
|
||||||
import imp
|
import imp
|
||||||
import os
|
import os
|
||||||
|
|
||||||
file_name = os.path.split(os.environ['TM_FILEPATH'])[1]
|
file_name = os.path.split(os.environ['TM_FILEPATH'])[1]
|
||||||
for suffix in (tuple_[0] for tuple_ in imp.get_suffixes()):
|
|
||||||
|
py_suffixes = reversed(sorted((suffix[0] for suffix in imp.get_suffixes() if suffix[2] == imp.PY_SOURCE), key=len))
|
||||||
|
c_suffixes = reversed(sorted((os.path.splitext(suffix[0])[0] + '.c'
|
||||||
|
for suffix in imp.get_suffixes() if suffix[2] == imp.C_EXTENSION), key=len))
|
||||||
|
|
||||||
|
pairings = ((py_suffixes, py_template), (c_suffixes, c_template))
|
||||||
|
|
||||||
|
def create_template(suffixes, template):
|
||||||
|
for suffix in suffixes:
|
||||||
if not file_name.endswith(suffix):
|
if not file_name.endswith(suffix):
|
||||||
continue
|
continue
|
||||||
module_name = file_name[:-len(suffix)]
|
module_name = file_name[:-len(suffix)]
|
||||||
print (template % module_name),
|
return template % module_name
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
|
for template in (create_template(*pair) for pair in pairings):
|
||||||
|
if not template:
|
||||||
|
continue
|
||||||
|
print template,
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
print (template % "XXX"),</string>
|
print 'XXX Could not generate code.'</string>
|
||||||
<key>input</key>
|
<key>input</key>
|
||||||
<string>none</string>
|
<string>none</string>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue