Релиз открытого каталогизатора домашней библиотеки MyLibrary 4.0

Состоялся релиз открытого каталогизатора домашней библиотеки MyLibrary 4.0. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступен готовый сценарий сборки пакета. Для пользователей Windows доступен экспериментальный инсталлятор. Исходный код решения написан на языке программирования С++ и опубликован на GitHub и GitFlic под лицензией GPLv3. Графический интерфейс пользователя в проекте реализован с помощью библиотеки GTK4. Версия MyLibrary 3.0 вышла в февраля 2024 года.

Проект MyLibrary каталогизирует файлы книг в формате fb2, epub, pdf, djvu, как доступные напрямую, так и упакованные в архивы (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), и создаёт собственную базу данных, не изменяя исходные файлы и не меняя их положения. Контроль целостности коллекции и её изменений осуществляется за счёт создания базы данных хэш‑сумм файлов и архивов.

В решении реализован поиск книг по различным критериям (фамилия, имя, отчество автора, название книги, серия, жанр) и их чтение через программу, по умолчанию установленную в системе для открытия соответствующих форматов файлов. При выборе книги отображаются аннотация и обложка книги, если таковые доступны. Проектом поддерживается отображение списка файлов, входящих в коллекцию, и списка книг, входящих в конкретный файл.

В MyLibrary возможны различные операции с коллекцией, включая обновление (осуществляется проверка всей коллекции и сверка хэш‑сумм доступных файлов), экспорт и импорт базы данных коллекции, добавление книг в коллекцию и удаление из неё, добавление в коллекцию папок с книгами, добавление в коллекцию архивов с книгами, копирование книг коллекции в произвольную папку, перемещение книг из коллекции в коллекцию. В проекте доступно ручное редактирование записей о книгах в базе данных, а также создан механизм закладок для быстрого доступа к книгам.

По информации OpenNET, основные изменения и доработки в MyLibrary 4.0:

функции для работы с коллекциями, закладками и заметками вынесены в отдельную библиотеку MLBookProc (может быть использована как полностью независимый проект);

добавлен опциональный интерфейс для создания и подключения плагинов (MLPluginIfc);

обеспечена полная поддержка многопоточности на базе OpenMP (доступны два эквивалентных по функциональным возможностям варианта сборки: на базе OpenMP или на базе std::thread);

улучшена работа варианта сборки на базе OpenMP;

улучшена балансировка нагрузки на ЦП в варианте сборки на базе std::thread;

добавлена возможность создания пользовательских заметок к книгам;

добавлена функция отображения авторов коллекции;

добавлена функция отображения книг коллекции с пользовательскими заметками;

переработаны функции разбора файлов с разметкой XML;

исправлены ошибки в работе с книгами в формате djvu;

добавлена возможность настройки цвета рамки виджетов Gtk::Frame (пользователям, которые изменяли настройки внешнего вида, необходимо вручную добавить в файл ~/.config/MyLibrary/MLStyles.css вставку «#MLFrame {border-color: black;}», или удалить данный файл и произвести настройку внешнего вида заново);

создана документация для библиотеки MLBookProc;

создана документация для MLPluginIfc;

убрана сборочная опция USE_TBB (при необходимости подключение библиотеки tbb теперь происходит автоматически).

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии