From 973b4946e1d90edd4f4bebe4501c4f433edf2f1e Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Wed, 4 Apr 2007 03:08:07 +0000 Subject: [PATCH] =?utf8?q?Bugfix:=20problema=20de=20encoding=20al=20grabar?= =?utf8?q?=20un=20archivo=20en=20un=20ZIP.=20ZipFile.write()=20hace=20unas?= =?utf8?q?=20manipulaciones=20binarias=20con=20el=20nombre=20del=20archivo?= =?utf8?q?=20y=20si=20el=20nombre=20de=20archivo=20es=20unicode=20da=20err?= =?utf8?q?or,=20por=20lo=20que=20hay=20que=20decodificarlo=20previamente.?= =?utf8?q?=20Este=20arreglo=20es=20temporal,=20habr=C3=ADa=20que=20acordar?= =?utf8?q?=20una=20codificaci=C3=B3n=20para=20nombres=20de=20archivo=20en?= =?utf8?q?=20los=20ZIP=20(AFAIK=20el=20formato=20ZIP=20no=20sabe=20de=20co?= =?utf8?q?dificaciones)=20y=20guardarlos/leerlos=20siempre=20en=20esa=20co?= =?utf8?q?dificaci=C3=B3n=20(UTF-8=20seguramente).?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- TODO.txt | 5 ++++- sercom/tester.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/TODO.txt b/TODO.txt index e34e58f..984929b 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1,5 +1,8 @@ - Backend (luca) - * Ver por qué no anda valgrind en chroot. + * Arreglar / pensar problemas de encoding. Lugares donde es necesario + codificar los strings unicode: + * Guardar/leer nombres de archivos de ZipFile. + * Logging. * Hacer que se usen los parametros ComandoPrueba como multiplicadores de CasoDePrueba. * Arreglar bug. Al mezclar los archivos_entrada, archivos_a_comparar y diff --git a/sercom/tester.py b/sercom/tester.py index 18b7e58..8ff7764 100644 --- a/sercom/tester.py +++ b/sercom/tester.py @@ -433,7 +433,7 @@ def ejecutar_comando_fuente(self, path, entrega): #{{{ log.debug(_(u'Se esperaba un archivo "%s" para guardar pero ' u'no fue encontrado'), f) else: - zip.write(join(path, f), f) + zip.write(str(join(path, f)), str(f)) # FIXME encoding de unicode zip.close() comando_ejecutado.archivos = buffer.getvalue() def diff(new, zip_in, zip_out, name, longname=None, origname='correcto', @@ -646,7 +646,7 @@ def ejecutar_comando_prueba(self, path, prueba): #{{{ log.debug(_(u'Se esperaba un archivo "%s" para guardar pero ' u'no fue encontrado'), f) else: - zip.write(join(path, f), f) + zip.write(str(join(path, f)), str(f)) # FIXME encoding de unicode zip.close() comando_ejecutado.archivos = buffer.getvalue() def diff(new, zip_in, zip_out, name, longname=None, origname='correcto', -- 2.43.0