I agree. I am have attempted a fix. Can you try it?

On Wednesday, 6 February 2013 01:23:06 UTC-6, Álvaro José Iradier wrote:
>
> I agree they should get priority over system wide modules, but not over 
> imports for files on the same directory. So in Geraldo reports, it does not 
> make sense that in the situation:
>
> .../site-packages/geraldo/generators/__init__.py -> from pdf import 
> PDFGenerator
> .../site-packages/geraldo/geraldo/generators/pdf.py -> PDFGenerator class 
> is in here
> .../myapp/modules/pdf.py -> Nothing to do with Geraldo
>
> the pdf.py from modules/ is higher priority than the pdf.py from the 
> geraldo.generators package, when being imported from __init__.py in the 
> same folder.
>
> This behavior could unexpectedly break any module or package just because 
> the application uses a modules/whatever.py file, "whatever" being  the same 
> name as any other package. Furthermore, in this case the error when 
> importing geraldo.generators was something like "Can not import module 
> geraldo", which is quite misleading, and it took me some work to figure out 
> what was wrong.
>
> Maybe the rule should apply when importing from the web2py application, or 
> using local_import, but never when importing from other module files where 
> a simple filename collision inside any package can break the module.
>
> Thanks.
>
> On Tue, Feb 5, 2013 at 11:24 PM, Massimo Di Pierro 
> <massimo....@gmail.com<javascript:>
> > wrote:
>
>> The rule is that if something is imported web2py should first look in 
>> app/modules/ because app-level modules should get priority else you cannot 
>> override system wide modules. So 2.3.2 is doing the right thing. This did 
>> not work well in previous versions.
>>
>>
>> On Tuesday, 5 February 2013 14:40:41 UTC-6, Álvaro José Iradier wrote:
>>>
>>> Recently I updated web2py from 1.99.4 to 2.3.2. Suddenly, a PDF report 
>>> stopped working.
>>>
>>> Digging into the problem, I found there is a *pdf.py* file in my 
>>> application *modules/* folder. Also, I am using Geraldo Reports in *
>>> web2py/site-packages*.
>>>
>>> Geraldo reports has the following file: *geraldo/generators/pdf.py*
>>> and the __init__.py in geraldo/generators/__init__.py does:
>>>
>>> from pdf import PDFGenerator
>>>
>>>
>>> but when doing *import geraldo.generators*, that line fails, so 
>>> importing geraldo.generators fails. It fails in 2.3.2, but works in 1.99.4.
>>>
>>> The fix has been to rename modules/pdf.py in my application to 
>>> modules/pdfreport.py, because it looks like web2py is trying to import it 
>>> in the geraldo/generators/__init.py sentence. ¿Is this the expected 
>>> behavior, or should it look in the __init__,py folder first, as it did in 
>>> 1.99.4?
>>>
>>> Thanks.
>>>
>>  -- 
>>  
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "web2py-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to web2py+un...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>
>
> -- 
> (:=================================:)
>  Alvaro J. Iradier Muro - aira...@gmail.com <javascript:> 
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to