Aconteceu Lançamento do catalogador de biblioteca doméstica MyLibrary 5.0. O código do programa foi escrito na linguagem de programação C++ e está disponível (GitHub, GitFlic) sob a licença GPLv3. A interface gráfica do usuário é implementada com a biblioteca Qt6. O programa foi adaptado para funcionar em sistemas operacionais da família Linux e Windows. Para usuários do Arch Linux, no AUR disponível o script de construção do pacote pronto. Para usuários do Windows disponível instalador experimental.
MyLibrary catalogar arquivos de livros nos formatos fb2, epub, pdf, djvu, odt, txt, md, tanto disponíveis diretamente quanto compactados em arquivos (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), e cria seu próprio banco de dados, sem modificar os arquivos originais e sem alterar suas localizações. O formato fbd (arquivo de livro, compactado em um arquivo junto com um arquivo com a extensão fbd, contendo a tag description do formato fb2) também está disponível para catalogação. No formato fbd, podem ser armazenados quaisquer arquivos, não apenas livros. O controle de integridade da coleção e suas alterações é realizado por meio da criação de um banco de dados de hash dos arquivos e arquivos compactados.
Foi implementada a busca de livros por vários critérios (sobrenome, nome, patronímico do autor, título do livro, série, gênero) e sua leitura através do programa, que está definido como padrão no sistema para abrir os formatos de arquivo correspondentes. Ao selecionar um livro, uma sinopse e a capa do livro são exibidas, se disponíveis. O suporte para exibir a lista de arquivos que fazem parte da coleção; a lista de livros que fazem parte de um arquivo específico; a lista de autores da coleção; a lista de livros para os quais o usuário criou notas é mantido.
Várias operações podem ser realizadas com a coleção: atualização (é feita a verificação de toda a coleção e a correspondência das somas de verificação dos arquivos disponíveis), atualização rápida (os tamanhos dos arquivos são comparados), exportação e importação do banco de dados da coleção, adição de livros à coleção e remoção de livros da coleção, adição de pastas com livros à coleção, adição de arquivos compactados com livros à coleção, cópia de livros da coleção para uma pasta de sua escolha. A edição manual de registros sobre livros no banco de dados está disponível. Um mecanismo de marcadores foi criado para acesso rápido aos livros. Existe a possibilidade de criar notas personalizadas para os livros. Uma interface para criar e conectar plugins está disponível.
MyLibrary pode trabalhar com coleções localizadas em um servidor externo (as pastas e arquivos relevantes devem estar acessíveis pelo protocolo SMB e montados no computador local usando gvfs, kio-fuse ou seus análogos).
Mudanças significativas:
- O projeto foi traduzido para usar um novo tipo bancos de dados (coleções, marcadores, notas).
- Camada de compatibilidade com bancos de dados antigos adicionada: coleções criadas em versões anteriores do programa são carregadas e funcionam em modo de funcionalidade limitada (funções de edição do banco de dados e algumas outras desativadas), marcadores e notas – sem quaisquer restrições (bancos antigos serão automaticamente convertidos para novos quando as notas ou marcadores forem alterados).
- A interface gráfica foi adaptada para usar Qt6. O comportamento da função de criação de coleções foi alterado – agora é possível adicionar um conjunto arbitrário de pastas e arquivos suportados à coleção.
- O comportamento da função de atualização de coleções foi alterado. Ao tentar atualizar coleções obsoletas e inpx, elas serão convertidas em nativas. Durante a atualização de coleções nativas — no caso de uma atualização rápida — são verificados a presença e os tamanhos dos arquivos; se o tamanho do arquivo tiver mudado, ele será reanalisado. Durante uma atualização normal, serão verificadas as somas de verificação dos arquivos em vez dos tamanhos.
- Comportamento da função de adicionar livros a uma coleção existente alterado. Agora, novos livros são adicionados ao banco de dados sem mover os arquivos correspondentes.
- Melhorado o desempenho dos algoritmos de busca.
- A função de exibição de autores da coleção foi acelerada.
- API da biblioteca MLBookProc e biblioteca para conexão de plugins foi reformulada.
- O desempenho da biblioteca de análise de arquivos xml foi melhorado, e o suporte inicial ao formato html foi adicionado.
- A capacidade de criar documentação de bibliotecas internas no formato pdf foi desativada. Em seu lugar, a documentação está disponível na forma de páginas man. A documentação em formato html permanece inalterada.
- Agora é necessária a suportação do padrão C++20 pelo compilador para a compilação.
- A compatibilidade com o padrão OpenMP foi classificada como obrigatória pelo compilador.
- Os scripts de montagem e as opções de montagem foram alterados.
- Outras pequenas mudanças e melhorias.
Além disso, pode-se destacar a atualização do plugin MLFBDPlugin (disponível sob a licença GPLv3 em altlinux.space e GitHub, para usuários do Arch Linux disponível no AUR), destinado à criação de arquivos no formato fbd e disponível (altlinux.space, GitHub, AUR (archlinux.org)) sob a licença GPLv3. Na nova versão, o plugin foi adaptado para o uso do Qt6.
Os repositórios do plugin MLInpxPlugin foram movidos para o modo arquivado – a funcionalidade do plugin foi incorporada ao programa principal.
Fonte: linux.org.ru
