È stato rilasciato il catalogatore della biblioteca domestica MyLibrary 4.3. Il codice del programma è scritto in C++ ed è disponibile (GitHub, GitFlic) sotto licenza GPLv3. L'interfaccia grafica utente è realizzata utilizzando la libreria GTK4. Il programma è adattato per funzionare sui sistemi operativi della famiglia Linux e Windows. Per gli utenti di Arch Linux è disponibile uno script di build del pacchetto pronto in AUR. Per gli utenti Windows è disponibile un installer sperimentale.
MyLibrary catalogizza i file dei libri nei formati fb2, epub, pdf, djvu, odt, txt, md, sia direttamente disponibili che compressi in archivi (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar) e crea un proprio database senza modificare i file originali e mantenendo le loro posizioni. È disponibile anche il formato fbd (file del libro compresso in un archivio insieme a un file con estensione fbd che contiene il tag description nel formato fb2). Nel formato fbd possono essere conservati qualsiasi tipo di file, non solo libri. Il controllo dell'integrità della collezione e delle sue modifiche avviene attraverso la creazione di un database di hash dei file e degli archivi.
È implementata la ricerca di libri in base a vari criteri (cognome, nome, patronimico dell'autore, titolo del libro, serie, genere) e la loro lettura tramite il programma predefinito nel sistema per aprire i formati di file corrispondenti. Quando si seleziona un libro, vengono visualizzati il riepilogo e la copertina del libro, se disponibili. Supporta la visualizzazione dell'elenco dei file presenti nella collezione; l'elenco dei libri inclusi in un file specifico; l'elenco degli autori della collezione; l'elenco dei libri per cui l'utente ha creato note.
Sono disponibili diverse operazioni sulla collezione: aggiornamento (viene eseguita una verifica dell'intera collezione e un confronto degli hash dei file disponibili), aggiornamento rapido (senza ricalcolo degli hash), esportazione e importazione del database della collezione, aggiunta di libri alla collezione e rimozione di libri dalla collezione, aggiunta di cartelle con libri alla collezione, aggiunta di archivi con libri alla collezione (compreso il confezionamento di libri e/o cartelle nel processo di aggiunta), copia di libri della collezione in una cartella a scelta, spostamento di libri dalla collezione a un'altra collezione. È possibile modificare manualmente le registrazioni dei libri nel database. È stato creato un meccanismo di segnalibri per un accesso rapido ai libri. È possibile creare note personali sui libri. È disponibile un'interfaccia per la creazione e il collegamento di plugin. È possibile aprire la documentazione delle librerie MLBookProc, MLPluginIfc e XMLParserCPP (incluse nel progetto), se creata durante il processo di build.
Modifiche significative:
- I metodi per lavorare con i file XML sono stati estratti nella libreria XMLParserCPP (inclusa nella libreria MLBookProc, può essere utilizzata completamente in modo indipendente).
- È stata creata la documentazione per la libreria XMLParserCPP.
- Sono stati risolti errori nella gestione di file XML formattati in modo errato.
- La libreria MLBookProc è stata convertita per utilizzare std::exception come indicatore di errori.
- Alcuni metodi e classi della libreria MLBookProc sono stati dichiarati obsoleti (dettagli nella documentazione).
- Nella build basata su std::thread è stata aggiunta una distribuzione esplicita dei thread sui core della CPU per alcune funzioni.
- È stata accelerata la visualizzazione delle copertine dei libri.
- Migliorato il funzionamento delle funzioni di ricerca.
- Migliorato il supporto per le codifiche dei testi.
- Nella funzione di aggiornamento rapido della collezione è stata aggiunta una verifica della presenza di file negli archivi.
Sono state aggiornate anche le raccomandazioni per l'uso del programma. In particolare, si possono notare le seguenti novità:
- La stringa di ricerca "Cognome" può essere utilizzata come stringa di ricerca universale per gli autori. Vale a dire, gli utenti possono inserire al suo interno cognome, nome, patronimico e/o pseudonimo dell'autore, non solo il cognome.
- I libri della collezione possono essere posizionati su un disco esterno server. In questo caso, gli utenti devono configurare l'accesso a server tramite il protocollo SMB, quindi montare sui client la cartella principale della collezione utilizzando gvfs, kio-fuse o analoghi (mantenendo l'autenticazione durante la sessione, se richiesta). Se tutto è stato configurato correttamente, MyLibrary potrà funzionare con le cartelle condivise in rete come con quelle locali, senza necessità di ulteriori configurazioni. Per velocizzare le operazioni, dopo la connessione tramite SMB, le collezioni possono essere create solo su un PC, dopodiché sarà possibile utilizzare le funzioni di esportazione e importazione del database della collezione.
In aggiunta, si può notare l'aggiornamento del plugin MLInpxPlugin, progettato per importare collezioni da file inpx (disponibile con licenza GPLv3 su altlinux.space e GitHub). Per gli utenti di Arch Linux, è disponibile un file di build pronto nell'AUR. Le modifiche nella nuova versione consistono nell'aggiunta di una distribuzione esplicita dei thread sui core della CPU nella build basata su std::thread.
È stato inoltre aggiornato il plugin MLFBDPlugin, progettato per creare file nel formato fbd. Nella nuova versione, il plugin è stato convertito per utilizzare la libreria XMLParserCPP per il salvataggio dei file in formato XML e sono stati corretti alcuni difetti.
Fonte: opennet.ru
