[Python-Dev] lib2to3, need some light on the imports fixer
Guilherme Polo
ggpolo at gmail.com
Fri May 16 19:42:44 CEST 2008
2008/5/16 Collin Winter <collinw at gmail.com>:
> On Fri, May 16, 2008 at 10:30 AM, Guilherme Polo <ggpolo at gmail.com> wrote:
>> 2008/5/12 Collin Winter <collinw at gmail.com>:
>>> On Mon, May 12, 2008 at 1:58 PM, Guilherme Polo <ggpolo at gmail.com> wrote:
>>>> Hello,
>>>>
>>>> Would someone tell me how can I add a new entry in the MAPPING dict in
>>>> the lib2to3/fixes/fix_imports.py that does the following:
>>>>
>>>> "import A" gets fixed as "import C.D as A"
>>>>
>>>> Right now it is fixing by doing "import C.D" and changing several
>>>> other lines in the code to use this new "C.D" name. I wanted to avoid
>>>> these changes if possible.
>>>
>>> I don't believe there's a way to do that, but adding support for it
>>> should be fairly straight-forward. Assign the patch to me for review.
>>>
>>
>> Is there something I could read get some 2to3 understanding ?
>
> The README is a very shallow overview, but it needs to be beefed up to
> talk about architecture. Honestly, the best way (currently) is to read
> the existing fixers. Mea culpa.
>
>> How do I construct patterns ?
>
> find_pattern.py is the tool I wrote/use to find patterns. You give it
> some Python code and it spits out the pattern for it. It's hard to
> hand-construct patterns due to some optimizations done to eliminate
> unneeded nodes (nodes with only a single child are eliminated, pulling
> the child to its grandparent).
>
I see find_pattern.py is only at
http://svn.python.org/projects/sandbox/trunk/2to3.
Now I remember I saw it some time ago, but was trying to find it at
python's repo and couldn't find it =)
Thanks Collin.
--
-- Guilherme H. Polo Goncalves
More information about the Python-Dev
mailing list