mirror of
https://github.com/python/cpython.git
synced 2025-09-16 05:36:29 +00:00
Merged revisions 61724-61824 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3 ........ r61730 | martin.v.loewis | 2008-03-22 02:20:58 +0100 (Sa, 22 Mär 2008) | 2 lines More explicit relative imports. ........ r61755 | david.wolever | 2008-03-22 21:33:52 +0100 (Sa, 22 Mär 2008) | 1 line Fixing #2446 -- 2to3 now translates 'import foo' to 'from . import foo' ........ r61824 | david.wolever | 2008-03-24 01:30:24 +0100 (Mo, 24 Mär 2008) | 3 lines Fixed a bug where 'from itertools import izip' would return 'from itertools import' ........
This commit is contained in:
parent
440ca772f3
commit
966d0e0930
6 changed files with 62 additions and 23 deletions
|
@ -108,6 +108,26 @@ def ListComp(xp, fp, it, test=None):
|
|||
inner,
|
||||
Leaf(token.RBRACE, "]")])
|
||||
|
||||
def FromImport(package_name, name_leafs):
|
||||
""" Return an import statement in the form:
|
||||
from package import name_leafs"""
|
||||
# XXX: May not handle dotted imports properly (eg, package_name='foo.bar')
|
||||
assert package_name == '.' or '.' not in package.name, "FromImport has "\
|
||||
"not been tested with dotted package names -- use at your own "\
|
||||
"peril!"
|
||||
|
||||
for leaf in name_leafs:
|
||||
# Pull the leaves out of their old tree
|
||||
leaf.remove()
|
||||
|
||||
children = [Leaf(token.NAME, 'from'),
|
||||
Leaf(token.NAME, package_name, prefix=" "),
|
||||
Leaf(token.NAME, 'import', prefix=" "),
|
||||
Node(syms.import_as_names, name_leafs)]
|
||||
imp = Node(syms.import_from, children)
|
||||
return imp
|
||||
|
||||
|
||||
###########################################################
|
||||
### Determine whether a node represents a given literal
|
||||
###########################################################
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue