Відбувся релиз каталогизатора домашней библиотеки MyLibrary 5.0. Код программы написан на языке программирования С++ и доступен (GitHub, GitFlic) под лицензией GPLv3. Графический интерфейс пользователя реализован с помощью библиотеки Qt6. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступний сценарий сборки готового пакета. Для пользователей Windows доступний экспериментальный инсталлятор.
MyLibrary каталогизирует файлы книг в формате fb2, epub, pdf, djvu, odt, txt, md, как доступные напрямую, так и упакованные в архивы (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), и создаёт собственную базу данных, не изменяя исходные файлы и не меняя их положения. Для каталогизации также доступен формат fbd (файл книги, упакованный в архив вместе с файлом с расширением fbd, содержащем тег description формата fb2). В формате fbd могут храниться любые файлы, не только книги. Контроль целостности коллекции и её изменений осуществляется за счёт создания базы данных хеш-сумм файлов и архивов.
Реалізовано пошук книг за різними критеріями (прізвище, ім'я, по-батькові автора, назва книги, серія, жанр) та їх читання через програму, за умовчанням встановлену в системі для відкриття відповідних форматів файлів. При виборі книги відображаються анотація та обкладинка книги, якщо вони доступні. Підтримується відображення списку файлів, що входять до колекції; списку книг, що входять до конкретного файлу; списку авторів колекції; списку книг, для яких користувач створив нотатки.
Можливі різні операції з колекцією: оновлення (здійснюється перевірка всієї колекції та звірка хеш-сум доступних файлів), швидке оновлення (змінюються розміри файлів), експорт та імпорт бази даних колекції, додавання книг до колекції та видалення книг з колекції, додавання до колекції папок з книгами, додавання до колекції книг папку. Доступно ручне редагування записів про книги у базі даних. Створено механізм закладок для швидкого доступу до книг. Є можливість створювати користувацькі нотатки до книг. Доступний інтерфейс для створення та підключення плагінів.
MyLibrary може працювати з колекціями, що знаходяться на зовнішньому сервері (відповідні папки та файли мають бути доступні за протоколом SMB та змонтовані на локальному комп'ютері за допомогою gvfs, kio-fuse або їх аналогів).
Значні зміни:
- Проект переведён на использование нового типа бази даних (коллекции, закладки, заметки).
- Добавлен слой совместимости со старыми базами данных: коллекции, созданные в предыдущих версиях программы, загружаются и работают в режиме ограниченной функциональности (отключены функции редактирования базы данных и некоторые другие), закладки и заметки — без каких либо ограничений (старые базы будут автоматически преобразованы в новые при изменении заметок или закладок).
- Графический интерфейс переведён на использование Qt6. Изменено поведение функции создания коллекций — теперь в коллекцию можно добавлять произвольный набор папок и поддерживаемых файлов.
- Изменено поведение функции обновления коллекций. При попытке обновления устаревших и inpx коллекций они будут преобразованы в нативные. При обновлении нативных коллекций — в случае быстрого обновления – проверяются наличие и размеры файлов, если размер файла изменился — будет выполнен его повторный разбор. При обычном обновлении вместо размеров проверяются хеш-суммы файлов.
- Змінено поведінку функції додавання книг до існуючої колекції. Нові книги тепер додаються до бази даних без переміщення відповідних файлів.
- Поліпшено роботу пошукових алгоритмів.
- Прискорено роботу функції відображення авторів колекції.
- Перероблено API бібліотеки MLBookProc та бібліотеки для підключення плагінів.
- Улучшена работа библиотеки разбора xml файлов, добавлена начальная поддержка формата html.
- Отключена возможность создания документации внутренних библиотек в формате pdf. Вместо неё добавлена документация в виде man страниц. Документация в формате html – без изменений.
- Для складання тепер потрібна підтримка компілятор стандарту C++20.
- У розряд обов'язкових переведено підтримку компілятором стандарту OpenMP.
- Змінено сценарії збирання та складальні опції.
- Інші невеликі зміни та покращення.
Дополнительно можно отметить обновление плагина MLFBDPlugin (доступен под лицензией GPLv3 на altlinux.space и GitHub, для пользователей Arch Linux доступний в AUR), предназначенного для создания файлов в формате fbd и доступен (altlinux.space, GitHub, AUR (archlinux.org)) под лицензией GPLv3. В новой версии плагин переведён на использование Qt6.
Репозитории плагина MLInpxPlugin переведены в архивный режим – функциональность плагина включена в состав основной программы.
Джерело: linux.org.ru
