Compare commits
No commits in common. 'i8c' and 'c9' have entirely different histories.
@ -1 +1 @@
|
||||
SOURCES/libgweather-3.28.2.tar.xz
|
||||
SOURCES/libgweather-40.0.tar.xz
|
||||
|
@ -1 +1 @@
|
||||
487493c68e35118eb1773de073124c4fcd5abf90 SOURCES/libgweather-3.28.2.tar.xz
|
||||
5f8be54bb68df8da1193323f17d69c3cb810214d SOURCES/libgweather-40.0.tar.xz
|
||||
|
@ -1,41 +0,0 @@
|
||||
From 42c4136039af5bfb4cb0d351131994ea57577d7f Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Mon, 26 Aug 2019 14:55:12 +0300
|
||||
Subject: [PATCH 1/7] GWeatherWeather: Always set a user-agent when doing
|
||||
queries
|
||||
|
||||
This should fix IWIN queries not working (403) because it didn't
|
||||
appreciate the lack of user-agent.
|
||||
---
|
||||
libgweather/gweather-weather.c | 2 ++
|
||||
meson.build | 1 +
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/libgweather/gweather-weather.c b/libgweather/gweather-weather.c
|
||||
index 571a3e0b..62543169 100644
|
||||
--- a/libgweather/gweather-weather.c
|
||||
+++ b/libgweather/gweather-weather.c
|
||||
@@ -595,6 +595,8 @@ ref_session (void)
|
||||
return g_object_ref (session);
|
||||
|
||||
session = soup_session_new ();
|
||||
+ g_object_set (G_OBJECT (session), SOUP_SESSION_USER_AGENT,
|
||||
+ "libgweather/" LIBGWEATHER_VERSION " (+https://gitlab.gnome.org/GNOME/libgweather/) ", NULL);
|
||||
|
||||
cache = get_cache ();
|
||||
if (cache != NULL) {
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 67261ad6..43490631 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -56,6 +56,7 @@ config_h.set_quoted('LOCALEDIR', join_paths(datadir, 'locale'))
|
||||
config_h.set_quoted('GNOMELOCALEDIR', join_paths(datadir, 'locale'))
|
||||
config_h.set_quoted('G_LOG_DOMAIN', 'GWeather')
|
||||
config_h.set_quoted('GWEATHER_XML_LOCATION_DIR', pkgdatadir)
|
||||
+config_h.set_quoted('LIBGWEATHER_VERSION', meson.project_version())
|
||||
|
||||
if c_compiler.has_member('struct tm', 'tm_gmtoff', prefix: '#include <time.h>')
|
||||
config_h.set('HAVE_TM_TM_GMOFF', 1)
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 3f2f1fd8ee361798dbe4e677978a40b748749b1d Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Mon, 26 Aug 2019 15:01:05 +0300
|
||||
Subject: [PATCH 2/7] yrno: Link to met.no using HTTPS
|
||||
|
||||
---
|
||||
libgweather/weather-yrno.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index 39803b4e..d01075bf 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -504,7 +504,7 @@ parse_forecast_xml_new (GWeatherInfo *master_info,
|
||||
|
||||
That's very nice of them!
|
||||
*/
|
||||
- priv->forecast_attribution = g_strdup(_("Weather data from the <a href=\"http://www.met.no/\">Norwegian Meteorological Institute</a>"));
|
||||
+ priv->forecast_attribution = g_strdup(_("Weather data from the <a href=\"https://www.met.no/\">Norwegian Meteorological Institute</a>"));
|
||||
|
||||
out:
|
||||
xmlXPathFreeContext (xpath_ctx);
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,44 +0,0 @@
|
||||
From 3df75414d865829274ddc64d30ada98ca08fba3b Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Thu, 7 Jan 2021 15:14:40 +0100
|
||||
Subject: [PATCH 3/7] metno: Use compat 2.0 API
|
||||
|
||||
Version 1.9, which we were using, was deprecated and will be removed soon,
|
||||
so migrate to the compat XML output of the v2.0 API.
|
||||
|
||||
Closes: #65
|
||||
---
|
||||
libgweather/weather-yrno.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index d01075bf..7a46fbae 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
#define XC(t) ((const xmlChar *)(t))
|
||||
|
||||
-/* Reference for symbols at http://om.yr.no/forklaring/symbol/ */
|
||||
+/* Reference for symbols at https://api.met.no/weatherapi/weathericon/2.0/ */
|
||||
typedef struct {
|
||||
int code;
|
||||
GWeatherSky sky;
|
||||
@@ -589,12 +589,12 @@ yrno_start_open_new (GWeatherInfo *info)
|
||||
if (!loc->latlon_valid)
|
||||
return FALSE;
|
||||
|
||||
- /* see the description here: https://api.met.no/ */
|
||||
+ /* see the description here: https://api.met.no/weatherapi/locationforecast/2.0/documentation */
|
||||
|
||||
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("https://api.met.no/weatherapi/locationforecast/1.9/?lat=%s;lon=%s", latstr, lonstr);
|
||||
+ url = g_strdup_printf("https://api.met.no/weatherapi/locationforecast/2.0/classic?lat=%s;lon=%s", latstr, lonstr);
|
||||
|
||||
message = soup_message_new ("GET", url);
|
||||
_gweather_info_begin_request (info, message);
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,36 +0,0 @@
|
||||
From d304e911d09d52b763f2c11a4309d170d0597a86 Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Tue, 12 Jan 2021 14:21:21 +0100
|
||||
Subject: [PATCH 4/7] metno: Use GNOME-specific subdomain
|
||||
|
||||
This allows the API provider to track libgweather usage.
|
||||
---
|
||||
libgweather/weather-yrno.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index 7a46fbae..13ee8537 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -37,6 +37,9 @@
|
||||
|
||||
#define XC(t) ((const xmlChar *)(t))
|
||||
|
||||
+/* As per https://gitlab.gnome.org/GNOME/libgweather/-/issues/59#note_1004747 */
|
||||
+#define API_ENDPOINT_DOMAIN "aa037rv1tsaszxi6o.api.met.no"
|
||||
+
|
||||
/* Reference for symbols at https://api.met.no/weatherapi/weathericon/2.0/ */
|
||||
typedef struct {
|
||||
int code;
|
||||
@@ -594,7 +597,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("https://api.met.no/weatherapi/locationforecast/2.0/classic?lat=%s;lon=%s", latstr, lonstr);
|
||||
+ url = g_strdup_printf("https://" API_ENDPOINT_DOMAIN "/weatherapi/locationforecast/2.0/classic?lat=%s;lon=%s", latstr, lonstr);
|
||||
|
||||
message = soup_message_new ("GET", url);
|
||||
_gweather_info_begin_request (info, message);
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 1e3706da2a737e78c879847d31c55226c990b338 Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Tue, 12 Jan 2021 14:22:28 +0100
|
||||
Subject: [PATCH 5/7] metno: Use "&" as arguments separator in query
|
||||
|
||||
According to the HTML5 spec ";" is no longer allowed. This was
|
||||
automatically rewritten in Varnish, but was temporary measure
|
||||
and was likely to disappear if on cache/load balancer change.
|
||||
|
||||
Closes: #72
|
||||
---
|
||||
libgweather/weather-yrno.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index 13ee8537..e5c2e75a 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -597,7 +597,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("https://" API_ENDPOINT_DOMAIN "/weatherapi/locationforecast/2.0/classic?lat=%s;lon=%s", latstr, lonstr);
|
||||
+ url = g_strdup_printf("https://" API_ENDPOINT_DOMAIN "/weatherapi/locationforecast/2.0/classic?lat=%s&lon=%s", latstr, lonstr);
|
||||
|
||||
message = soup_message_new ("GET", url);
|
||||
_gweather_info_begin_request (info, message);
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,162 +0,0 @@
|
||||
From 2305ae3d973355b632777dbe969efea91c4e7339 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 21 Jan 2021 05:12:21 +0100
|
||||
Subject: [PATCH 6/7] metno: Use alphabetical 2.0 symbol codes
|
||||
|
||||
The numerical codes are deprecated and scheduled for removal, so
|
||||
replace them with the non-deprecated alphabetical codes as listed
|
||||
in https://api.met.no/weatherapi/weathericon/2.0/.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/libgweather/-/issues/67
|
||||
---
|
||||
libgweather/weather-yrno.c | 113 ++++++++++++++++++-------------------
|
||||
1 file changed, 55 insertions(+), 58 deletions(-)
|
||||
|
||||
diff --git a/libgweather/weather-yrno.c b/libgweather/weather-yrno.c
|
||||
index e5c2e75a..f32c772a 100644
|
||||
--- a/libgweather/weather-yrno.c
|
||||
+++ b/libgweather/weather-yrno.c
|
||||
@@ -42,53 +42,53 @@
|
||||
|
||||
/* Reference for symbols at https://api.met.no/weatherapi/weathericon/2.0/ */
|
||||
typedef struct {
|
||||
- int code;
|
||||
+ const char *code;
|
||||
GWeatherSky sky;
|
||||
GWeatherConditions condition;
|
||||
} YrnoSymbol;
|
||||
|
||||
static YrnoSymbol symbols[] = {
|
||||
- { 1, GWEATHER_SKY_CLEAR, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Sun */
|
||||
- { 2, GWEATHER_SKY_BROKEN, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* LightCloud */
|
||||
- { 3, GWEATHER_SKY_SCATTERED, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* PartlyCloudy */
|
||||
- { 4, GWEATHER_SKY_OVERCAST, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Cloudy */
|
||||
- { 5, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_LIGHT } }, /* LightRainSun */
|
||||
- { 6, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* LightRainThunderSun */
|
||||
- { 7, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_NONE } }, /* SleetSun */
|
||||
- { 8, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_NONE } }, /* SnowSun */
|
||||
- { 9, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_LIGHT } }, /* SnowSun */
|
||||
- { 10, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_NONE } }, /* Rain */
|
||||
- { 11, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* RainThunder */
|
||||
- { 12, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_NONE } }, /* Sleet */
|
||||
- { 13, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_NONE } }, /* Snow */
|
||||
- { 14, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SnowThunder */
|
||||
- { 15, GWEATHER_SKY_CLEAR, { TRUE, GWEATHER_PHENOMENON_FOG, GWEATHER_QUALIFIER_NONE } }, /* Fog */
|
||||
- { 20, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SleetSunThunder */
|
||||
- { 21, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SnowSunThunder */
|
||||
- { 22, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* LightRainThunder */
|
||||
- { 23, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SleetThunder */
|
||||
- { 24, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* DrizzleThunderSun */
|
||||
- { 25, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* RainThunderSun */
|
||||
- { 26, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetThunderSun */
|
||||
- { 27, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetThunderSun */
|
||||
- { 28, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowThunderSun */
|
||||
- { 29, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowThunderSun */
|
||||
- { 30, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* DrizzleThunder */
|
||||
- { 31, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetThunder */
|
||||
- { 32, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetThunder */
|
||||
- { 33, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowThunder */
|
||||
- { 34, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowThunder */
|
||||
- { 40, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_NONE } }, /* DrizzleSun */
|
||||
- { 41, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_NONE } }, /* RainSun */
|
||||
- { 42, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetSun */
|
||||
- { 43, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetSun */
|
||||
- { 44, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowSun */
|
||||
- { 45, GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowSun */
|
||||
- { 46, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_NONE } }, /* Drizzle */
|
||||
- { 47, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleet */
|
||||
- { 48, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleet */
|
||||
- { 49, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnow */
|
||||
- { 50, GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } } /* HeavySnow */
|
||||
+ { "clearsky", GWEATHER_SKY_CLEAR, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Sun */
|
||||
+ { "fair", GWEATHER_SKY_BROKEN, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* LightCloud */
|
||||
+ { "partlycloudy", GWEATHER_SKY_SCATTERED, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* PartlyCloudy */
|
||||
+ { "cloudy", GWEATHER_SKY_OVERCAST, { FALSE, GWEATHER_PHENOMENON_NONE, GWEATHER_QUALIFIER_NONE } }, /* Cloudy */
|
||||
+ { "rainshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_LIGHT } }, /* LightRainSun */
|
||||
+ { "rainshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* LightRainThunderSun */
|
||||
+ { "sleetshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_NONE } }, /* SleetSun */
|
||||
+ { "snowshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_NONE } }, /* SnowSun */
|
||||
+ { "rain", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_LIGHT } }, /* SnowSun */
|
||||
+ { "heavyrain", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_NONE } }, /* Rain */
|
||||
+ { "heavyrainandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* RainThunder */
|
||||
+ { "sleet", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_NONE } }, /* Sleet */
|
||||
+ { "snow", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_NONE } }, /* Snow */
|
||||
+ { "snowandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SnowThunder */
|
||||
+ { "fog", GWEATHER_SKY_CLEAR, { TRUE, GWEATHER_PHENOMENON_FOG, GWEATHER_QUALIFIER_NONE } }, /* Fog */
|
||||
+ { "sleetshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SleetSunThunder */
|
||||
+ { "snowshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SnowSunThunder */
|
||||
+ { "rainandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* LightRainThunder */
|
||||
+ { "sleetandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* SleetThunder */
|
||||
+ { "lightrainshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* DrizzleThunderSun */
|
||||
+ { "heavyrainshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* RainThunderSun */
|
||||
+ { "lightssleetshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetThunderSun */
|
||||
+ { "heavysleetshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetThunderSun */
|
||||
+ { "lightssnowshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowThunderSun */
|
||||
+ { "heavysnowshowersandthunder", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowThunderSun */
|
||||
+ { "lightrainandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_THUNDERSTORM } }, /* DrizzleThunder */
|
||||
+ { "lightsleetandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetThunder */
|
||||
+ { "heavysleetandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetThunder */
|
||||
+ { "lightsnowandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowThunder */
|
||||
+ { "heavysnowandthunder", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowThunder */
|
||||
+ { "lightrainshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_NONE } }, /* DrizzleSun */
|
||||
+ { "heavyrainshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_RAIN, GWEATHER_QUALIFIER_NONE } }, /* RainSun */
|
||||
+ { "lightsleetshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleetSun */
|
||||
+ { "heavysleetshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleetSun */
|
||||
+ { "lightsnowshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnowSun */
|
||||
+ { "heavysnowshowers", GWEATHER_SKY_BROKEN, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySnowSun */
|
||||
+ { "lightrain", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_DRIZZLE, GWEATHER_QUALIFIER_NONE } }, /* Drizzle */
|
||||
+ { "lightsleet", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_LIGHT } }, /* LightSleet */
|
||||
+ { "heavysleet", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_ICE_PELLETS, GWEATHER_QUALIFIER_HEAVY } }, /* HeavySleet */
|
||||
+ { "lightsnow", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_LIGHT } }, /* LightSnow */
|
||||
+ { "heavysnow", GWEATHER_SKY_OVERCAST, { TRUE, GWEATHER_PHENOMENON_SNOW, GWEATHER_QUALIFIER_HEAVY } } /* HeavySnow */
|
||||
};
|
||||
|
||||
static struct {
|
||||
@@ -149,21 +149,18 @@ date_to_time_t (const xmlChar *str, const char * tzid)
|
||||
}
|
||||
|
||||
static YrnoSymbol *
|
||||
-symbol_search (int code)
|
||||
+symbol_search (const char *code)
|
||||
{
|
||||
- int a = 0;
|
||||
- int b = G_N_ELEMENTS (symbols);
|
||||
-
|
||||
- while (a < b) {
|
||||
- int c = (a + b)/2;
|
||||
- YrnoSymbol *yc = symbols + c;
|
||||
-
|
||||
- if (yc->code == code)
|
||||
- return yc;
|
||||
- if (yc->code < code)
|
||||
- a = c+1;
|
||||
- else
|
||||
- b = c;
|
||||
+ unsigned int i;
|
||||
+
|
||||
+ for (i = 0; i < G_N_ELEMENTS (symbols); i++) {
|
||||
+ YrnoSymbol *s = symbols + i;
|
||||
+
|
||||
+ if (strcmp (code, s->code) == 0)
|
||||
+ return s;
|
||||
+
|
||||
+ if (strstr (code, s->code) == code && code[strlen (s->code)] == '_')
|
||||
+ return s;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -177,9 +174,9 @@ read_symbol (GWeatherInfo *info,
|
||||
YrnoSymbol* symbol;
|
||||
GWeatherInfoPrivate *priv = info->priv;
|
||||
|
||||
- val = xmlGetProp (node, XC("number"));
|
||||
+ val = xmlGetProp (node, XC("code"));
|
||||
|
||||
- symbol = symbol_search (strtol ((char*) val, NULL, 0));
|
||||
+ symbol = symbol_search ((char *)val);
|
||||
if (symbol != NULL) {
|
||||
priv->valid = TRUE;
|
||||
priv->sky = symbol->sky;
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,66 +0,0 @@
|
||||
From 9e04624edff61f381365485565477f5302a2b93e Mon Sep 17 00:00:00 2001
|
||||
From: Michael Catanzaro <mcatanzaro@gnome.org>
|
||||
Date: Fri, 19 Mar 2021 15:45:52 -0500
|
||||
Subject: [PATCH 7/7] weather: add app ID to HTTP user agent
|
||||
|
||||
met.no has requested we add the app ID even if we cannot provide
|
||||
application contact info. See #82.
|
||||
---
|
||||
libgweather/gweather-weather.c | 34 ++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 32 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libgweather/gweather-weather.c b/libgweather/gweather-weather.c
|
||||
index 62543169..f81aa7e2 100644
|
||||
--- a/libgweather/gweather-weather.c
|
||||
+++ b/libgweather/gweather-weather.c
|
||||
@@ -583,6 +583,37 @@ dump_and_unref_cache (SoupCache *cache)
|
||||
|
||||
static SoupSession *static_session;
|
||||
|
||||
+static const char *
|
||||
+app_id (void)
|
||||
+{
|
||||
+ GApplication *app = g_application_get_default ();
|
||||
+ const char *id;
|
||||
+
|
||||
+ if (app) {
|
||||
+ id = g_application_get_application_id (app);
|
||||
+ if (id)
|
||||
+ return id;
|
||||
+ }
|
||||
+
|
||||
+ return g_get_prgname ();
|
||||
+}
|
||||
+
|
||||
+static char *
|
||||
+compute_user_agent (void)
|
||||
+{
|
||||
+ return g_strdup_printf ("libgweather/%s (+https://gitlab.gnome.org/GNOME/libgweather/) (%s) ", LIBGWEATHER_VERSION, app_id ());
|
||||
+}
|
||||
+
|
||||
+static const char *
|
||||
+user_agent (void)
|
||||
+{
|
||||
+ static GOnce once = G_ONCE_INIT;
|
||||
+
|
||||
+ g_once (&once, compute_user_agent, NULL);
|
||||
+
|
||||
+ return once.retval;
|
||||
+}
|
||||
+
|
||||
static SoupSession *
|
||||
ref_session (void)
|
||||
{
|
||||
@@ -595,8 +626,7 @@ ref_session (void)
|
||||
return g_object_ref (session);
|
||||
|
||||
session = soup_session_new ();
|
||||
- g_object_set (G_OBJECT (session), SOUP_SESSION_USER_AGENT,
|
||||
- "libgweather/" LIBGWEATHER_VERSION " (+https://gitlab.gnome.org/GNOME/libgweather/) ", NULL);
|
||||
+ g_object_set (G_OBJECT (session), SOUP_SESSION_USER_AGENT, user_agent (), NULL);
|
||||
|
||||
cache = get_cache ();
|
||||
if (cache != NULL) {
|
||||
--
|
||||
2.30.2
|
||||
|
@ -1,40 +0,0 @@
|
||||
From 88461473c20a6a7e4d61d144de083340d65eb75a Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Wed, 18 Jul 2018 13:50:23 +0200
|
||||
Subject: [PATCH] build: Don't use a full path inside generated enum header
|
||||
|
||||
It causes multilib problems.
|
||||
---
|
||||
libgweather/gweather-enum-types.c.tmpl | 2 +-
|
||||
libgweather/gweather-enum-types.h.tmpl | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libgweather/gweather-enum-types.c.tmpl b/libgweather/gweather-enum-types.c.tmpl
|
||||
index 4430bda8..fe1f7c4d 100644
|
||||
--- a/libgweather/gweather-enum-types.c.tmpl
|
||||
+++ b/libgweather/gweather-enum-types.c.tmpl
|
||||
@@ -7,7 +7,7 @@
|
||||
/*** END file-header ***/
|
||||
|
||||
/*** BEGIN file-production ***/
|
||||
-/* enumerations from "@filename@" */
|
||||
+/* enumerations from "@basename@" */
|
||||
/*** END file-production ***/
|
||||
|
||||
/*** BEGIN value-header ***/
|
||||
diff --git a/libgweather/gweather-enum-types.h.tmpl b/libgweather/gweather-enum-types.h.tmpl
|
||||
index 3ca19950..d50063da 100644
|
||||
--- a/libgweather/gweather-enum-types.h.tmpl
|
||||
+++ b/libgweather/gweather-enum-types.h.tmpl
|
||||
@@ -14,7 +14,7 @@ G_BEGIN_DECLS
|
||||
|
||||
/*** BEGIN file-production ***/
|
||||
|
||||
-/* enumerations from "@filename@" */
|
||||
+/* enumerations from "@basename@" */
|
||||
/*** END file-production ***/
|
||||
|
||||
/*** BEGIN value-header ***/
|
||||
--
|
||||
GitLab
|
||||
|
Loading…
Reference in new issue