Comment 10 for bug 1023236

Revision history for this message
Andreas Roehler (a-roehler) wrote : Re: [Bug 1023236] Re: py-find-imports can't handle multiline imports or comma separated imports

Am 16.07.2012 04:34, schrieb Russell Sim:
> Andreas Roehler <email address hidden> writes:
>
>> you are referring to compound statements, while py-end-of-statement
>> deals with simple statement.
>
>> Rusell provided a solution for a special case, which is okay. However,
>> seen from this point, it's probable, there might be more and other
>> special cases: blank lines, comments , lists over multiple lines etc.
>
> We could perhaps copy the data out to a temporary buffer and use find
> and replace to change the ; characters to newlines. That should make it
> work for *most* other cases.
>
> I agree, probably one of the harder to parse forms will be.
>
> from os import (mknod, # import for later
> open, # another interesting import
> path) # import completed
>
>
> So perhaps copy interesting lines to temporary buffer:
> 1. Trim comments
> 2. split the lines with a ;
> 3. Delete the string \\\n from the buffer
> 4. Parse with a simple regex for most of the imports.
> 4. Parse with a regex that will work over multiple lines with ()

should be implemented, basically inside py-end-of-statement

>
> The only thing that wont be handled will be conditional import, so I
> guess it's best to leave them out for the time being.

or rather go on herewith :)

May you point me onto some example?

thanks

Andreas

>
> I'll make a branch see what I can put together....
>