Conky и Wunderground Погода

Conky и Wunderground Погода

Я редактирую свой вопрос для уточнения... Извините за любую путаницу... Синтаксис Conky изменился в последней версии (я предполагал, что пользователи последней версии Conky знают об этом).

Моя проблема прояснена:

Я создаю XML-файл, который берет информацию о погоде с Wunderground.com.

Я бы предпочел найти простой способ извлечения определенной информации из XML-файла для отображения в Conky (включая значок погоды).

Большая часть информации, которую я нашел до сих пор, не делает то, что мне нужно, и я не могу слепить собственное решение из того, что нашел, потому что информация кажется неоправданно сложной. Я хочу, чтобы используемый метод не требовал множества дополнительных программ и/или скриптовой гимнастики.

Пример:

  1. Я использую "curl -s"http://api.wunderground.com/api/[ключ]/условия/q/TX/[мойгород].xml-o ~/path/weather.xml" для создания моего XML-файла с помощью Wunderground.com.

  2. В XML-файле указан путь к значку текущей погоды (например: «http://icons.wxug.com/i/c/k/cloudy.gif")

  3. В XML-файле есть определенные данные, которые я хочу отобразить, например, текущую температуру (в XML-файлах отображается '<'temp_f'>'68.9'<'/temp_f'>'"... Примечание: я использую '<', иначе в моем сообщении не будет отображаться тег). Поэтому я хотел бы взять 68.9 и отобразить его (или округлить до 69).

В конце концов, используя пример выше, мой Conky покажет иконку «Облачно» и 69F (или 68.9F). Затем я смогу (надеюсь, легко) извлечь и отобразить другую информацию аналогичным образом.

Заранее благодарю за любую помощь, которую вы можете предложить.

решение1

Часть 1:

Чтобы извлечь информацию непосредственно из веб-URL, вам следует использовать следующую команду:

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"}'

...или, в качестве альтернативы, вы можете извлечь информацию из загруженного XML-файла:

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

Вы можете заменить

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

с любыми другими тегами и информацией, которые вы хотите отобразить.

Часть 2:

Чтобы извлечь URL-адрес значка и затем отобразить его в Conky, вам необходимо извлечь URL-адрес в файл следующим образом:

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

Затем вам нужно загрузить значок, дать ему общее имя, а затем переместить его в нужную папку:

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

mv ~/weather.gif ~/path/

Создайте скрипт sh (назовем его «weather.sh»), выполнив указанные выше шаги, и разместите его в желаемом месте.

Затем вы должны поместить команды в ваш «.conkyrc» примерно следующего содержания:

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

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

В команде "image" "-p" = положение, а "-s" = размер изображения в пикселях. Измените координаты и размер в соответствии с вашими целями.

Это должно быть намного проще, чем многие сценарии погоды и т. п., которые я нашел для Conky.

Связанный контент