#!/bin/bash # BrWeather # Criado por LeandroNKZ # Se encontrar BUGs, ou erros no programa, favor reportar ao desenvolvedor # Acesse o site para maiores instruções: # http://brweatherproject.blogspot.com/ # Distribuído sob licença GPLv3 ##Conferindo se o usuário não é root if [ `whoami` = "root" ] ; then echo "Erro: O BrWeather deve ser usado apenas como usuário normal." exit 1 fi ##Conferindo se já existe o arquivo de configuração conf(){ mkdir ~/.brweather mkdir ~/.brweather/cache cp /opt/brweather/doc/brweather.conf.default ~/.brweather.conf } conf2(){ cp /opt/brweather/doc/brweather.conf.default ~/.brweather.conf } conf3(){ mkdir ~/.brweather/cache } ls ~/.brweather &>/dev/null || conf cat ~/.brweather.conf &>/dev/null || conf2 ls ~/.brweather/cache &>/dev/null || conf3 ##Conferindo se foi utilizada alguma opção if [ -z $1 ] ; then echo 'Utilize alguma opção. Uso: brweather [OPÇÃO] Tente "brweather --help" para mais opções.' exit 1 fi ##Mensagens de Erro LOG=`date "+%A %d/%m/%Y %H:%M:%S"` ERRO1="Log $LOG COD#`date +%s` Falha no cache INPE Falha ao obter dados das previsões. Isso pode ser causado por: - Falha ao conectar à Internet; - Servidor temporariamente fora do ar; - O programa não consegue interpretar as informações baixadas. Tente limpar o cache com o comando: brweather --clean-cache Se o erro persistir por vários dias, entre em contato com o desenvolvedor pelo e-mail abaixo: leandronkz@gmail.com" ERROG1="Log $LOG COD#`date +%s` Falha no cache Google Falha ao obter dados das previsões. Isso pode ser causado por: - Falha ao conectar à Internet; - Servidor temporariamente fora do ar; - O programa não consegue interpretar as informações baixadas. Tente limpar o cache com o comando: brweather --clean-cache Se o erro persistir por vários dias, entre em contato com o desenvolvedor pelo e-mail abaixo: leandronkz@gmail.com" ##Versão do programa VERSION=`cat /opt/brweather/doc/version` ##Ler arquivo de configuração source ~/.brweather.conf ##Opções do programa que não precisam de Internet case $1 in "--gerar-log") source /opt/brweather/bin/logs exit 0 ;; "--version") echo "BrWeather-$VERSION" exit 0 ;; "--autor") echo "LeandroNKZ " echo "http://brweatherproject.blogspot.com/" exit 0 ;; "--help") cat /opt/brweather/doc/help exit 0 ;; "--help-default") cat /opt/brweather/doc/help-default exit 0 ;; "--help-google") cat /opt/brweather/doc/help-google exit 0 ;; "--man") man /opt/brweather/doc/man exit 0 ;; "--clean-cache") rm ~/.brweather/log* 2>/dev/null & rm ~/.brweather/cache/* 2>/dev/null echo "Cache limpo!" exit 0 ;; "--total-images") echo -e "imagem1\nimagem2\nimagem3\nimagem4\nimagem5\nimagem6\nimagem7\nimagem8\nimagem9\nimagem10" exit 0 ;; "--changelog") cat /opt/brweather/doc/Changelog exit 0 ;; "--option=LUA"*) source /opt/brweather/bin/moon $* exit 0 ;; "--season"*) source /opt/brweather/bin/seasons $* exit 0 ;; esac #Baixar cache de previsões cat ~/.brweather/cache/timer &>/dev/null || echo "0" > ~/.brweather/cache/timer TIME=`date '+%s'` TIME1=`cat ~/.brweather/cache/timer` TIME2=$(($TIME+$TIMER)) if [ $TIME1 -lt $TIME ] then if [ $GOOGLE = "0" ] ; then wget -q -T $TIME -O ~/.brweather/cache/previsao "http://tempo1.cptec.inpe.br/cidades/tempo/$CPTEC_INPE" echo $TIME2 > ~/.brweather/cache/timer cat ~/.brweather/cache/previsao | iconv -f iso-8859-1 -t $CODIGO -o ~/.brweather/cache/previsao else wget -q -T $TIME -O ~/.brweather/cache/previsaog "http://www.google.com/ig/api?weather=$CITY,$STATE,$COUNTRY&hl=pt-br" echo $TIME2 > ~/.brweather/cache/timer cat ~/.brweather/cache/previsaog | iconv -f iso-8859-1 -t $CODIGO -o ~/.brweather/cache/previsaog fi if [ $GOOGLE = "0" ] ; then if [ -f `grep -m1 -A1 '
' ~/.brweather/cache/previsao | cut -f2 -d'>' | cut -f1 -d'<' | tail -n1` ] ; then echo "$ERRO1" > ~/.brweather/log echo $(($TIME+10)) > ~/.brweather/cache/timer else cat ~/.brweather/cache/previsao > ~/.brweather/cache/cache sed -i 's/\r//g' ~/.brweather/cache/cache date "+%H:%M:%S" > ~/.brweather/cache/lastupdate fi else if [ -f `cut -f23 -d= ~/.brweather/cache/previsaog | cut -f1 -d/ | cut -f2 -d'"'` ] ; then echo "$ERROG1" > ~/.brweather/log echo $(($TIME+10)) > ~/.brweather/cache/timer else cat ~/.brweather/cache/previsaog > ~/.brweather/cache/gcache date "+%H:%M:%S" > ~/.brweather/cache/lastupdate fi fi fi #Imagens IMAGE=`echo '${image'` case $1 in ##CN "--imagem1=CN") IMAGEM=`echo "1"` ;; "--imagem2=CN") IMAGEM=`echo "2"` ;; "--imagem3=CN") IMAGEM=`echo "3"` ;; "--imagem4=CN") IMAGEM=`echo "4"` ;; "--imagem5=CN") IMAGEM=`echo "5"` ;; "--imagem6=CN") IMAGEM=`echo "6"` ;; "--imagem7=CN") IMAGEM=`echo "7"` ;; "--imagem8=CN") IMAGEM=`echo "8"` ;; "--imagem9=CN") IMAGEM=`echo "9"` ;; "--imagem10=CN") IMAGEM=`echo "10"` ;; ##C1 "--imagem1=C1") IMAGEM=`echo "1"` ;; "--imagem2=C1") IMAGEM=`echo "2"` ;; "--imagem3=C1") IMAGEM=`echo "3"` ;; "--imagem4=C1") IMAGEM=`echo "4"` ;; "--imagem5=C1") IMAGEM=`echo "5"` ;; "--imagem6=C1") IMAGEM=`echo "6"` ;; "--imagem7=C1") IMAGEM=`echo "7"` ;; "--imagem8=C1") IMAGEM=`echo "8"` ;; "--imagem9=C1") IMAGEM=`echo "9"` ;; "--imagem10=C1") IMAGEM=`echo "10"` ;; ##C2 "--imagem1=C2") IMAGEM=`echo "1"` ;; "--imagem2=C2") IMAGEM=`echo "2"` ;; "--imagem3=C2") IMAGEM=`echo "3"` ;; "--imagem4=C2") IMAGEM=`echo "4"` ;; "--imagem5=C2") IMAGEM=`echo "5"` ;; "--imagem6=C2") IMAGEM=`echo "6"` ;; "--imagem7=C2") IMAGEM=`echo "7"` ;; "--imagem8=C2") IMAGEM=`echo "8"` ;; "--imagem9=C2") IMAGEM=`echo "9"` ;; "--imagem10=C2") IMAGEM=`echo "10"` ;; ##C3 "--imagem1=C3") IMAGEM=`echo "1"` ;; "--imagem2=C3") IMAGEM=`echo "2"` ;; "--imagem3=C3") IMAGEM=`echo "3"` ;; "--imagem4=C3") IMAGEM=`echo "4"` ;; "--imagem5=C3") IMAGEM=`echo "5"` ;; "--imagem6=C3") IMAGEM=`echo "6"` ;; "--imagem7=C3") IMAGEM=`echo "7"` ;; "--imagem8=C3") IMAGEM=`echo "8"` ;; "--imagem9=C3") IMAGEM=`echo "9"` ;; "--imagem10=C3") IMAGEM=`echo "10"` ;; ##C4 "--imagem1=C4") IMAGEM=`echo "1"` ;; "--imagem2=C4") IMAGEM=`echo "2"` ;; "--imagem3=C4") IMAGEM=`echo "3"` ;; "--imagem4=C4") IMAGEM=`echo "4"` ;; "--imagem5=C4") IMAGEM=`echo "5"` ;; "--imagem6=C4") IMAGEM=`echo "6"` ;; "--imagem7=C4") IMAGEM=`echo "7"` ;; "--imagem8=C4") IMAGEM=`echo "8"` ;; "--imagem9=C4") IMAGEM=`echo "9"` ;; "--imagem10=C4") IMAGEM=`echo "10"` ;; ##C5 "--imagem1=C5") IMAGEM=`echo "1"` ;; "--imagem2=C5") IMAGEM=`echo "2"` ;; "--imagem3=C5") IMAGEM=`echo "3"` ;; "--imagem4=C5") IMAGEM=`echo "4"` ;; "--imagem5=C5") IMAGEM=`echo "5"` ;; "--imagem6=C5") IMAGEM=`echo "6"` ;; "--imagem7=C5") IMAGEM=`echo "7"` ;; "--imagem8=C5") IMAGEM=`echo "8"` ;; "--imagem9=C5") IMAGEM=`echo "9"` ;; "--imagem10=C5") IMAGEM=`echo "10"` ;; ##C6 "--imagem1=C6") IMAGEM=`echo "1"` ;; "--imagem2=C6") IMAGEM=`echo "2"` ;; "--imagem3=C6") IMAGEM=`echo "3"` ;; "--imagem4=C6") IMAGEM=`echo "4"` ;; "--imagem5=C6") IMAGEM=`echo "5"` ;; "--imagem6=C6") IMAGEM=`echo "6"` ;; "--imagem7=C6") IMAGEM=`echo "7"` ;; "--imagem8=C6") IMAGEM=`echo "8"` ;; "--imagem9=C6") IMAGEM=`echo "9"` ;; "--imagem10=C6") IMAGEM=`echo "10"` ;; ##C7 "--imagem1=C7") IMAGEM=`echo "1"` ;; "--imagem2=C7") IMAGEM=`echo "2"` ;; "--imagem3=C7") IMAGEM=`echo "3"` ;; "--imagem4=C7") IMAGEM=`echo "4"` ;; "--imagem5=C7") IMAGEM=`echo "5"` ;; "--imagem6=C7") IMAGEM=`echo "6"` ;; "--imagem7=C7") IMAGEM=`echo "7"` ;; "--imagem8=C7") IMAGEM=`echo "8"` ;; "--imagem9=C7") IMAGEM=`echo "9"` ;; "--imagem10=C7") IMAGEM=`echo "10"` ;; esac ##Escolher entre modo Google ou INPE if [ $GOOGLE = "0" ] ; then source /opt/brweather/bin/inpe $* else source /opt/brweather/bin/google $* fi ##Exterminador de logs ;) if [ -e ~/.brweather/log ] ; then COD=`head -n1 ~/.brweather/log | cut -f2 -d'#'` COD2=$(($COD + 10800)) if [ $TIME -gt $COD2 ] then rm ~/.brweather/log elif [ $TIME -eq $COD2 ] then rm ~/.brweather/log fi fi exit 0