[Programa] Bíblia Offline com anotações e busca recursiva

$ ls -1
biblia.py
biblia.ui
install.sh
leia-me.txt
livros
livros.zip
notes.py
notes.ui
search.py
search.ui
ultimo_livro.json
usr

========================

Os arquivos .ui tem como deixar na pasta /usr/share/biblia-offline/ui/
Os arquivos .py tem como deixar na pasta /usr/local/bin/

A pasta livros tem como deixar na pasta /usr/share/doc/biblia-offline/

Onde ficaria o arquivo ultimo_livro.json no sistema?

1 curtida

Isso seria uma estrutura para empacotar o programa?

Então… O arquivo ultimo_livro.json é basicamente um arquivo de log. Toda vez que um capitulo é acessado no programa ele salva o livro e o capítulo nesse arquivo. Dessa forma quando o programa depois de fechado é executado novamente, ele acessa o arquivo ultimo_livro.json para que o programa já inicie onde o usuário parou a leitura.

Como eu ainda não aprendi a empacotar o programa, não sei em que lugar na estrutura o arquivo de log (ultimo_livro.json) deveria ficar.
Não sei se dá, mas acredito que esse arquivo deveria ficar em ~/.config/biblia-offline/ultimo_livro.json. Sou leigo em empacotamento :sweat_smile:. Se você tiver uma ideia melhor pode compartilhar. TMJ

1 curtida

~/.biblia-offline/ultimo_livro.json

O valor do hash SHA-256 do arquivo livros.zip é esse?

$ sha256sum livros.zip
964147cc485492880b7255daa1f073e75453d973132c9b99d61e1fbc5e5ce1d0  livros.zip
1 curtida

Só vou conseguir olhar direito quando chegar do trabalho.

Você está vendo o sha256sum do seu fork ou do meu GitHub? Não sei se poderia gerar um hash diferente

Parabéns pelo app, Deus te abençoe!

Você poderia, e seria incrível, trazer um app com livros de filosofia clássica da tríade: Sócrates, Platão e Aristóteles. E entre outros.

Muitos estão disponíveis de graça (legalmente) devido, claro, ao tempo de publicação (mesmo sendo tradução).

Ah, e a Bíblia, particularmente gosto de duas traduções brasileiras: ARA e NAA (uma atualização da ARA).

3 curtidas

Acho que poderia incluir os livros intertestamentários (também chamados de deuteracanônicos):

  • Tobias
  • Judite
  • Sabedoria
  • Sirácida
  • Baruque
  • 1 Macabeus
  • 2 Macabeus

PS: Gosto da ACF/ARC, mas também gosto do contexto histórico

1 curtida

Obrigado amigo.

Desse jeito :slightly_smiling_face:

1 curtida

Verdade, tinha esquecido desses livros. Realmente existe um contexto histórico a se considerar.

sha256sum é do arquivo .zip do seu GitHub adicionei uma verificação.

Vamos as novidades:

1- Criado a estrutura para pacote.

2- Para Arch Linux:

Pacote gerado.

Testado instalação e remoção manualmente via pacman.

Saída de log da instalação:

O nome dos arquivos que tem caracteres com acentos (ó) não estão sendo interpretados corretamente pelo pacman ou é problema com codificação UTF-8.

translate pathname ‘usr/share/doc/biblia-offline/livros/jó/16.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/17.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/18.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/19.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/2.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/20.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/21.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/22.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/23.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/24.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/25.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/26.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/27.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/28.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/29.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/3.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/30.txt’ to UTF-8: Can’t translate pathname ‘usr/share/doc/biblia-offline/livros/jó/31.txt’ to UTF-8: Can’t

São arquivos temporários?

livros/exp/None.txt
livros/exp/Nome do arquivo321.txt
livros/exp/tesasa.txt

3- A instalação do PyQt5 é automático no pacote do Arch Linux.

/opt/python/bin/pip list
Package Version
pip 25.0.1
PyQt5 5.15.11
PyQt5-Qt5 5.15.16
PyQt5_sip 12.17.0
setuptools 65.5.0

Por padrão a pasta /opt/python será usada para o ambiente virtual do python.

$ pacman -Q | grep offline
atenção: database file for ‘community’ does not exist (use ‘-Sy’ to download)
biblia-offline 1.1-1

4- Em relação a alteração do tema de cor podemos usar algo assim:

Queria adicionar um botão para ouvir o áudio dos textos.

Ex: teste com espeak não ficou legal.

Os ícones não aparecem no gerenciador de pacote do Arch Linux?

$ file bible.png 
bible.png: PNG image data, **538 x 589**, **8-bit**/**color RGBA**, non-interlaced

$ file bible.svg 
bible.svg: SVG Scalable Vector Graphics image

Depois de finalizar os ajustes e testar, é só subir para o repositório.

Provavelmente sâo arquivos que usei apenas para testar o script python e esqueci de apagar…

Está ficando muito boas as suas implementações.

Sobre o livro de Jó, uma alternativa seria por o nome em inglês “job”.

Depois que faz upload o programa passa por verificação dos devs da distro? Não entendo muito sobre o processo

A pasta livros/exp pode ser deletada?

$ ls -lh *

-rwxr-xr-x 1 root root 769 mar 14  2022  23.txt
-rwxr-xr-x 1 root root  19 mar 23  2022 'Nome do arquivo321.txt'
-rwxr-xr-x 1 root root  13 abr 18  2022  None.txt
-rwxr-xr-x 1 root root  19 mar 15  2022  tesasa.txt

Sim. Acabei de verificar o conteúdo. Esse diretório /exp era apenas um diretório de testes, não tem nenhuma informação importante nele. São apenas 4 arquivos de texto comuns que esqueci de excluir quando fiz o upload para o GitHub. Acabei de excluir o diretório do projeto original e tudo está funcionando normalmente

Como você converteu de HTML para TXT?

Tem sites que oferecem o áudio, mas algumas palavras não coincidem com o texto.

Acabei de pensar em uma coisa @anon98425369, se o diretório for renomeado para “job” os scripts python deverão ser adaptados para a nova nomenclatura, caso contrário o programa não achará o livro de Jó

Eu não converti. Eu criei um site da Bíblia e durante o processo, por eu ter que numerar os versículos em um editor de texto, eu acabava criando um arquivo html e um arquivo txt. Por isso que foi possível criar o programa. Foi um processo bem demorado :sweat_smile:. Na época eu não conhecia muitas tecnologias e nem linux, só sabia html e css. Só depois de um tempo, quando aprendi Python, resolvi manipular esses arquivos txt que estavam parados no meu pc

Se altera de (antigo testamento) para Jo acho que resolve o problema no pacman na hora da instalação.

Obs: Tem Jo no novo testamento.

1 curtida

sim, eu não sei se vai ser “case sensitive” só testando para ver

Ou jo-at. Para deixar chato que é do Antigo Testamento.

1 curtida

Além do qt5-base tem outras dependências para o Arch Linux?

Coloquei no pacote isso:

pacman
tar
qt5-tools
qt5-base
python
python-configparser
wget
unzip
notify-send
sed
sudo

O pacote python-pyqt5 no Arch Linux substitui a instalação do PyQt5 no ambiente virtual do Python?

pacman -S python-pyqt5

No XFCE ver se atualizar o cache dos ícones resolve o problema.

Obrigado pela dica.

Alterei para jo_Antigo_Testamento e abriu o livro.

Agora falta testar se, na hora da instalação do pacote no Arch Linux, vai aparecer o erro novamente.

1 curtida