Adapt to yr.no API changes
https://bugzilla.redhat.com/show_bug.cgi?id=1140476
This commit is contained in:
parent
25a4b1a441
commit
3c1a145ec0
122
0001-Yr.no-update-to-version-1.9-of-the-online-API.patch
Normal file
122
0001-Yr.no-update-to-version-1.9-of-the-online-API.patch
Normal file
@ -0,0 +1,122 @@
|
||||
From 77c4dbc22cd09a5151e5bfbfcc29bf7747126294 Mon Sep 17 00:00:00 2001
|
||||
From: Giovanni Campagna <gcampagna@src.gnome.org>
|
||||
Date: Tue, 9 Sep 2014 14:15:43 -0700
|
||||
Subject: [PATCH] Yr.no: update to version 1.9 of the online API
|
||||
|
||||
The old version has been discontinued (without notice), start
|
||||
using the new one.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=736334
|
||||
---
|
||||
libgweather/weather-yrno.c | 69 ++++++++++++++++++++++++++++++++++++----------
|
||||
1 file changed, 54 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index 93a2fb2..72274b2 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -44,25 +44,46 @@ static struct {
|
||||
GWeatherSky sky;
|
||||
GWeatherConditions condition;
|
||||
} symbols[] = {
|
||||
- { GWEATHER_SKY_CLEAR, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Sun / clear sky */
|
||||
- { GWEATHER_SKY_BROKEN, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Fair */
|
||||
- { GWEATHER_SKY_SCATTERED, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Partly cloudy */
|
||||
+ { GWEATHER_SKY_CLEAR, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Sun */
|
||||
+ { GWEATHER_SKY_BROKEN, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* LightCloud */
|
||||
+ { GWEATHER_SKY_SCATTERED, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* PartlyCloudy */
|
||||
{ GWEATHER_SKY_OVERCAST, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Cloudy */
|
||||
- { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_SHOWERS } }, /* Rain showers */
|
||||
- { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* Rain showers with thunder */
|
||||
- { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_SHOWERS } }, /* Sleet showers */
|
||||
- { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_SHOWERS } }, /* Snow showers */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_LIGHT } }, /* LightRainSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* LightRainThunderSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_NONE } }, /* SleetSun */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_NONE } }, /* SnowSun */
|
||||
{ GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_NONE } }, /* Rain */
|
||||
- { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_HEAVY } }, /* Heavy rain */
|
||||
- { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* Rain and thunder */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* RainThunder */
|
||||
{ GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_NONE } }, /* Sleet */
|
||||
{ GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_NONE } }, /* Snow */
|
||||
- { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* Snow and thunder */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SnowThunder */
|
||||
{ GWEATHER_SKY_CLEAR, { TRUE, GWEATHER_PHENOMENON_FOG, GWEATHER_QUALIFIER_NONE } }, /* Fog */
|
||||
- { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* Sleet showers and thunder */
|
||||
- { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* Snow showers and thunder */
|
||||
- { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_HEAVY } }, /* Rain and thunder */
|
||||
- { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } } /* Sleet and thunder */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SleetSunThunder */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SnowSunThunder */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* LightRainThunder */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SleetThunder */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* DrizzleThunderSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* RainThunderSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetThunderSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetThunderSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowThunderSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowThunderSun */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* DrizzleThunder */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetThunder */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetThunder */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowThunder */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowThunder */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_NONE } }, /* DrizzleSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_NONE } }, /* RainSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowSun */
|
||||
+ { GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowSun */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_NONE } }, /* Drizzle */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleet */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleet */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnow */
|
||||
+ { GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } } /* HeavySnow */
|
||||
};
|
||||
|
||||
static struct {
|
||||
@@ -207,6 +228,22 @@ read_pressure (GWeatherInfo *info,
|
||||
}
|
||||
|
||||
static inline void
|
||||
+read_humidity (GWeatherInfo *info,
|
||||
+ xmlNodePtr node)
|
||||
+{
|
||||
+ xmlChar *val;
|
||||
+ double percent;
|
||||
+
|
||||
+ val = xmlGetProp (node, XC("value"));
|
||||
+ if (val == NULL)
|
||||
+ return;
|
||||
+
|
||||
+ percent = g_ascii_strtod ((char*) val, NULL);
|
||||
+ info->priv->humidity = percent;
|
||||
+ info->priv->hasHumidity = TRUE;
|
||||
+}
|
||||
+
|
||||
+static inline void
|
||||
read_child_node (GWeatherInfo *info,
|
||||
xmlNodePtr node)
|
||||
{
|
||||
@@ -220,6 +257,8 @@ read_child_node (GWeatherInfo *info,
|
||||
read_temperature (info, node);
|
||||
else if (strcmp ((char*) node->name, "pressure") == 0)
|
||||
read_pressure (info, node);
|
||||
+ else if (strcmp ((char*) node->name, "humidity") == 0)
|
||||
+ read_humidity (info, node);
|
||||
}
|
||||
|
||||
static inline void
|
||||
@@ -532,7 +571,7 @@ yrno_start_open_new (GWeatherInfo *info)
|
||||
g_ascii_dtostr (latstr, sizeof(latstr), RADIANS_TO_DEGREES (loc->latitude));
|
||||
g_ascii_dtostr (lonstr, sizeof(lonstr), RADIANS_TO_DEGREES (loc->longitude));
|
||||
|
||||
- url = g_strdup_printf("http://api.yr.no/weatherapi/locationforecast/1.8/?lat=%s;lon=%s", latstr, lonstr);
|
||||
+ url = g_strdup_printf("http://api.yr.no/weatherapi/locationforecast/1.9/?lat=%s;lon=%s", latstr, lonstr);
|
||||
|
||||
message = soup_message_new ("GET", url);
|
||||
_gweather_info_begin_request (info, message);
|
||||
--
|
||||
2.1.0
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
Name: libgweather
|
||||
Version: 3.13.91
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: A library for weather information
|
||||
|
||||
Group: System Environment/Libraries
|
||||
@ -9,6 +9,8 @@ URL: http://www.gnome.org
|
||||
#VCS: git:git://git.gnome.org/libgweather
|
||||
Source0: http://download.gnome.org/sources/libgweather/3.13/%{name}-%{version}.tar.xz
|
||||
|
||||
Patch0: 0001-Yr.no-update-to-version-1.9-of-the-online-API.patch
|
||||
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: geocode-glib-devel
|
||||
BuildRequires: glade-devel
|
||||
@ -91,6 +93,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Sep 11 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.91-2
|
||||
- Adapt to yr.no API changes (#1140476)
|
||||
|
||||
* Mon Sep 01 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.91-1
|
||||
- Update to 3.13.91
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user