This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author alejolp
Recipients alejolp, djc
Date 2009-07-03.13:50:34
SpamBayes Score 3.5512704e-11
Marked as misclassified No
Message-id <1246629036.25.0.586773207888.issue6408@psf.upfronthosting.co.za>
In-reply-to
Content
The 2to3 tool shipped with Python 3.1 final doesn't handle correctly a
local package import (fixer fix_import). Test case:

$ find . -name '*.py'
./__init__.py
./a.py
./b/__init__.py
./b/m.py

$ 2to3 a.py
RefactoringTool: Skipping implicit fixer: buffer
RefactoringTool: Skipping implicit fixer: idioms
RefactoringTool: Skipping implicit fixer: set_literal
RefactoringTool: Skipping implicit fixer: ws_comma
RefactoringTool: No files need to be modified.

$ cat a.py

from b import m

m.q()


Trying to use the 2to3 tool from one level up won't work either:

$ 2to3 test2to3/a.py
RefactoringTool: Skipping implicit fixer: buffer
RefactoringTool: Skipping implicit fixer: idioms
RefactoringTool: Skipping implicit fixer: set_literal
RefactoringTool: Skipping implicit fixer: ws_comma
RefactoringTool: No files need to be modified.

It seems to be a bug in the fixer, which is using the os.path.pathsep
constant when it should be using the os.path.sep instead. 

The probably_a_local_import function is checking if "test2to3/b:"
exists, when it should be checking against: "test2to3/b/"

Attached patch seems to be working:

$ 2to3 test2to3/a.py
RefactoringTool: Skipping implicit fixer: buffer
RefactoringTool: Skipping implicit fixer: idioms
RefactoringTool: Skipping implicit fixer: set_literal
RefactoringTool: Skipping implicit fixer: ws_comma
--- test2to3/a.py (original)
+++ test2to3/a.py (refactored)
@@ -1,5 +1,5 @@
 
-from b import m
+from .b import m
 
 m.q()
 
RefactoringTool: Files that need to be modified:
RefactoringTool: test2to3/a.py
History
Date User Action Args
2009-07-03 13:50:37alejolpsetrecipients: + alejolp, djc
2009-07-03 13:50:36alejolpsetmessageid: <1246629036.25.0.586773207888.issue6408@psf.upfronthosting.co.za>
2009-07-03 13:50:35alejolplinkissue6408 messages
2009-07-03 13:50:34alejolpcreate