Tag Archives: Calibre

Fusionando librerías en Calibre. Codificación de caracteres

Me propuse unir dos librerías en Calibre, una de ellas cedida con otra propia. Mi idea consistía meter todos los libros de las dos librerías en la misma carpeta y luego proceder a crear el índice de la nueva librería con calibredb restore_database, pero cuando voy a hacerlo saltan los errores. Errores de python (lenguaje en que esta desarrollado Calibre) indicando que cierto carácter ‘utf-8’ no era reconocido.

«UnicodeDecodeError: ‘utf8’ codec can’t decode byte 0xb1 in position …»

 

Después de leer y buscar información y observar que podría estar pasando, me di cuenta que los nombres de los archivos contenían caracteres extraños, y dado que mi sistema esta configurado en locales como UTF-8, el problema podría venir porque la librería añadida había sido codificada en un sistema diferente, ISO-8859-1.

 

Así que la solución pasaba por una conversión de todos los ficheros codificados con ISO-8859-1 a UTF-8, y para ello, existe una herramienta en nuestro debian: convmv.

Puesto en la carpeta de la Biblioteca_de_Calibre

> convmv -f ISO-8859-1 -t UTF-8 * –notest

donde -f es la codificación de entrada -t es la codificación de salida y –notest es para que ejecute el cambio (sin esta opción solo realiza un test sin realizar cambios en los ficheros). El * indica que se aplique recursivamente a todos los ficheros contenidos en la carpeta actual.

Una vez cambiada la codificación, procedo a reconstruir el índice de calibre

> calibredb restore_database -r –library-path=/ruta_a/Biblioteca_de_Calibre

operación que realiza sin problemas, obteniendo una única librería.

 

Category: Debian, Informatica | Tags: , , ,