PyAr / CDPedia

CDPedia is a project to make the Wikipedia accesable offline
34 stars 15 forks source link

Error al cargar 'sort_none.gif' #122

Closed hugoruscitti closed 10 years ago

hugoruscitti commented 10 years ago

From dmascialino on May 23, 2011 20:43:45

En el artículo Diego_Armando_Maradona se rompe al buscar esta imagen, y se dejan de cargar las imagenes.

Pero al recargar, se obtienen las imagenes faltantes.

ERROR: path desconocido para procesar: 'common/images/sort_none.gif'

Exception happened during processing of request from ('127.0.0.1', 1129) Traceback (most recent call last): File "cdpedia\src\armado\server.py", line 64, in serve_forever self.process_request(request, client_address) File "C:\Documents and Settings\heiga\Desktop\trunk\resources\autorun.win\win32main\build\pyi.win32\win32main\outPYZ1.pyz/SocketServer", line 241, in process_request File "C:\Documents and Settings\heiga\Desktop\trunk\resources\autorun.win\win32main\build\pyi.win32\win32main\outPYZ1.pyz/SocketServer", line 254, in finish_request File "C:\Documents and Settings\heiga\Desktop\trunk\resources\autorun.win\win32main\build\pyi.win32\win32main\outPYZ1.pyz/SocketServer", line 522, in init File "C:\Documents and Settings\heiga\Desktop\trunk\resources\autorun.win\win32main\build\pyi.win32\win32main\outPYZ1.pyz/BaseHTTPServer", line 316, in handle File "C:\Documents and Settings\heiga\Desktop\trunk\resources\autorun.win\win32main\build\pyi.win32\win32main\outPYZ1.pyz/BaseHTTPServer", line 310, in handle_one_request File "cdpedia\src\armado\server.py", line 198, in doGET tipo, data = self.getfile(self.path) File "cdpedia\src\armado\server.py", line 433, in getfile , msg = self._error_page(unicode(e))

UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 7: ordinal not in range(128)

Original issue: http://code.google.com/p/cdpedia/issues/detail?id=121

hugoruscitti commented 10 years ago

From dmascialino on May 28, 2011 16:25:13

Agego las cosas que charlamos el jueves 26/5 en #pyar :

diegoM: el gif está aca resources/static/skins/js/wikibits.js:547:var ts_image_none = 'sort_none.gif'; facundobatista: there's a lot of javascript code that is left from 3-4 years ago... how can we clean all this? alecura: whishlist

facundobatista: ya sé qué es facundobatista: el sort_none no tiene nada que ver facundobatista: en algún momento abriste esa página en una versión de la cdpedia sin imágenes facundobatista: y como que queda cacheada facundobatista: lo acabo de reproducir facundobatista: entré a "Belgrano", directamente, veo imágenes facundobatista: (en DVD9) facundobatista: voy a una cdpedia sin imagenes, veo "Messi" facundobatista: luego levanto la de DVD9 de nuevo, veo "Messi", sin imágenes facundobatista: f5, veo bien facundobatista: diegoM, ¿entendés? diegoM: facundobatista: no tiene que ver con que Belgrano no tiene tablas ordenables? facundobatista: diegoM, qué es una tabla ordenable? diegoM: facundobatista: la tabla 'Selección nacional' al final del articulo de Maradona diegoM: facundobatista: no, messi tampoco tiene tabalas ordenables diegoM: facundobatista: creo que no es eso, la prueba al hice en una maquina en la que nunca habia probado cdpedia facundobatista: diegoM, busqué en la web uno que tenga tablas sortables en el que no haya entrado nunca local: Juegos_Olímpicos_de_Atenas_2004 facundobatista: diegoM, funca perfecto diegoM: facundobatista: si, probando en mi notebook tambien carga todas las imagenes... diegoM: facundobatista: y si lo que hace que deje de responder es el 'UnicodeEncodeError' ? facundobatista: diegoM, puede ser... sabés de dónde sale ese error? diegoM: creo que es porque el log esta redireccionado a un archivo de texto, e itnerpreta que tiene que escribir en ascii facundobatista: diegoM, ArticleNotFound ?? diegoM: facundobatista: se puede reproducir con algo como esto: $python2 cdpedia.py | tail -f facundobatista: diegoM, ¿pero tuviste article not found viendo el de maradona?? diegoM: facundobatista: no facundobatista: diegoM, no entiendo tu bug report, entonces diegoM: facundobatista: perdon, no se lanza un ArticleNotFound porque no encontro sort_none.gif ? facundobatista: diegoM, no facundobatista: diegoM, viendo el de Juegos_Olímpicos_de_Atenas_2004, por ejemplo, tengo varios facundobatista: ERROR: path desconocido para procesar: 'common/images/sort_down.gif' facundobatista: localhost.localdomain - - [26/May/2011 17:52:46] "GET /common/images/sort_down.gif HTTP/1.1" 404 - facundobatista: diegoM, pero no un Traceback de nada

Lo volvi a probar en windows, está vez en una máquina virtual, modificando server.py de la siguiente forma:

[cdpedia-code/temp/cdroot]$diff ../../src/armado/server.py cdpedia/src/armado/server.py 433c433,434

< msg = self._error_page(unicode(e))

        print '>>>>>>>>>>>>>>>>>>', repr(e)
        _msg = self._error_page(unicode(e))

en el cdpedia.log, se puede ver:

ERROR: path desconocido para procesar: 'common/images/sort_none.gif'

ArticleNotFound(u'\nEl art\xedculo \'common/images/sort_none.gif\' no pudo ser incluido en el disco

\nPod\xe9s acceder al mismo en Wikipedia en\neste enlace externo.\n',)

Exception happened during processing of request from ('127.0.0.1', 1290) Traceback (most recent call last): File "cdpedia\src\armado\server.py", line 64, in serve_forever self.process_request(request, client_address) File "C:\Documents and Settings\heiga\Desktop\trunk\resources\autorun.win\win32main\build\pyi.win32\win32main\outPYZ1.pyz/SocketServer", line 241, in process_request File "C:\Documents and Settings\heiga\Desktop\trunk\resources\autorun.win\win32main\build\pyi.win32\win32main\outPYZ1.pyz/SocketServer", line 254, in finish_request File "C:\Documents and Settings\heiga\Desktop\trunk\resources\autorun.win\win32main\build\pyi.win32\win32main\outPYZ1.pyz/SocketServer", line 522, in init File "C:\Documents and Settings\heiga\Desktop\trunk\resources\autorun.win\win32main\build\pyi.win32\win32main\outPYZ1.pyz/BaseHTTPServer", line 316, in handle File "C:\Documents and Settings\heiga\Desktop\trunk\resources\autorun.win\win32main\build\pyi.win32\win32main\outPYZ1.pyz/BaseHTTPServer", line 310, in handle_one_request File "cdpedia\src\armado\server.py", line 198, in do_GET tipo, data = self.getfile(self.path) File "cdpedia\src\armado\server.py", line 434, in getfile _msg = self._error_page(unicode(e)) UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 7: ordinal not in range(128)

Y, ocurre que algunas imagenes no se cargan .

Cc: facundob...@gmail.com alecura gringotu...@gmail.com

hugoruscitti commented 10 years ago

From gringotu...@gmail.com on June 03, 2011 06:26:27

No entiendo el bug ni las consecuencias. Lo tenemos que arreglar para la 0.7? Es facil de arreglar?

hugoruscitti commented 10 years ago

From dmascialino on June 04, 2011 07:28:42

El bug: Aca resources/static/skins/js/wikibits.js:547 se hace referencia a una imagen que no tenemos. Eso se usa en artículos que tienen tablas 'ordenables' con javascript, (por ejemplo: Diego_Armando_Maradona y Juegos_Olímpicos_de_Atenas_2004). Al abrir esos artículos en Windows, ocurre un UnicodeEncodeError (el traceback que se puede leer en $Home/cdpedia.log lo copié en lso comentarios atenriores).

De todo esto me dí cuenta al abrir esos artículos y ver que las imagenes que sí están, las del artículo, no se cargan la primera vez que se vé el artículo, pero sí cuando se refresca la página.

Creo que es dificil de entender, porque hay varias cosas mezcladas:

Como no termino de entenderlo, no se si la solución es díficil. Me parece que sí vale la pena tratar de arreglarlo para la 0.7.

Espero haber escrito un poco mas claro, sigan preguntando :)

hugoruscitti commented 10 years ago

From gringotu...@gmail.com on June 04, 2011 10:07:05

Ya se lo que es, no es windows o no windows, sino python2.5. Lo pude reproducir en linux con python-2.5.5.

La diferencia es que le agregaron a Exception el método unicode después de 2.5 y entonces unicode(e) en realidad llama a str(e):

(venv)[san trunk]$ ~/Downloads/Python-2.5.5/python Python 2.5.5 ( r255 :77872, Feb 16 2011, 22:04:08) [GCC 4.5.2 20110127 (prerelease)] on linux2 Type "help", "copyright", "credits" or "license" for more information.

Exception.unicode Traceback (most recent call last): File "", line 1, in AttributeError: type object 'exceptions.Exception' has no attribute 'unicode'

(venv)[san trunk]$ python Python 2.7.1 ( r271 :86832, Apr 15 2011, 12:09:10) [GCC 4.5.2 20110127 (prerelease)] on linux2 Type "help", "copyright", "credits" or "license" for more information.

Exception.unicode <method 'unicode' of 'exceptions.BaseException' objects>

Bueno, simplemente agregando el mètodo correspondiente se arregla. En un rato lo comiteo

hugoruscitti commented 10 years ago

From gringotu...@gmail.com on June 04, 2011 11:21:28

Corregido en r368

Status: Fixed