Get Palavra Amiga

Publicado por M4iir1c10 (última atualização em 06/06/2017)

[ Hits: 8.270 ]

Homepage: https://github.com/mauricioph

Download getplamiga2

Download 1396823267.getplamiga2 (versão 2)

Download plam.sh (versão 3)

Download 1495407508.plam.sh (versão 4)




Script shell para baixar o podcast do Bispo Macedo da Igreja Universal do Reino de Deus. Inspirado pelo script de Valter Ferraz Sanches ( http://www.vivaolinux.com.br/~vfs ).

Mesmo que você não seja membro de igreja alguma ou tenha religião, vale a pena ouvir os ensinamentos diários deste homem de Deus, sem preconceitos ou críticas.

Caso você não concorde com meu ponto de vista a respeito dele e suas mensagens, mas quer fazer o download para usar em outros fins, fique a vontade.

Viva o Linux, o software livre, a liberdade de crença, de livre opinião, de nacionalidade, de etnia etc.

Dependências do script são: Zenity (a maioria das distro com o Gnome tem), curl e wget (todas as distros que eu conheço têm).

  



Versões atualizadas deste script

Versão 2 - Enviado por M4iir1c10 em 06/04/2014

Changelog: Essa nova versão corrige o link do RSS e reduz alguns comandos.

#!/bin/bash
# script para download automatizado da palavra amiga do Bp. Macedo
# Esse script foi inspirado pelo script do Obr. Valter Ferraz Sanches http://www.vivaolinux.com.br/perfil/verPerfil.php?login=vfs
# http://googbar.blogspot.com/
# http://www.vivaolinux.com.br/script/GETPLAMIGA-Baixe-a-Palavra-Amiga-do-Bispo-Macedo
#
# Criado por Mauricio Luis de Medeiros http://www.vivaolinux.com.br/perfil/verPerfil.php?login=m4iir1c10
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
###############################################################################
# baixa a lista de audio no servidor
curl http://www.universal.org/servicos/podcast/rss/palavraamiga.xml > /tmp/amiga.xml
# separa somente os links das tags de xml
cat /tmp/amiga.xml | sed 's/http/\nhttp/g' | sed -e 's/mp3/mp3\n/'g | grep mp3 | grep http > /tmp/links
# pede ao usuario para selecionar uma pasta para salvar os arquivos
pasta=$(zenity --file-selection --directory --title "selecione a pasta para salvar as mensagens")
# calcular quantidade de audio a ser baixado
tot=$(cat /tmp/links | wc -l)
# separa o nome dos titulos da mensagens
cat /tmp/amiga.xml | sed '/summary/!d' | sed -e 's///g' | sed 's/ /_/g' | sed 's/__//g' | sed 's/\://g' | sed 's/itunes//g' > /tmp/nomes
# prepara a variavel "a" para entrar em um loop de downloads guiado direto ao arquivo certo no servidor
a=$tot
# entrando no loop
while [ "$a" != "0" ]
do clear
echo "$(basename $(sed -n ${a}p /tmp/links)) Esta sendo baixado agora"
let b=$(($a + 1))
nome=$(sed -n ${b}p /tmp/nomes)
# condicao Se o arquivo "fulano" ja existe nao faz o download e passa para o proximo da lista
if [ -f "$pasta/$nome.mp3" ]
then echo "ja tenho"
let a=$(($a - 1))
# se o arquivo "fulano" nao existe Baixa ele
else wget $(sed -n ${a}p /tmp/links) -O "$pasta/$nome.mp3"
let a=$(($a - 1))
fi
done
# quando terminar de fazer todos os downloads informa o usuario e deleta os arquivos temporarios
zenity --info --text "Todos os audios foram baixados, sem updates por hoje."
rm /tmp/amiga.xml
rm /tmp/links
rm /tmp/nomes

Download 1396823267.getplamiga2


Versão 3 - Enviado por M4iir1c10 em 23/02/2015

Changelog: Changelog: Essa nova versão reduz alguns comandos e corrige outros que devido a mudança de formato do rss teve que ser modificado aqui também.

Download plam.sh


Versão 4 - Enviado por M4iir1c10 em 21/05/2017

Changelog: -Novo Link
-Novo comando para curl e cut de acordo com o novo xml baixado do soundcloud.

Download 1495407508.plam.sh


Esconder código-fonte

#!/bin/bash
# script para download automatizado da palavra amiga do Bp. Macedo
# Esse script foi inspirado pelo script do Obr. Valter Ferraz Sanches http://www.vivaolinux.com.br/perfil/verPerfil.php?login=vfs
# http://googbar.blogspot.com/
# http://www.vivaolinux.com.br/script/GETPLAMIGA-Baixe-a-Palavra-Amiga-do-Bispo-Macedo
# Dependencias desse script sao:
# Linux ;) 
# Zenity, wget e curl
#
# Criado por Mauricio Luis de Medeiros http://www.vivaolinux.com.br/perfil/verPerfil.php?login=m4iir1c10
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
###############################################################################
# baixa a lista de audio no servidor
curl http://podcast.arcauniversal.com.br/pamiga.xml > /tmp/amiga.xml
# separa somente os links das tags de xml
cat /tmp/amiga.xml| sed '/enclosure/!d' |  sed -e 's/url\="/\n/g' | sed -e 's/mp3/mp3\n/g' | sed '/^http/!d' > /tmp/links
# pede ao usuario para selecionar uma pasta para salvar os arquivos
pasta=$(zenity --file-selection --directory --title "selecione a pasta para salvar as mensagens")
# calcular quantidade de audio a ser baixado
tot=$(cat /tmp/links | wc -l)
# separa o nome dos titulos da mensagens
cat /tmp/amiga.xml | sed '/description/!d' | sed -e 's/<//g' | sed -e 's/\///g' | sed -e 's/description//g' | sed -e 's/>//g' | sed 's/ /_/g' | sed 's/__//g' > /tmp/nomes
# prepara a variavel "a" para entrar em um loop de downloads guiado direto ao arquivo certo no servidor
a=$tot
# entrando no loop
while [ "$a" != "0" ]
do clear
echo "$(basename $(sed -n ${a}p /tmp/links)) Esta sendo baixado agora"
let b=$(($a + 1))
nome=$(sed -n ${b}p /tmp/nomes)
# condicao Se o arquivo "fulano" ja existe nao faz o download e passa para o proximo da lista
if [ -f "$pasta/$nome.mp3" ]
then echo "ja tenho"
let a=$(($a - 1))
# se o arquivo "fulano" nao existe Baixa ele
else wget $(sed -n ${a}p /tmp/links) -O "$pasta/$nome.mp3"
let a=$(($a - 1))
fi
done
# quando terminar de fazer todos os downloads informa o usuario e deleta os arquivos temporarios
zenity --info --text "Todos os audios foram baixados, sem updates por hoje."
rm /tmp/amiga.xml
rm /tmp/links
rm /tmp/nomes

Scripts recomendados

Script para enviar put para uma API usando curl e dados no formato json

/etc/issue otimizado

Duelo das Cartas Mágicas

pdfcon - leitor de PDF em modo texto

Programas windows em gerenciadores simples


  

Comentários
[1] Comentário enviado por m4iir1c10 em 08/11/2009 - 06:27h

So passando para fazer um update nesse script, as operacoes que esse script faz sao:
# baixa a lista de audio no servidor
# pede ao usuario para selecionar uma pasta para salvar os arquivos
# separa os titulos da mensagens, e renomeia de acordo com o titulo
# So baixa o audio que nao existe naquela pasta, se vc ja fez o download anteriormente de uma mensagem essa mensagem sera pulada, passando para a proxima da fila.
# quando terminar de fazer todos os downloads informa o usuario e deleta os arquivos temporarios

Meu acrescimo aqui e o seguinte, quando o script renomeia o audio, perdemos o controle das datas de cada mensagem, pensando nisso o proximo seguimento do codigo vai criar um arquivo chamado indice.txt com a data e o titulo de cada mensagem, para vc ter mais controle de cada mensagem por data.

No final do codigo substitua os comandos:
rm /tmp/amiga.xml
rm /tmp/links
rm /tmp/nomes

Por :

cat /tmp/amiga.xml | grep description | sed -e 's/description//g' | sed -e 's/<>//g' | sed -e 's/<\/>//g' > /tmp/tito
cat /tmp/amiga.xml | grep title | awk '{print $6}' | sed -e 's/<\/title>//g' > /tmp/dia
$nume=$(cat /tmp/tito | wc -l)
while [ "$nume" != "0" ]
do echo "$(sed -n ${nume}p /tmp/dia) $(sed -n ${nume}p /tmp/tito)" >> /tmp/final
let nume=$(($nume - 1))
done
mv /tmp/final $pasta/indice.txt
rm /tmp/amiga.xml
rm /tmp/links
rm /tmp/nomes
rm /tmp/tito
rm /tmp/dia

Pronto!

[2] Comentário enviado por darly em 14/11/2009 - 11:02h

Ola Mauricio,
Muito bacana esse script, achei na hora certa pq estava procurando algo assim para ouvir a palavra do Bispo que não esta mais disponível no site. Aqui na minha cidade estamos sem a rádio, então pra ouvir só pela net mesmo.
Mas só tenho uma dúvida, como sou iniciante em Linux então algumas coisas ainda nao entendo, gostaria de saber se esse script permite a seleçao para baixar de um determindado mês ou o dia?? Parabenizo também ao Valter que criou o script orginal.
Obrigada


[3] Comentário enviado por djdihengo em 22/01/2010 - 10:21h

isso ae, vamo arrebentar tbem no mundo linux

[4] Comentário enviado por removido em 04/03/2015 - 21:33h

Se eu trocar a url da pra ouvir piada ou radio?

A liberdade indocil e domada pela propria desgraça -William Shakespeare


Contribuir com comentário