Tempo de Conky e Wunderground

0

Estou editando minha pergunta para esclarecimentos ... Sinto muito por qualquer confusão ... A sintaxe Conky mudou com a versão mais recente (presumi que os usuários da versão mais recente de Conky estavam cientes disso).

Meu problema foi esclarecido:

Eu criei um arquivo xml que leva informações sobre o tempo 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 tempo).

A maioria das informações que encontrei até agora não faz o que eu preciso, e eu não posso remendar minha própria solução a partir do que eu encontrei porque a informação parece desnecessariamente complexa. Eu quero que o método usado não exija muitos programas extras e / ou exercícios de roteirização.

Exemplo:

  1. Eu uso o "curl -s link -o ~ / path / weather.xml "para criar meu arquivo xml usando o Wunderground.com.

  2. Dentro do arquivo xml está o caminho para o ícone do tempo atual (Vamos dizer: " link ")

  3. Dentro do arquivo xml estão os dados específicos que eu quero 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, eu gostaria de pegar o 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 (facilmente espero) extrair e exibir outras informações de maneira similar.

Agradeço antecipadamente por qualquer ajuda que você possa oferecer.

    
por Curtis 28.09.2017 / 00:19

1 resposta

1

Parte 1:

Para extrair as informações diretamente do URL da web, use 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, alternadamente, 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ê queira exibir.

Parte 2:

Para extrair o URL do ícone e, em seguida, obter o ícone para exibir em Conky, você precisaria extrair o URL para um arquivo da seguinte forma:

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

Você precisa fazer o download do ícone, atribuir 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ê colocaria comandos em seu ".conkyrc" ao longo das linhas de:

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

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

No comando "image", "-p" = a posição e "-s" = o tamanho do pixel da imagem. Altere as coordenadas e o tamanho para se adequar ao seu objetivo.

Isso deve ser muito mais simples do que muitos dos scripts climáticos, etc. que eu encontrei para o Conky.

    
por 08.10.2017 / 20:13