И снова погода!

Аватар пользователя Химический Али Химический Али 16 сентября 2009 в 12:02

Прочь лирику, смотрите сами что делает модуль Yr Weatherdata:

Сервис норвежский, но есть погодка для других стран. Касательно Руссланда:

Адыгеа – Агин-Бурят – Алтаи – Алтаи Краи – Амур – Аркхангелск – Астракхан – Башкортостан – Белгород – Брянск – Бурятиа – Чечня – Челябинск – Чита – Чукотка – Чувашиа – Дагестан – Евенкиа – Ингушетиа – Иркутск – Иваново – Жевиш Аутономоус Област – Кабардино-Балкариа – Калининград – Калмыкиа – Калуга – Камчатка – Карачаы-Черкессиа – Карелиа – Кемерово – Кхабаровск – Кхакассиа – Кхантиа-Мансиа – Киров – Коми – Корякиа – Кострома – Краснодар – Красноярск – Курган – Курск – Ленинград – Липетск – Магадан – Мари Ел – Мордовиа – Мосцов – Мосцов област – Мурманск – Ненетсиа – Низхны Новгород – Нортх Оссетиа-Аланиа – Новгород – Новосибирск – Омск – Оренбург – Орыол – Отхер – Пенза – Перм – Приморскы – Псков – Ростов – Рязан – Сакха – Сакхалин – Самара – Саратов – Смоленск – Соутх Курилес – Ст. Петерсбург – Ставропол – Свердловск – Тамбов – Татарстан – Таымыриа – Томск – Тула – Твер – Тюмен – Тыва – Удмуртиа – Уляновск – Уст-Орда Бурятиа – Владимир – Волгоград – Вологда – Воронезх – Ямалиа – Ярославл

Кроме того, там написано, что yr.no располагает погодными данными для 7 миллионов точек в мире и для поиска более точных следует попробовать заюзать поиск.

Забирать здесь: http://drupal.org/project/yr_verdata

0 Thanks

Комментарии

Аватар пользователя PVasili PVasili 16 сентября 2009 в 12:27

Кривоват пока модуль...
Было бы удобно его зацепить к Node location.

Можно попробовать сделать поле CCK вместо их таблицы yr_verdata и парсить его при выводе блока как вариант. Или использовать lat/lot от location, если норвежский сервис понимает координаты.

Аватар пользователя Guide Guide 16 сентября 2009 в 14:34

Могу поручиться за качество именно сервиса. Уже третий год используем их статистический прогноз для составления туров.

Аватар пользователя zanami zanami 17 сентября 2009 в 10:02

А есть какая-то возможность перевести данные, которые получаются с yr.no? Название города, скажем. А то коряво как-то получается.

Аватар пользователя Drugan Drugan 17 сентября 2009 в 14:51

Все переводится. Только вывод title подправил по аналогии с bonus_title. Вместо drupal_set_title(t('Weather forecast for !location', array('!location' => $data->location->name))); вписал

$new = 'Weather forecast for ' . $data->location->name;
  drupal_set_title(t($new));

В tpl блока вывод $location['name'] обернул в t() и перевел, хотя это наверное неправильно.
Результат здесь.

Аватар пользователя sv2109 sv2109 29 ноября 2010 в 15:03

Кто использует Yr Weatherdata - насколько точно он показывает погоду? Потому что у нас щас снег валит, rp5 нормально показывает 13 мм осадков, а на Yr Weatherdata - осадков 0.

Аватар пользователя Funtik44 Funtik44 3 февраля 2011 в 12:08

Не понял, а как сделать погоду для нескольких страничек. Например на одной Лондон на другой Москва???

Аватар пользователя DDDDD099 DDDDD099 14 июля 2011 в 10:24

Подскажите как перевести location name потому что на норвежском не очень хочется его видеть.
Еще не разобрался - можно ли выводить графики и прочее. Может быть ктото поделится опытом темизации страницы с погодой. Что еще может этот модуль?

Аватар пользователя nesca nesca 28 июля 2011 в 18:25

У кого-нибудь есть допиленный модуль? а то у меня не обновляет никоим образом. два дня так прошло. пересоздал город в настройках - все обновил. сырой он еще, но ставить больше пока нечего

Аватар пользователя DDDDD099 DDDDD099 30 июля 2011 в 17:27

У меня обновляется без проблем - только отображается по их времени - не понял как настроить свой часовой пояс.

Аватар пользователя nesca nesca 1 августа 2011 в 18:33
DDDDD099 wrote:

У меня обновляется без проблем - только отображается по их времени - не понял как настроить свой часовой пояс.

Два вопроса:
1. версия модуля
2. время обновления какое выставлено?

Аватар пользователя DDDDD099 DDDDD099 1 августа 2011 в 20:59

Скачал последнюю версию с месяц назад. Шесть часов - как и рекомендовано.

Аватар пользователя nesca nesca 2 августа 2011 в 13:04

значит надо копать.
у меня версия 6.х-2.2, обновление каждые шесть часов
третьи сутки пошли - не обновляет.
крон стоит на каждые три часа
хостинг - it-patrol с ним проблем быть не должно
даже не знаю пока в какую сторону копать :(

Аватар пользователя nesca nesca 3 августа 2011 в 0:46

это все вручную пока обновляется, можно и скриптом, но все равно не по-человечески
вот сейчас оставил без ручного обновления. строчку поставил про время следующего обновления. посмотрим

Аватар пользователя nesca nesca 3 августа 2011 в 11:42
DDDDD099 wrote:

http://zhitomirglobe.info/forecast/1 здесь у меня например на эту субботу выводит погоду за двое суток - и за 5 и за 6 число - что это за ошибка и как исправить?

на орге вопрос такой есть. я так понимаю, вывод результата парсера надо немного доделать

Аватар пользователя nesca nesca 4 августа 2011 в 0:16

на орге баг похожий есть, пока никто не ответил
но я сам вроде как решил - начало все обновляться
в бд в таблице yr_verdata было замечено, что поле updated постоянно обновляется. devel показал, что обращение к любой странице сайта вызывает обращение к строке модуля yr_verdata
db_query("UPDATE {yr_verdata} SET updated = %d WHERE yid = %d", time(), $location->yid);
то есть время в updated постоянно обновлялось на текущее. программист из меня конечно никакой, но мне показалось это странным. тем более, что проверка статуса одновлять/не обновлять проходит в строке (поправьте, если не прав)
$result = db_query("SELECT * FROM {yr_verdata} WHERE (updated + %d) < %d ORDER BY updated ASC LIMIT 0, 10", array($maxage, time()));
если время последнего обновления в сумме со временем лимита обновления меньше текущего, то делается запрос xml с сайта yr.no
в моем случае, время постоянно обновлялось и, соответственно, никогда этому условию не удовлетворяло
если это бред с т.з. программиста - не обессудьте, но изменение этой функции помогло:

function _yr_verdata_refresh_xml($location) {
  // Initiate our local file.
  $destination = _yr_verdata_local_file($location);
  // Set the nextupdate timestamp to 0, in case this is the first time
  // we are getting the forecast for this location. Otherwise, see if the
  // "nextupdate" property of our existing file has passed.
  $nextupdate = 0;
  if (file_exists($destination)) {
    $xml = simplexml_load_file($destination);
    $nextupdate = strtotime($xml->meta->nextupdate);
  }
  // We don't connect to yr for the file unless it has been at least 12 minutes since the last time we did.
  $cooldown = (!empty($location->updated)) ? (time() - $location->updated) : 721; // To avoid a PHP notice.
  if (($nextupdate <= time()) && ($cooldown > 720)) { // If this is TRUE...
    // ...yr.no have updated their data, so we can get an updated xml feed from yr.no.
    $data = _yr_verdata_fetch_xml($location);
    if ($data != FALSE) { // If the data was valid, save it. Otherwise, it will be re-checked on next cron run.
      file_save_data($data, $destination, FILE_EXISTS_REPLACE);
  // Update the database entry with the request time in the 'updated' field.
  db_query("UPDATE {yr_verdata} SET updated = %d WHERE yid = %d", time(), $location->yid); // Эта строка в оригинале ниже - 1083
    }
  }
}

Вообще странно как-то - у всех работает, а у меня нет.
Главное результат

Аватар пользователя asda2006 asda2006 18 марта 2014 в 10:55

А как решается перевод title и alt у картинок в этом модуле? это надо для того что бы при наведении мышки на картинку (ветра или символа погоды) всплывающее описание было на русском. картинки лежат на сервере. например _http://symbol.yr.no/grafikk/sym/b38/02n.png или _http://fil.nrk.no/yr/grafikk/vindpiler/32/vindpil.0050.330.png
какие пути решения есть?

Аватар пользователя asda2006 asda2006 18 марта 2014 в 11:20
kosHta wrote:

Ставил как то модуль, разница с правдой - овер-много градусов. Вводить в заблуждение юзеров, ради красивых облачков даже с позиции авантюризма - глупо.

Тестирую два дня. Пока вроде текущую температуру правильно показывает. Будет ошибаться - заменю. А прогноз на будущее никто угадать не может (хотя прогноз действительно на 2-4 градуса отличается от общеизвестных сервисов). Так что пока вопрос остается. Как вариант - подскажите альтернативу :)

Аватар пользователя asda2006 asda2006 18 марта 2014 в 12:05

[quote=kosHta]Блок от гисметео, лучше всего, меня раздражает разница в 6 градусов, 2 или 3 я б перетерпел, но 6 - это слишком. Норвегия где и где я.[/quote
Пока понаблюдаю за своим модулем. Гисметео нету жаль модуля на друпал. Информер не даст прогноз на несколько дней. Парсить?