Die Veröffentlichung des Katalogisierers für die heimische Bibliothek MyLibrary 4.3

Die Veröffentlichung des Katalogisierers für die private Bibliothek MyLibrary 4.3 hat stattgefunden. Der Code des Programms ist in der Programmiersprache C++ geschrieben und unter der GPLv3-Lizenz auf (GitHub, GitFlic) verfügbar. Die Benutzeroberfläche wurde mit der GTK4-Bibliothek realisiert. Das Programm ist für den Einsatz in Betriebssystemen der Linux-Familie und Windows angepasst. Für Arch-Linux-Nutzer ist im AUR ein Skript zur Erstellung des fertigen Pakets verfügbar. Für Windows-Nutzer steht ein experimenteller Installer zur Verfügung.

MyLibrary katalogisiert Buchdateien im Format fb2, epub, pdf, djvu, odt, txt, md, sowohl direkt verfügbare als auch in Archiven (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar) verpackte, und erstellt eine eigene Datenbank, ohne die Quell-Dateien zu ändern oder ihre Positionen zu verändern. Das Format fbd (Buchdatei, verpackt in einem Archiv zusammen mit einer Datei mit der Erweiterung fbd, die den Tag description im fb2-Format enthält) steht auch für die Katalogisierung zur Verfügung. Im fbd-Format können beliebige Dateien gespeichert werden, nicht nur Bücher. Die Integrität der Sammlung und ihrer Änderungen wird durch die Erstellung einer Datenbank von Hash-Summen der Dateien und Archive überwacht.

Die Buchsuche erfolgt anhand verschiedener Kriterien (Nachname, Vorname, Vatersname des Autors, Buchtitel, Reihe, Genre) und ermöglicht das Lesen über das standardmäßig im System eingestellte Programm zum Öffnen der entsprechenden Dateiformate. Bei der Auswahl eines Buches werden die Zusammenfassung und das Cover angezeigt, sofern verfügbar. Es wird eine Liste der Dateien unterstützt, die zur Sammlung gehören; eine Liste der Bücher in einer bestimmten Datei; eine Liste der Autoren der Sammlung; eine Liste der Bücher, für die der Benutzer Notizen erstellt hat.

Mit der Sammlung sind verschiedene Operationen möglich: Aktualisierung (es wird die gesamte Sammlung geprüft und die Prüfziffern der verfügbaren Dateien abgeglichen), schnelles Update (ohne Neuberechnung der Prüfziffern), Export und Import der Sammlung Datenbank, Bücher zur Sammlung hinzufügen und Bücher aus der Sammlung entfernen, Hinzufügen von Ordnern mit Büchern zur Sammlung, Hinzufügen von Archiven mit Büchern zur Sammlung (einschließlich der Verpackung von Büchern und/oder Ordnern im Zuge der Hinzufügung), Kopieren von Büchern der Sammlung in einen beliebigen Ordner, Verschieben von Büchern von einer Sammlung in eine andere. Es ist möglich, Einträge über Bücher in der Datenbank manuell zu bearbeiten. Ein Lesezeichenmechanismus wurde eingerichtet, um einen schnellen Zugriff auf die Bücher zu ermöglichen. Es besteht die Möglichkeit, benutzerdefinierte Notizen zu Büchern zu erstellen. Optional ist eine Schnittstelle zum Erstellen und Anschließen von Plugins verfügbar. Es gibt die Möglichkeit, die Dokumentation für die Bibliotheken MLBookProc, MLPluginIfc und XMLParserCPP (die zum Projekt gehören) zu öffnen, wenn diese während des Builds erstellt wurde.

Wesentliche Änderungen:

  • Methoden zur Arbeit mit XML-Dateien wurden in die Bibliothek XMLParserCPP ausgelagert (die Teil der Bibliothek MLBookProc ist und vollständig unabhängig verwendet werden kann).
  • Für die Bibliothek XMLParserCPP wurde eine Dokumentation erstellt.
  • Fehler bei der Verarbeitung von fehlerhaft formatierten XML-Dateien wurden behoben.
  • Die MLBookProc-Bibliothek wurde auf die Verwendung von std::exception als Fehlerindikator umgestellt.
  • Einige Methoden und Klassen der MLBookProc-Bibliothek wurden als veraltet markiert (siehe Dokumentation für Details).
  • In der auf std::thread basierenden Version wurden für einige Funktionen explizite Zuweisungen der Threads zu den CPU-Kernen hinzugefügt.
  • Die Anzeige von Buchcovern wurde beschleunigt.
  • Die Funktionalität der Suchfunktionen wurde verbessert.
  • Die Arbeit mit Textkodierungen wurde verbessert.
  • In die Funktion zur schnellen Aktualisierung der Sammlung wurde eine Überprüfung auf das Vorhandensein von Dateien in Archiven hinzugefügt.

Die Empfehlungen zur Nutzung des Programms wurden ebenfalls aktualisiert. Besonders zu beachten sind folgende Punkte:

  • Das Suchfeld "Nachname" kann als universelles Suchfeld für Autoren verwendet werden. Das bedeutet, dass Nutzer darin den Nachnamen, Vornamen, Vatersnamen und/oder Pseudonym des Autors eingeben können, nicht nur den Nachnamen.
  • Bücher der Sammlung können extern gespeichert werden Server. In diesem Fall müssen die Benutzer den Zugriff auf Server Über das SMB-Protokoll kann der übergeordnete Ordner der Sammlung auf den Client-Rechnern mit gvfs, kio-fuse oder ähnlichen Tools eingebunden werden (wobei die Authentifizierung während der Sitzung erhalten bleibt, falls erforderlich). Wenn alles korrekt konfiguriert wurde, kann MyLibrary mit den netzwerkgebundenen Ordnern ebenso arbeiten wie mit lokalen, ohne dass zusätzliche Einstellungen notwendig sind. Um die Leistung zu steigern, sollten Sammlungen nach der Verbindung über das SMB-Protokoll nur auf einem PC erstellt werden, bevor die Export- und Importfunktionen der Sammlungsdatenbank genutzt werden.

Zusätzlich kann das Update des Plugins MLInpxPlugin erwähnt werden, das für den Import von Sammlungen aus inpx-Dateien gedacht ist (unter der GPLv3-Lizenz auf altlinux.space und GitHub verfügbar). Für Arch-Linux-Nutzer steht im AUR ein Skript zur Verfügung, um ein fertiges Paket zu erstellen. Die Änderungen in der neuen Version bestehen in der expliziten Verteilung der Threads auf die CPU-Kerne in einem auf std::thread basierenden Build.

Ebenfalls zu erwähnen ist das Update des Plugins MLFBDPlugin, das zur Erstellung von Dateien im fbd-Format dient. In der neuen Version wurde das Plugin auf die Verwendung der Bibliothek XMLParserCPP umgestellt, um Dateien im XML-Format zu speichern, und es wurden einige Mängel behoben.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster