This exception is quite clear, though.
I decided to create an issue in the git repository, since this is a 
showstopper if you want to use web2py with python 3.

On Thursday, April 19, 2018 at 1:42:31 PM UTC-5, Carlos Cesar Caballero 
wrote:
>
> With Python 3 there are definitely issues with the error traces. Sometimes 
> is difficult to find what is failing.
>
> Greetings.
>
> El 19/04/18 a las 13:50, Antonio Salazar escribió:
>
> Is anyone running into this issue? It's happening both in Windows and 
> Linux.
> Should I postpone migrating to python3?
>
> On Wednesday, April 18, 2018 at 4:04:57 PM UTC-5, Antonio Salazar wrote: 
>>
>> The bug is very easy to reproduce:
>>
>>    - Clone the repository from GitHub 
>>    - Run python3 web2py.py 
>>    - Browse to *MailScanner le advierte: los links numericos son 
>>    comunmente utilizados en actividades maliciosas:* 
>>    http://127.0.0.1:8000/welcome/favicon.ico 
>>    <http://127.0.0.1:8000/welcome/favicon.ico> 
>>
>> It seems only *base/streamer.py* and *contrib/gateways/fcgi.py* handle 
>> exceptions in this way.
>>
>> On Wednesday, April 18, 2018 at 12:00:43 PM UTC-5, Antonio Salazar wrote: 
>>>
>>> Now that web2py supports python 3, I just went on and migrated my 
>>> website. All works fine, except for a crash which I'm not sure how to 
>>> handle.
>>>
>>> I get this when the browser looks for /favicon.ico (a non-existent file 
>>> because it's in /images/favicon.ico)
>>> Traceback (most recent call last):
>>>   File "R:\Website Extranet\Fuentes\web2py\gluon\main.py", line 329, in 
>>> wsgibase
>>>     response.stream(static_file, request=request)
>>>   File "R:\Website Extranet\Fuentes\web2py\gluon\globals.py", line 617, 
>>> in stream
>>>     status=self.status)
>>>   File "R:\Website Extranet\Fuentes\web2py\gluon\streamer.py", line 66, 
>>> in stream_file_or_304_or_206
>>>     if e[0] == errno.EISDIR:
>>> TypeError: 'FileNotFoundError' object is not subscriptable
>>>
>>> The problem is the handling of exceptions in base/streamer.py
>>> except IOError as e:
>>>     if e[0] == errno.EISDIR:
>>>         raise HTTP(403, error_message, web2py_error='file is a 
>>> directory')
>>>     elif e[0] == errno.EACCES:
>>>        raise HTTP(403, error_message, web2py_error='inaccessible file')
>>>     else:
>>>       raise HTTP(404, error_message, web2py_error='invalid file')
>>>
>>>
>>> e[0] crashes because e is not indexable, it expects e.errno instead.
>>>
>>> -- 
> Resources:
> - http://web2py.com
> - http://web2py.com/book (Documentation)
> - http://github.com/web2py/web2py (Source code)
> - https://code.google.com/p/web2py/issues/list (Report Issues)
> --- 
> 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/d/optout.
>
>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
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/d/optout.

Reply via email to