ZipFile.write() hace unas manipulaciones binarias con el nombre del archivo y si
el nombre de archivo es unicode da error, por lo que hay que decodificarlo
previamente. Este arreglo es temporal, habría que acordar una codificación para
nombres de archivo en los ZIP (AFAIK el formato ZIP no sabe de codificaciones) y
guardarlos/leerlos siempre en esa codificación (UTF-8 seguramente).
- * 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
* Hacer que se usen los parametros ComandoPrueba como multiplicadores de
CasoDePrueba.
* Arreglar bug. Al mezclar los archivos_entrada, archivos_a_comparar y
log.debug(_(u'Se esperaba un archivo "%s" para guardar pero '
u'no fue encontrado'), f)
else:
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',
zip.close()
comando_ejecutado.archivos = buffer.getvalue()
def diff(new, zip_in, zip_out, name, longname=None, origname='correcto',
log.debug(_(u'Se esperaba un archivo "%s" para guardar pero '
u'no fue encontrado'), f)
else:
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',
zip.close()
comando_ejecutado.archivos = buffer.getvalue()
def diff(new, zip_in, zip_out, name, longname=None, origname='correcto',