Wydanie katalogizatora domowej biblioteki MyLibrary 4.3

Wydano katalogizator domowej biblioteki MyLibrary 4.3. Kod programu napisany jest w języku C++ i jest dostępny (GitHub, GitFlic) na licencji GPLv3. Interfejs użytkownika został zrealizowany przy użyciu biblioteki GTK4. Program został dostosowany do pracy w systemach operacyjnych rodziny Linux i Windows. Użytkownicy Arch Linux mogą skorzystać z skryptu budowania dostępnego w AUR. Użytkownicy Windows mają dostęp do eksperymentalnego instalatora.

MyLibrary katalogizuje pliki książek w formatach fb2, epub, pdf, djvu, odt, txt, md, zarówno dostępne bezpośrednio, jak i spakowane w archiwa (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), tworząc własną bazę danych, nie zmieniając oryginalnych plików ani ich lokalizacji. Do katalogizacji dostępny jest również format fbd (plik książki, spakowany w archiwum wraz z plikiem o rozszerzeniu fbd, zawierającym znacznik description formatu fb2). W formacie fbd mogą być przechowywane wszelkie pliki, nie tylko książki. Kontrola integralności kolekcji i jej zmian odbywa się poprzez tworzenie bazy danych sum kontrolnych plików i archiwów.

Zrealizowano wyszukiwanie książek według różnych kryteriów (nazwisko, imię, imię ojca autora, tytuł książki, seria, gatunek) oraz ich czytanie za pomocą programu, domyślnie ustawionego w systemie do otwierania odpowiednich formatów plików. Po wyborze książki wyświetlane są streszczenie i okładka książki, jeśli są dostępne. Obsługiwane jest wyświetlanie listy plików wchodzących w skład kolekcji; listy książek wchodzących w dany plik; listy autorów kolekcji; listy książek, do których użytkownik stworzył notatki.

Możliwe są różne operacje z kolekcją: aktualizacja (sprawdzana jest cała kolekcja i porównywane są sumy kontrolne dostępnych plików), szybka aktualizacja (bez przeliczenia sum kontrolnych), eksport i import bazy danych kolekcji, dodawanie książek do kolekcji i usuwanie książek z kolekcji, dodawanie folderów z książkami do kolekcji, dodawanie archiwów z książkami do kolekcji (w tym opakowanie książek i/lub folderów w trakcie dodawania), kopiowanie książek z kolekcji do dowolnego folderu, przenoszenie książek z kolekcji do kolekcji. Dostępna jest ręczna edycja wpisów o książkach w bazie danych. Stworzono mechanizm zakładek dla szybkiego dostępu do książek. Istnieje możliwość tworzenia użytkownikowskich notatek do książek. Opcjonalnie dostępny jest interfejs do tworzenia i podłączania wtyczek. Można otworzyć dokumentację bibliotek MLBookProc, MLPluginIfc oraz XMLParserCPP (wchodzą w skład projektu), jeśli została stworzona w trakcie budowania.

Znaczące zmiany:

  • Metody do pracy z plikami XML zostały umieszczone w bibliotece XMLParserCPP (wchodzi w skład biblioteki MLBookProc, może być używana całkowicie niezależnie).
  • Dla biblioteki XMLParserCPP stworzono dokumentację.
  • Naprawiono błędy przy przetwarzaniu niepoprawnie sformatowanych plików XML.
  • Biblioteka MLBookProc została przetłumaczona na użycie std::exception jako wskaźnika błędów.
  • Niektóre metody i klasy biblioteki MLBookProc zostały oznaczone jako przestarzałe (szczegóły w dokumentacji).
  • W budowie opartej na std::thread dla niektórych funkcji dodano jawne rozdzielanie wątków między rdzeniami procesora.
  • Przyspieszono wyświetlanie okładek książek.
  • Udoskonalono działanie funkcji wyszukiwania.
  • Udoskonalono obsługę kodowań tekstu.
  • Do funkcji szybkiej aktualizacji kolekcji dodano sprawdzenie obecności plików w archiwach.

Aktualizacje zawierają także zalecenia dotyczące korzystania z programu. W szczególności można wyróżnić następujące:

  • Pole wyszukiwania „Nazwisko” może być używane jako uniwersalne pole wyszukiwania autorów. Tzn. użytkownicy mogą wpisywać w nie nazwisko, imię, drugie imię i/lub pseudonim autora, a nie tylko nazwisko.
  • Książki z kolekcji mogą być umieszczone na zewnętrznym serwerze. W tym przypadku użytkownicy muszą skonfigurować dostęp do serwera za pomocą protokołu SMB, a następnie zamontować na maszynach klienckich główny folder kolekcji za pomocą gvfs, kio-fuse lub ich odpowiedników (z zachowaniem autoryzacji przez czas trwania sesji, jeśli to wymagane). Jeśli wszystko zostało poprawnie skonfigurowane, MyLibrary będzie mogła działać z folderami podłączonymi przez sieć tak, jak z lokalnymi, bez dodatkowych ustawień. Aby przyspieszyć działanie, po podłączeniu przez protokół SMB, kolekcje można tworzyć tylko na jednym PC, a następnie skorzystać z funkcji eksportu i importu bazy danych kolekcji.

Dodatkowo można zauważyć aktualizację wtyczki MLInpxPlugin, przeznaczonej do importowania kolekcji z plików inpx (dostępna na licencji GPLv3 na altlinux.space i GitHub). Dla użytkowników Arch Linux w AUR dostępny jest skrypt budowy gotowego pakietu. Zmiany w nowej wersji sprowadzają się do dodania jawnego rozdzielania wątków między rdzeniami procesora w budowie opartej na std::thread.

Można również zauważyć aktualizację wtyczki MLFBDPlugin, przeznaczonej do tworzenia plików w formacie fbd. W nowej wersji wtyczka przeszła na użycie biblioteki XMLParserCPP do zapisywania plików w formacie XML oraz poprawiono niektóre niedociągnięcia.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster