Get Palavra Amiga
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).
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).
Descrição
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).
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
#!/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
# 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!