Tempo em Conky e Wunderground

Tempo em Conky e Wunderground

Estou editando minha pergunta para esclarecimento... Lamento qualquer confusão... A sintaxe do Conky mudou com a versão mais recente (presumi que os usuários da versão mais recente do Conky estavam cientes disso).

Meu problema esclarecido:

Eu crio um arquivo xml que obtém informações meteorológicas do Wunderground.com.

Eu preferiria encontrar uma maneira simples de extrair informações específicas do arquivo xml para exibir no Conky (incluindo o ícone do clima).

A maior parte das informações que encontrei até agora não faz o que preciso e não consigo montar minha própria solução com base no que encontrei porque as informações parecem desnecessariamente complexas. Quero que o método usado não exija muitos programas extras e/ou ginástica de script.

Exemplo:

  1. Eu uso "curl -shttp://api.wunderground.com/api/[key]/conditions/q/TX/[mycity].xml-o ~/path/weather.xml" para criar meu arquivo xml usando Wunderground.com.

  2. Dentro do arquivo xml está o caminho para o ícone do clima atual (digamos: "http://icons.wxug.com/i/c/k/cloudy.gif")

  3. Dentro do arquivo xml estão dados específicos que desejo exibir, como a temperatura atual (os arquivos xml mostram '<'temp_f'>'68.9'<'/temp_f'>'"... Nota: estou usando '<' caso contrário, minha postagem não mostrará a tag). Portanto, gostaria de pegar 68,9 e exibi-lo (ou arredondá-lo para 69).

No final, usando o exemplo acima, meu Conky mostraria um ícone "Nublado" e 69F (ou 68,9F). Eu poderia então (espero facilmente) extrair e exibir outras informações de maneira semelhante.

Agradecemos antecipadamente por qualquer ajuda que você possa oferecer.

Responder1

Parte 1:

Para extrair as informações diretamente do URL da web você usaria o seguinte comando:

curl api.wunderground.com/api/[key]/conditions/q/[state]/[mycity].xml | awk -F'[<|>]' '/<temp_f>/ {print "Current Temperature:"$3"°F"}/<windchill_f>/ {print "Windchill:"$3"°F"}'

...ou, alternativamente, você pode extrair as informações de um arquivo xml baixado:

curl 'file:///home/path/weather.xml' | awk -F'[<|>]' '/<temp_f>/ {print "Current Temperature:"$3"°F"}/<windchill_f>/ {print "Windchill:"$3"°F"}'

Você pode substituir

'/<temp_f>/' {print "Current Temperature:"$3"°F"}

com qualquer outra tag e informação que você deseja exibir.

Parte 2:

Para extrair o URL do ícone e, em seguida, fazer com que o ícone seja exibido no Conky, você precisaria extrair o URL para um arquivo da seguinte maneira:

curl api.wunderground.com/api/[key]/conditions/q/[state]/[mycity].xml | awk -F'[<|>]' '/<icon_url>/ {print $3}' >~/path/image

Em seguida, você precisa baixar o ícone, dar-lhe um nome genérico e movê-lo para a pasta desejada:

wget -O weather.gif -i ~/path/image

mv ~/weather.gif ~/path/

Crie um script sh (vamos chamá-lo de "weather.sh") com as etapas acima e coloque-o onde desejar.

Você então colocaria comandos em seu ".conkyrc" da seguinte forma:

${execi 300 sh ~/path/weather.sh}

${image ~/path/weather.gif -p 10,40 -s 32x32}

No comando “imagem”, “-p” = a posição e “-s” = o tamanho do pixel da imagem. Altere as coordenadas e o tamanho para se adequar ao seu propósito.

Isso deve ser muito mais simples do que muitos dos scripts meteorológicos, etc. que encontrei para Conky.

informação relacionada