The bug is very easy to reproduce: - Clone the repository from GitHub - Run python3 web2py.py - Browse to 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 > <http://127.0.0.1:8000/admin/default/ticket/unrecoverable> > > 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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.