Se ha llevado a cabo el lanzamiento del catalogador de bibliotecas domésticas MyLibrary 3.0. El código del programa está escrito en C++ y está disponible (GitHub, GitFlic) bajo la licencia GPLv3. La interfaz gráfica de usuario se implementó utilizando la biblioteca GTK4. El programa está adaptado para funcionar en sistemas operativos de la familia Linux y Windows. Para los usuarios de Arch Linux, hay un paquete listo disponible en AUR. Para los usuarios de Windows, se ofrece un instalador experimental.
MyLibrary catalogar archivos de libros en formatos fb2, epub, pdf, djvu, tanto disponibles directamente como empaquetados en archivos (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), y crea su propia base de datos sin modificar los archivos originales ni su ubicación. El control de integridad de la colección y sus cambios se realiza mediante la creación de una base de datos de los hash de archivos y archivos comprimidos.
Se ha implementado una búsqueda de libros por diversos criterios (apellido, nombre, patronímico del autor, título del libro, serie, género) y su lectura a través del programa predeterminado del sistema para abrir los formatos de archivos correspondientes. Al seleccionar un libro se muestran la sinopsis y la portada, si están disponibles.
Se pueden realizar diversas operaciones con la colección: actualización (se verifica toda la colección y se confrontan los hashes de los archivos disponibles), exportación e importación de la base de datos de la colección, adición y eliminación de libros de la colección, adición de carpetas con libros a la colección, copia de libros de la colección a cualquier carpeta, y movimiento de libros entre colecciones. Se ha creado un mecanismo de marcadores para un acceso rápido a los libros.
Cambios significativos:
- El proyecto ha sido reescrito completamente desde cero.

- Se ha cambiado el formato de la base de datos.
- Se han modificado los lugares de almacenamiento de la información (las bases de colecciones se han trasladado a ~/.local/share/MyLibrary/Collections, los marcadores a ~/.local/share/MyLibrary/BookMarks, y los tamaños de algunas ventanas y el nombre de la colección actual se guardan en ~/.cache/MyLibrary).
- Se ha eliminado la biblioteca libzip de las dependencias.
- Se ha optimizado la lista de formatos de archivo comprimidos compatibles.
- Se ha mejorado significativamente el soporte para los formatos fb2 y epub.
- Se ha mejorado la gestión de diferentes codificaciones de texto.
- Se ha mejorado el tratamiento y la visualización de las sinopsis.
- Se ha rediseñado completamente el formato de la ventana de información sobre el libro, ampliando significativamente la lista de datos mostrados.

- Se añadió la capacidad de guardar la portada del libro en varios formatos.
- Se amplió la funcionalidad de trabajar con colecciones: hay posibilidad de añadir varios libros a la vez y se ha agregado la opción de incluir carpetas en las colecciones, incluyendo su compresión en un archivo.
- Se ha añadido la posibilidad de agregar libros y carpetas de libros a un archivo ya existente (el archivo se sobrescribe).
- Se agregó la opción de mover un libro de una colección a otra (se traslada tanto la entrada en la base de datos como el propio libro).
- Se añadió el procesamiento de enlaces simbólicos (tanto para archivos como para carpetas).
- Se añadió soporte experimental para sistemas que utilizan diferentes órdenes de bytes.
- Se corrigieron algunos errores menores y detalles.
- Se mantuvo la compatibilidad con todas las versiones de la biblioteca GTK4.
Al actualizar a esta versión del programa, los usuarios de versiones anteriores deberán crear colecciones desde cero. El funcionamiento del programa se ha probado en arquitecturas x86_64, i686, aarch64 (solo para Linux; la versión de Windows se probó exclusivamente en arquitectura x86_64).
Fuente: opennet.ru


