LINUX.ORG.RU

MyLibrary 5.0

 , , , ,


0

1

Состоялся релиз каталогизатора домашней библиотеки 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 переведены в архивный режим – функциональность плагина включена в состав основной программы.

>>> Источник: OpenNET

★★★★★

Проверено: maxcom ()
Последнее исправление: CrX (всего исправлений: 3)

На OpenNET авторские скриншоты, но я решил сделать свои.

@maxcom, может быть всё-таки можно увеличить лимит на количество загружаемых изображений?

dataman ★★★★★
() автор топика
Последнее исправление: dataman (всего исправлений: 1)

Глаза вытекли. Как они умудрились и так вырвиглазный дефолт Кьюта сделать еще на порядки вырвиглазнее?🤯

slepoy_pew
()
Ответ на: комментарий от slepoy_pew

Я поэтому и добавил третий скриншот с настройками внешнего вида, но всё тюнить мне было лень. :)

dataman ★★★★★
() автор топика
Ответ на: комментарий от James_Holden

404 - интерфейс не найден, как и глаза, впрочем.

ptah_alexs ★★★★★
()

как доступные напрямую, так и упакованные в архивы

О, круто.

Кто-нибудь сравнивал с FreeLib?

hobbit ★★★★★
()
Ответ на: комментарий от zombi_pony

Лично я реализовывал нечто подобное с использованием wxwidgets. Как «морда» к СУБД Firebird, на которой всё и вертелось.

sparkie ★★★★★
()
Ответ на: комментарий от Zhbert

А там тему одной кнопкой нельзя поменять?

Можно нажать на «Reset to system default».

dataman ★★★★★
() автор топика

в свое время написал CLI для поиска по библиотеке с возможностью выгрузки в файл https://github.com/bogdanovmn/inpx-client

если это кому-то еще зайдет, то я мог бы продолжить развивать инструмент)

bogdanovmn
()

Люди вообще не умеют в интерфейс. Страшно смотреть.

Xintrea ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.