Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian....@packages.debian.org
Usertags: pu

Hi,

xfce4-weather-plugin uses met.no as source for weather information.
There was multiple changes in API in recent years, and they disabled
legacy API in the last few days, meaning weather plugin in Jessie
doesn't work anymore.

I've prepared an update pulling only the API changes from upstream,
which results in the attached debdiff and the following diffstat:

 changelog                                                               |   17 
+
 patches/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch |  160 
++++++++++
 patches/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch |   26 
+
 patches/0003-Update-NEWS-and-README.patch                               |   56 
+++
 patches/0004-Update-URL-for-sunrise-API-to-point-to-version-1.1-b.patch |   58 
+++
 patches/0005-Update-http-api.yr.no-URLs-to-https-api.met.no.patch       |   66 
++++
 patches/0006-Bump-LocationforecastLTS-version-to-1.3.patch              |   48 
+++
 patches/0007-Change-more-URLs-from-http-yr.no-to-https-met.no.patch     |   67 
++++
 patches/git_support-locationforecast-1.2.patch                          |  151 
---------
 patches/git_use-locationforecast-1.2.patch                              |   21 
-
 patches/series                                                          |    9 
 11 files changed, 505 insertions(+), 174 deletions(-)

Would it be ok for a stable upload?

Regards,

-- 
Yves-Alexis

-- System Information:
Debian Release: 9.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 
'oldstable'), (450, 'experimental')
Architecture: amd64
 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Differences in xfce4-weather-plugin between 0.8.3-2 and 0.8.3-3
diff -Nru xfce4-weather-plugin-0.8.3/debian/changelog 
xfce4-weather-plugin-0.8.3/debian/changelog
--- xfce4-weather-plugin-0.8.3/debian/changelog 2014-10-05 15:22:22.000000000 
+0200
+++ xfce4-weather-plugin-0.8.3/debian/changelog 2017-05-12 10:24:12.000000000 
+0200
@@ -1,3 +1,20 @@
+xfce4-weather-plugin (0.8.3-3) UNRELEASED; urgency=medium
+
+  * debian/patches:
+    - 0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP,
+    0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109,
+    0003-Update-NEWS-and-README,
+    0004-Update-URL-for-sunrise-API-to-point-to-version-1.1-b,
+    0005-Update-http-api.yr.no-URLs-to-https-api.met.no,
+    0006-Bump-LocationforecastLTS-version-to-1.3,
+    0007-Change-more-URLs-from-http-yr.no-to-https-met.no added, backported
+    from ustream to support met.no new APIs
+    - git_use-locationforecast-1.2 and
+    debian/patches/git_use-locationforecast-1.2 dropped, included in backports
+    above.
+
+ -- Yves-Alexis Perez <cor...@debian.org>  Fri, 12 May 2017 10:24:12 +0200
+
 xfce4-weather-plugin (0.8.3-2) unstable; urgency=low
 
   [ Yves-Alexis Perez ]
diff -Nru 
xfce4-weather-plugin-0.8.3/debian/patches/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch
 
xfce4-weather-plugin-0.8.3/debian/patches/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch
--- 
xfce4-weather-plugin-0.8.3/debian/patches/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
xfce4-weather-plugin-0.8.3/debian/patches/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch
   2017-05-12 10:21:45.000000000 +0200
@@ -0,0 +1,160 @@
+From 235a1c82ba1b03f4c399daa2f6edc6ee58b83b95 Mon Sep 17 00:00:00 2001
+From: Harald Judt <h.j...@gmx.at>
+Date: Wed, 28 May 2014 20:08:02 +0200
+Subject: [PATCH 1/7] Make plugin ready for met.no locationforecast-1.2 API
+ (bug #10916).
+
+http://api.yr.no/weatherapi/locationforecastlts/1.1/documentation#version_1_2___2014_05_20
+
+The updated API version uses CamelCase symbol names instead of UPPERCASE
+ones and has added some new names (like 'Drizzle'), which unfortunately
+have not been documented (yet?).
+
+What's more, the typo 'celcius' has been replaced by the fixed 'celsius',
+but luckily the plugin will not be affected by that change.
+
+What's a bit more unfortunate is that the existing icon themes do not
+cover the new symbol names, so one would have to create quite a lot of
+new icons. Also, new translations would have to be added for the symbols,
+and maybe existing ones would have to be altered. To prevent this, we're
+simply going to map the new symbols to existing ones as good as possible.
+This should be good enough for the time being.
+---
+ panel-plugin/weather-parsers.c   |  3 +-
+ panel-plugin/weather-translate.c | 70 +++++++++++++++++++++++++++++++++++++++-
+ panel-plugin/weather-translate.h |  2 ++
+ 3 files changed, 73 insertions(+), 2 deletions(-)
+
+diff --git a/panel-plugin/weather-parsers.c b/panel-plugin/weather-parsers.c
+index c380130..2c90c11 100644
+--- a/panel-plugin/weather-parsers.c
++++ b/panel-plugin/weather-parsers.c
+@@ -28,6 +28,7 @@
+ #define _XOPEN_SOURCE
+ #define _XOPEN_SOURCE_EXTENDED 1
+ #include "weather-parsers.h"
++#include "weather-translate.h"
+ #include "weather-debug.h"
+ 
+ #include <time.h>
+@@ -196,8 +197,8 @@ parse_location(xmlNode *cur_node,
+         }
+         if (NODE_IS_TYPE(child_node, "symbol")) {
+             g_free(loc->symbol);
+-            loc->symbol = PROP(child_node, "id");
+             loc->symbol_id = strtol(PROP(child_node, "number"), NULL, 10);
++            loc->symbol = g_strdup(get_symbol_for_id(loc->symbol_id));
+         }
+     }
+ 
+diff --git a/panel-plugin/weather-translate.c 
b/panel-plugin/weather-translate.c
+index 004eef1..cc97600 100644
+--- a/panel-plugin/weather-translate.c
++++ b/panel-plugin/weather-translate.c
+@@ -29,6 +29,7 @@
+ #include "weather-translate.h"
+ 
+ #define DAY_LOC_N (sizeof(gchar) * 100)
++#define NODATA "NODATA"
+ 
+ 
+ static const gchar *wdirs[] = {
+@@ -169,7 +170,7 @@ static const symbol_desc symbol_to_desc[] = {
+ 
+     { 15, "FOG",                 N_("Fog"),                        N_("Fog")  
                      },
+ 
+-    /* Symbols 16-19 are used for polar days */
++    /* Symbols 16-19 are used for polar days (unused beginning with API 
version 1.2) */
+     { 16, "SUN",                 N_("Sunny"),                      
N_("Clear")                      },
+     { 17, "LIGHTCLOUD",          N_("Lightly cloudy"),             
N_("Lightly cloudy")             },
+     { 18, "LIGHTRAINSUN",        N_("Rain showers"),               N_("Rain 
showers")               },
+@@ -185,6 +186,73 @@ static const symbol_desc symbol_to_desc[] = {
+ #define NUM_SYMBOLS (sizeof(symbol_to_desc) / sizeof(symbol_to_desc[0]))
+ 
+ 
++/*
++ * API version 1.2, published in May 2014, introduced new symbols. We
++ * try to match these with existing symbols, in order to be compatible
++ * with existing icon themes and to maintain translation completeness.
++ *
++ * See http://api.met.no/weatherapi/weathericon/1.1/documentation
++ * for a list of symbols. For a list of symbols with descriptions,
++ * see http://om.yr.no/forklaring/symbol.
++ */
++gint
++replace_symbol_id(gint id)
++{
++    /* Symbol ids greater than 100 are used for indicating polar
++     * night. These ids are over the ordinary id + 100. Since we
++     * don't support polar icons, we can simply subtract 100 to
++     * get the non-polar symbol ids.
++     */
++    if (id > 100)
++        id -= 100;
++
++    switch (id) {
++    case 24: return 22; /* Light rain showers and thunder */
++    case 25: return 6;  /* Heavy rain showers and thunder */
++    case 26: return 20; /* Light sleet showers and thunder */
++    case 27: return 20; /* Heavy sleet showers and thunder */
++    case 28: return 21; /* Light snow showers and thunder */
++    case 29: return 21; /* Heavy snow showers and thunder */
++    case 30: return 22; /* Light rain and thunder */
++    case 31: return 23; /* Light sleet and thunder */
++    case 32: return 23; /* Heavy sleet and thunder */
++    case 33: return 14; /* Light snow and thunder */
++    case 34: return 14; /* Heavy snow and thunder */
++
++    /* symbols 35-39 are unused */
++
++    case 40: return 5;  /* Light rain showers */
++    case 41: return 5;  /* Heavy rain showers */
++    case 42: return 7;  /* Light sleet showers */
++    case 43: return 7;  /* Heavy sleet showers */
++    case 44: return 8;  /* Light snow showers */
++    case 45: return 8;  /* Heavy snow showers */
++    case 46: return 9;  /* Light rain */
++    case 47: return 12; /* Light sleet */
++    case 48: return 12; /* Heavy sleet */
++    case 49: return 13; /* Light snow */
++    case 50: return 13; /* Heavy snow */
++    default: return id;
++    }
++}
++
++
++const gchar *
++get_symbol_for_id(gint id)
++{
++    if (G_UNLIKELY(id < 1))
++        return NODATA;
++
++    if (id >= NUM_SYMBOLS)
++        id = replace_symbol_id(id);
++
++    if (id < NUM_SYMBOLS)
++        return symbol_to_desc[id-1].symbol;
++
++    return NODATA;
++}
++
++
+ const gchar *
+ translate_desc(const gchar *desc,
+                const gboolean nighttime)
+diff --git a/panel-plugin/weather-translate.h 
b/panel-plugin/weather-translate.h
+index 1538466..2926279 100644
+--- a/panel-plugin/weather-translate.h
++++ b/panel-plugin/weather-translate.h
+@@ -24,6 +24,8 @@
+ 
+ G_BEGIN_DECLS
+ 
++const gchar *get_symbol_for_id(gint id);
++
+ const gchar *translate_desc(const gchar *desc,
+                             gboolean nighttime);
+ 
+-- 
+2.11.0
+
diff -Nru 
xfce4-weather-plugin-0.8.3/debian/patches/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch
 
xfce4-weather-plugin-0.8.3/debian/patches/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch
--- 
xfce4-weather-plugin-0.8.3/debian/patches/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
xfce4-weather-plugin-0.8.3/debian/patches/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch
   2017-05-12 10:21:45.000000000 +0200
@@ -0,0 +1,26 @@
+From 95d67ae5d178b78acb5e778417f69a940bb8da4f Mon Sep 17 00:00:00 2001
+From: Harald Judt <h.j...@gmx.at>
+Date: Tue, 3 Jun 2014 19:59:05 +0200
+Subject: [PATCH 2/7] Switch to met.no locationforecastLTS-1.2 API (bug
+ #10916).
+
+---
+ panel-plugin/weather.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/panel-plugin/weather.c b/panel-plugin/weather.c
+index 710c33c..5271cd5 100644
+--- a/panel-plugin/weather.c
++++ b/panel-plugin/weather.c
+@@ -638,7 +638,7 @@ update_handler(plugin_data *data)
+         /* build url */
+         url =
+             g_strdup_printf("http://api.yr.no/weatherapi";
+-                            "/locationforecastlts/1.1/?lat=%s;lon=%s;msl=%d",
++                            "/locationforecastlts/1.2/?lat=%s;lon=%s;msl=%d",
+                             data->lat, data->lon, data->msl);
+ 
+         /* start receive thread */
+-- 
+2.11.0
+
diff -Nru 
xfce4-weather-plugin-0.8.3/debian/patches/0003-Update-NEWS-and-README.patch 
xfce4-weather-plugin-0.8.3/debian/patches/0003-Update-NEWS-and-README.patch
--- xfce4-weather-plugin-0.8.3/debian/patches/0003-Update-NEWS-and-README.patch 
1970-01-01 01:00:00.000000000 +0100
+++ xfce4-weather-plugin-0.8.3/debian/patches/0003-Update-NEWS-and-README.patch 
2017-05-12 10:21:45.000000000 +0200
@@ -0,0 +1,56 @@
+From f0bf4a0fb2f7ac3b0bb30fe0d23c9c72db1355ef Mon Sep 17 00:00:00 2001
+From: Harald Judt <h.j...@gmx.at>
+Date: Sun, 19 Oct 2014 13:37:21 +0200
+Subject: [PATCH 3/7] Update NEWS and README
+
+---
+ NEWS   | 22 ++++++++++++++++++++++
+ README |  2 +-
+ 2 files changed, 23 insertions(+), 1 deletion(-)
+
+diff --git a/NEWS b/NEWS
+index 31868ac..871069a 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,3 +1,25 @@
++0.8.4
++=====
++- Support upower-0.99 (bug #10922)
++- Use locationforecastLTS-1.2 API (bug #10916)
++- Add code to handle proxy authentication (bug #10820)
++- Remove code dealing with laptop lid open/close (bug #10330)
++- Show astrodata in forecast day header tooltip in summary window
++- Fetch and cache astronomical data for multiple days
++- Add a button for opening/creating the user icon themes directory in
++  the config dialog
++- Sort icon themes by path names (user themes are listed first)
++- Correct spelling of precipitation (bug #9938)
++- Context menu: Resolve mnemonic conflict for Refresh and Remove
++  (bug #9911)
++- Summary window: Fix clock not updating properly (bug #9933)
++- Fix wind direction translation (bug #9895)
++- Make using only a single row the default setting
++- Better handle single row and icon size in various panel modes
++- Fix text color not being remembered over restarts
++- Build system cleanups and dependency bumps
++- Many translation updates
++
+ 0.8.3
+ =====
+ 
+diff --git a/README b/README
+index 53479ac..5f4ce5d 100644
+--- a/README
++++ b/README
+@@ -83,7 +83,7 @@ left open by the former:
+   http://api.met.no/license_data.html
+ 
+ * Service-specific documentation
+-  http://api.met.no/weatherapi/locationforecastlts/1.1/documentation
++  http://api.met.no/weatherapi/locationforecastlts/1.2/documentation
+   http://api.yr.no/weatherapi/sunrise/1.0/documentation
+ 
+ For more technical details you might need to study the XML schema
+-- 
+2.11.0
+
diff -Nru 
xfce4-weather-plugin-0.8.3/debian/patches/0004-Update-URL-for-sunrise-API-to-point-to-version-1.1-b.patch
 
xfce4-weather-plugin-0.8.3/debian/patches/0004-Update-URL-for-sunrise-API-to-point-to-version-1.1-b.patch
--- 
xfce4-weather-plugin-0.8.3/debian/patches/0004-Update-URL-for-sunrise-API-to-point-to-version-1.1-b.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
xfce4-weather-plugin-0.8.3/debian/patches/0004-Update-URL-for-sunrise-API-to-point-to-version-1.1-b.patch
   2017-05-12 10:21:45.000000000 +0200
@@ -0,0 +1,58 @@
+From ff1d6c82f19eb75d793f4657ad3090ee7f80ce62 Mon Sep 17 00:00:00 2001
+From: Harald Judt <h.j...@gmx.at>
+Date: Wed, 20 Apr 2016 09:29:01 +0200
+Subject: [PATCH 4/7] Update URL for sunrise API to point to version 1.1 (bug
+ #12333)
+
+This is only a small part of the patch uploaded by ToZ. It restores
+functionality of the current version while not introducing any new
+translation strings. Additionally, this commits updates the link
+in the README.
+---
+ README                         | 2 +-
+ panel-plugin/weather-parsers.c | 2 +-
+ panel-plugin/weather.c         | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/README b/README
+index 5f4ce5d..439b65b 100644
+--- a/README
++++ b/README
+@@ -84,7 +84,7 @@ left open by the former:
+ 
+ * Service-specific documentation
+   http://api.met.no/weatherapi/locationforecastlts/1.2/documentation
+-  http://api.yr.no/weatherapi/sunrise/1.0/documentation
++  http://api.yr.no/weatherapi/sunrise/1.1/documentation
+ 
+ For more technical details you might need to study the XML schema
+ corresponding to the document in question.
+diff --git a/panel-plugin/weather-parsers.c b/panel-plugin/weather-parsers.c
+index 2c90c11..a1ad381 100644
+--- a/panel-plugin/weather-parsers.c
++++ b/panel-plugin/weather-parsers.c
+@@ -406,7 +406,7 @@ parse_astro_location(xmlNode *cur_node,
+ 
+ 
+ /*
+- * Look at http://api.yr.no/weatherapi/sunrise/1.0/schema for information
++ * Look at http://api.yr.no/weatherapi/sunrise/1.1/schema for information
+  * of elements and attributes to expect.
+  */
+ xml_astro *
+diff --git a/panel-plugin/weather.c b/panel-plugin/weather.c
+index 5271cd5..4fa9fc4 100644
+--- a/panel-plugin/weather.c
++++ b/panel-plugin/weather.c
+@@ -616,7 +616,7 @@ update_handler(plugin_data *data)
+         data->astro_update->next = time_calc_hour(now_tm, 1);
+ 
+         /* build url */
+-        url = g_strdup_printf("http://api.yr.no/weatherapi/sunrise/1.0/?";
++        url = g_strdup_printf("http://api.yr.no/weatherapi/sunrise/1.1/?";
+                               "lat=%s;lon=%s;date=%04d-%02d-%02d",
+                               data->lat, data->lon,
+                               now_tm.tm_year + 1900,
+-- 
+2.11.0
+
diff -Nru 
xfce4-weather-plugin-0.8.3/debian/patches/0005-Update-http-api.yr.no-URLs-to-https-api.met.no.patch
 
xfce4-weather-plugin-0.8.3/debian/patches/0005-Update-http-api.yr.no-URLs-to-https-api.met.no.patch
--- 
xfce4-weather-plugin-0.8.3/debian/patches/0005-Update-http-api.yr.no-URLs-to-https-api.met.no.patch
 1970-01-01 01:00:00.000000000 +0100
+++ 
xfce4-weather-plugin-0.8.3/debian/patches/0005-Update-http-api.yr.no-URLs-to-https-api.met.no.patch
 2017-05-12 10:21:45.000000000 +0200
@@ -0,0 +1,66 @@
+From 6e7f1a4cf406e78561df08c5cc375bdb311d0af5 Mon Sep 17 00:00:00 2001
+From: Harald Judt <h.j...@gmx.at>
+Date: Wed, 31 Aug 2016 21:43:16 +0200
+Subject: [PATCH 5/7] Update http://api.yr.no URLs to https://api.met.no
+
+https://www.slightfuture.com/devel/met-norway-api-endpoints
+
+Let's use the https protocol too, since libsoup supports it.
+This should improve security and privacy.
+---
+ panel-plugin/weather-parsers.c   | 2 +-
+ panel-plugin/weather-translate.c | 2 +-
+ panel-plugin/weather.c           | 4 ++--
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/panel-plugin/weather-parsers.c b/panel-plugin/weather-parsers.c
+index a1ad381..02e141c 100644
+--- a/panel-plugin/weather-parsers.c
++++ b/panel-plugin/weather-parsers.c
+@@ -406,7 +406,7 @@ parse_astro_location(xmlNode *cur_node,
+ 
+ 
+ /*
+- * Look at http://api.yr.no/weatherapi/sunrise/1.1/schema for information
++ * Look at https://api.met.no/weatherapi/sunrise/1.1/schema for information
+  * of elements and attributes to expect.
+  */
+ xml_astro *
+diff --git a/panel-plugin/weather-translate.c 
b/panel-plugin/weather-translate.c
+index cc97600..a26a9d1 100644
+--- a/panel-plugin/weather-translate.c
++++ b/panel-plugin/weather-translate.c
+@@ -191,7 +191,7 @@ static const symbol_desc symbol_to_desc[] = {
+  * try to match these with existing symbols, in order to be compatible
+  * with existing icon themes and to maintain translation completeness.
+  *
+- * See http://api.met.no/weatherapi/weathericon/1.1/documentation
++ * See https://api.met.no/weatherapi/weathericon/1.1/documentation
+  * for a list of symbols. For a list of symbols with descriptions,
+  * see http://om.yr.no/forklaring/symbol.
+  */
+diff --git a/panel-plugin/weather.c b/panel-plugin/weather.c
+index 4fa9fc4..b660fc7 100644
+--- a/panel-plugin/weather.c
++++ b/panel-plugin/weather.c
+@@ -616,7 +616,7 @@ update_handler(plugin_data *data)
+         data->astro_update->next = time_calc_hour(now_tm, 1);
+ 
+         /* build url */
+-        url = g_strdup_printf("http://api.yr.no/weatherapi/sunrise/1.1/?";
++        url = g_strdup_printf("https://api.met.no/weatherapi/sunrise/1.1/?";
+                               "lat=%s;lon=%s;date=%04d-%02d-%02d",
+                               data->lat, data->lon,
+                               now_tm.tm_year + 1900,
+@@ -637,7 +637,7 @@ update_handler(plugin_data *data)
+ 
+         /* build url */
+         url =
+-            g_strdup_printf("http://api.yr.no/weatherapi";
++            g_strdup_printf("https://api.met.no/weatherapi";
+                             "/locationforecastlts/1.2/?lat=%s;lon=%s;msl=%d",
+                             data->lat, data->lon, data->msl);
+ 
+-- 
+2.11.0
+
diff -Nru 
xfce4-weather-plugin-0.8.3/debian/patches/0006-Bump-LocationforecastLTS-version-to-1.3.patch
 
xfce4-weather-plugin-0.8.3/debian/patches/0006-Bump-LocationforecastLTS-version-to-1.3.patch
--- 
xfce4-weather-plugin-0.8.3/debian/patches/0006-Bump-LocationforecastLTS-version-to-1.3.patch
        1970-01-01 01:00:00.000000000 +0100
+++ 
xfce4-weather-plugin-0.8.3/debian/patches/0006-Bump-LocationforecastLTS-version-to-1.3.patch
        2017-05-12 10:21:45.000000000 +0200
@@ -0,0 +1,48 @@
+From 1e64aae15e5bf7dfa39762b5c9fda977d5d60e75 Mon Sep 17 00:00:00 2001
+From: Harald Judt <h.j...@gmx.at>
+Date: Thu, 16 Feb 2017 20:01:29 +0100
+Subject: [PATCH 6/7] Bump LocationforecastLTS version to 1.3
+
+See http://api.met.no/weatherapi/locationforecastlts/1.3/documentation:
+
+Version 1.3 : 2017-02-13
+
+- New version 1.3. The old version, 1.2, will expire at 2017-05-09.
+
+- With this new version we have expired an old forecast model. As a consequence
+  of this, areas in northern europe that previously had 1 hourly resolution 
short
+  term forecast will temporarily get 3 hour resolution instead.
+---
+ README                 | 2 +-
+ panel-plugin/weather.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/README b/README
+index 439b65b..e9d625a 100644
+--- a/README
++++ b/README
+@@ -83,7 +83,7 @@ left open by the former:
+   http://api.met.no/license_data.html
+ 
+ * Service-specific documentation
+-  http://api.met.no/weatherapi/locationforecastlts/1.2/documentation
++  http://api.met.no/weatherapi/locationforecastlts/1.3/documentation
+   http://api.yr.no/weatherapi/sunrise/1.1/documentation
+ 
+ For more technical details you might need to study the XML schema
+diff --git a/panel-plugin/weather.c b/panel-plugin/weather.c
+index b660fc7..c01b8fa 100644
+--- a/panel-plugin/weather.c
++++ b/panel-plugin/weather.c
+@@ -638,7 +638,7 @@ update_handler(plugin_data *data)
+         /* build url */
+         url =
+             g_strdup_printf("https://api.met.no/weatherapi";
+-                            "/locationforecastlts/1.2/?lat=%s;lon=%s;msl=%d",
++                            "/locationforecastlts/1.3/?lat=%s;lon=%s;msl=%d",
+                             data->lat, data->lon, data->msl);
+ 
+         /* start receive thread */
+-- 
+2.11.0
+
diff -Nru 
xfce4-weather-plugin-0.8.3/debian/patches/0007-Change-more-URLs-from-http-yr.no-to-https-met.no.patch
 
xfce4-weather-plugin-0.8.3/debian/patches/0007-Change-more-URLs-from-http-yr.no-to-https-met.no.patch
--- 
xfce4-weather-plugin-0.8.3/debian/patches/0007-Change-more-URLs-from-http-yr.no-to-https-met.no.patch
       1970-01-01 01:00:00.000000000 +0100
+++ 
xfce4-weather-plugin-0.8.3/debian/patches/0007-Change-more-URLs-from-http-yr.no-to-https-met.no.patch
       2017-05-12 10:21:45.000000000 +0200
@@ -0,0 +1,67 @@
+From ec2e7e8a07726ac5e12bea17d146d24f1e9001b1 Mon Sep 17 00:00:00 2001
+From: Harald Judt <h.j...@gmx.at>
+Date: Thu, 16 Feb 2017 20:11:17 +0100
+Subject: [PATCH 7/7] Change more URLs from http://yr.no to https://met.no
+
+This follow-up commit to
+https://git.xfce.org/panel-plugins/xfce4-weather-plugin/commit/?id=ed692336446fe7b29c33cf03798236ad5744aa8a
+should change all remaining http URLs to https and also from
+*.yr.no to *.met.no, both in code and documentation.
+---
+ README                           | 10 +++++-----
+ panel-plugin/weather-summary.c   |  2 +-
+ panel-plugin/weather-translate.c |  2 +-
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/README b/README
+index e9d625a..25b8f03 100644
+--- a/README
++++ b/README
+@@ -78,13 +78,13 @@ documentation and especially their FAQ, which answers some 
questions
+ left open by the former:
+ 
+ * General documentation and data licensing
+-  http://api.yr.no/weatherapi/documentation
+-  http://api.yr.no/faq.html
+-  http://api.met.no/license_data.html
++  https://api.met.no/weatherapi/documentation
++  https://api.met.no/faq.html
++  https://api.met.no/license_data.html
+ 
+ * Service-specific documentation
+-  http://api.met.no/weatherapi/locationforecastlts/1.3/documentation
+-  http://api.yr.no/weatherapi/sunrise/1.1/documentation
++  https://api.met.no/weatherapi/locationforecastlts/1.3/documentation
++  https://api.met.no/weatherapi/sunrise/1.1/documentation
+ 
+ For more technical details you might need to study the XML schema
+ corresponding to the document in question.
+diff --git a/panel-plugin/weather-summary.c b/panel-plugin/weather-summary.c
+index 1181543..5c755f8 100644
+--- a/panel-plugin/weather-summary.c
++++ b/panel-plugin/weather-summary.c
+@@ -304,7 +304,7 @@ weather_summary_get_logo(plugin_data *data)
+     g_free(path);
+     if (pixbuf == NULL)
+         weather_http_queue_request(data->session,
+-                                   "http://met.no/filestore/met.no-logo.gif";,
++                                   "https://met.no/filestore/met.no-logo.gif";,
+                                    logo_fetched, image);
+     else {
+         gtk_image_set_from_pixbuf(GTK_IMAGE(image), pixbuf);
+diff --git a/panel-plugin/weather-translate.c 
b/panel-plugin/weather-translate.c
+index a26a9d1..3803099 100644
+--- a/panel-plugin/weather-translate.c
++++ b/panel-plugin/weather-translate.c
+@@ -108,7 +108,7 @@ typedef struct {
+ static const symbol_desc symbol_to_desc[] = {
+     /*
+      * TRANSLATORS: How these symbols are named and defined is explained at
+-     * http://om.yr.no/forklaring/symbol/ and 
http://api.yr.no/faq.html#symbols.
++     * http://om.yr.no/forklaring/symbol/ and 
https://api.met.no/faq.html#symbols.
+      * To be more concise / shorter, the plugin uses names that deviate a bit 
from yr.no, so that
+      * they fit well in the tooltip, forecast tab etc.
+      *
+-- 
+2.11.0
+
diff -Nru 
xfce4-weather-plugin-0.8.3/debian/patches/git_support-locationforecast-1.2.patch
 
xfce4-weather-plugin-0.8.3/debian/patches/git_support-locationforecast-1.2.patch
--- 
xfce4-weather-plugin-0.8.3/debian/patches/git_support-locationforecast-1.2.patch
    2014-10-02 06:20:08.000000000 +0200
+++ 
xfce4-weather-plugin-0.8.3/debian/patches/git_support-locationforecast-1.2.patch
    1970-01-01 01:00:00.000000000 +0100
@@ -1,151 +0,0 @@
-From 1ff71669644a0b824a8a5ba9b40771ee4fb8a76b Mon Sep 17 00:00:00 2001
-From: Harald Judt <h.j...@gmx.at>
-Date: Wed, 28 May 2014 20:08:02 +0200
-Subject: Make plugin ready for met.no locationforecast-1.2 API (bug #10916).
-
-http://api.yr.no/weatherapi/locationforecastlts/1.1/documentation#version_1_2___2014_05_20
-
-The updated API version uses CamelCase symbol names instead of UPPERCASE
-ones and has added some new names (like 'Drizzle'), which unfortunately
-have not been documented (yet?).
-
-What's more, the typo 'celcius' has been replaced by the fixed 'celsius',
-but luckily the plugin will not be affected by that change.
-
-What's a bit more unfortunate is that the existing icon themes do not
-cover the new symbol names, so one would have to create quite a lot of
-new icons. Also, new translations would have to be added for the symbols,
-and maybe existing ones would have to be altered. To prevent this, we're
-simply going to map the new symbols to existing ones as good as possible.
-This should be good enough for the time being.
-
----
- panel-plugin/weather-parsers.c   |    3 +
- panel-plugin/weather-translate.c |   70 
++++++++++++++++++++++++++++++++++++++-
- panel-plugin/weather-translate.h |    2 +
- 3 files changed, 73 insertions(+), 2 deletions(-)
-
---- a/panel-plugin/weather-parsers.c
-+++ b/panel-plugin/weather-parsers.c
-@@ -28,6 +28,7 @@
- #define _XOPEN_SOURCE
- #define _XOPEN_SOURCE_EXTENDED 1
- #include "weather-parsers.h"
-+#include "weather-translate.h"
- #include "weather-debug.h"
- 
- #include <time.h>
-@@ -196,8 +197,8 @@ parse_location(xmlNode *cur_node,
-         }
-         if (NODE_IS_TYPE(child_node, "symbol")) {
-             g_free(loc->symbol);
--            loc->symbol = PROP(child_node, "id");
-             loc->symbol_id = strtol(PROP(child_node, "number"), NULL, 10);
-+            loc->symbol = g_strdup(get_symbol_for_id(loc->symbol_id));
-         }
-     }
- 
---- a/panel-plugin/weather-translate.c
-+++ b/panel-plugin/weather-translate.c
-@@ -29,6 +29,7 @@
- #include "weather-translate.h"
- 
- #define DAY_LOC_N (sizeof(gchar) * 100)
-+#define NODATA "NODATA"
- 
- 
- static const gchar *wdirs[] = {
-@@ -169,7 +170,7 @@ static const symbol_desc symbol_to_desc[
- 
-     { 15, "FOG",                 N_("Fog"),                        N_("Fog")  
                      },
- 
--    /* Symbols 16-19 are used for polar days */
-+    /* Symbols 16-19 are used for polar days (unused beginning with API 
version 1.2) */
-     { 16, "SUN",                 N_("Sunny"),                      
N_("Clear")                      },
-     { 17, "LIGHTCLOUD",          N_("Lightly cloudy"),             
N_("Lightly cloudy")             },
-     { 18, "LIGHTRAINSUN",        N_("Rain showers"),               N_("Rain 
showers")               },
-@@ -185,6 +186,73 @@ static const symbol_desc symbol_to_desc[
- #define NUM_SYMBOLS (sizeof(symbol_to_desc) / sizeof(symbol_to_desc[0]))
- 
- 
-+/*
-+ * API version 1.2, published in May 2014, introduced new symbols. We
-+ * try to match these with existing symbols, in order to be compatible
-+ * with existing icon themes and to maintain translation completeness.
-+ *
-+ * See http://api.met.no/weatherapi/weathericon/1.1/documentation
-+ * for a list of symbols. For a list of symbols with descriptions,
-+ * see http://om.yr.no/forklaring/symbol.
-+ */
-+gint
-+replace_symbol_id(gint id)
-+{
-+    /* Symbol ids greater than 100 are used for indicating polar
-+     * night. These ids are over the ordinary id + 100. Since we
-+     * don't support polar icons, we can simply subtract 100 to
-+     * get the non-polar symbol ids.
-+     */
-+    if (id > 100)
-+        id -= 100;
-+
-+    switch (id) {
-+    case 24: return 22; /* Light rain showers and thunder */
-+    case 25: return 6;  /* Heavy rain showers and thunder */
-+    case 26: return 20; /* Light sleet showers and thunder */
-+    case 27: return 20; /* Heavy sleet showers and thunder */
-+    case 28: return 21; /* Light snow showers and thunder */
-+    case 29: return 21; /* Heavy snow showers and thunder */
-+    case 30: return 22; /* Light rain and thunder */
-+    case 31: return 23; /* Light sleet and thunder */
-+    case 32: return 23; /* Heavy sleet and thunder */
-+    case 33: return 14; /* Light snow and thunder */
-+    case 34: return 14; /* Heavy snow and thunder */
-+
-+    /* symbols 35-39 are unused */
-+
-+    case 40: return 5;  /* Light rain showers */
-+    case 41: return 5;  /* Heavy rain showers */
-+    case 42: return 7;  /* Light sleet showers */
-+    case 43: return 7;  /* Heavy sleet showers */
-+    case 44: return 8;  /* Light snow showers */
-+    case 45: return 8;  /* Heavy snow showers */
-+    case 46: return 9;  /* Light rain */
-+    case 47: return 12; /* Light sleet */
-+    case 48: return 12; /* Heavy sleet */
-+    case 49: return 13; /* Light snow */
-+    case 50: return 13; /* Heavy snow */
-+    default: return id;
-+    }
-+}
-+
-+
-+const gchar *
-+get_symbol_for_id(gint id)
-+{
-+    if (G_UNLIKELY(id < 1))
-+        return NODATA;
-+
-+    if (id >= NUM_SYMBOLS)
-+        id = replace_symbol_id(id);
-+
-+    if (id < NUM_SYMBOLS)
-+        return symbol_to_desc[id-1].symbol;
-+
-+    return NODATA;
-+}
-+
-+
- const gchar *
- translate_desc(const gchar *desc,
-                const gboolean nighttime)
---- a/panel-plugin/weather-translate.h
-+++ b/panel-plugin/weather-translate.h
-@@ -24,6 +24,8 @@
- 
- G_BEGIN_DECLS
- 
-+const gchar *get_symbol_for_id(gint id);
-+
- const gchar *translate_desc(const gchar *desc,
-                             gboolean nighttime);
- 
diff -Nru 
xfce4-weather-plugin-0.8.3/debian/patches/git_use-locationforecast-1.2.patch 
xfce4-weather-plugin-0.8.3/debian/patches/git_use-locationforecast-1.2.patch
--- 
xfce4-weather-plugin-0.8.3/debian/patches/git_use-locationforecast-1.2.patch    
    2014-10-02 06:20:08.000000000 +0200
+++ 
xfce4-weather-plugin-0.8.3/debian/patches/git_use-locationforecast-1.2.patch    
    1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-From 7df303bc5fa649299e18efeb5d4b801614030488 Mon Sep 17 00:00:00 2001
-From: Harald Judt <h.j...@gmx.at>
-Date: Tue, 3 Jun 2014 19:59:05 +0200
-Subject: Switch to met.no locationforecastLTS-1.2 API (bug #10916).
-
-
-diff --git a/panel-plugin/weather.c b/panel-plugin/weather.c
-index efa8559..63451fd 100644
---- a/panel-plugin/weather.c
-+++ b/panel-plugin/weather.c
-@@ -660,7 +660,7 @@ update_handler(plugin_data *data)
-         /* build url */
-         url =
-             g_strdup_printf("http://api.yr.no/weatherapi";
--                            "/locationforecastlts/1.1/?lat=%s;lon=%s;msl=%d",
-+                            "/locationforecastlts/1.2/?lat=%s;lon=%s;msl=%d",
-                             data->lat, data->lon, data->msl);
- 
-         /* start receive thread */
--- 
-cgit v0.10.1
diff -Nru xfce4-weather-plugin-0.8.3/debian/patches/series 
xfce4-weather-plugin-0.8.3/debian/patches/series
--- xfce4-weather-plugin-0.8.3/debian/patches/series    2014-10-02 
06:20:08.000000000 +0200
+++ xfce4-weather-plugin-0.8.3/debian/patches/series    2017-05-12 
10:23:43.000000000 +0200
@@ -1,5 +1,10 @@
 01_link-libm.patch
 02_fix-color-parsing.patch
 03_fix-panel-icon-size.patch
-git_support-locationforecast-1.2.patch
-git_use-locationforecast-1.2.patch
+0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch
+0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch
+0003-Update-NEWS-and-README.patch
+0004-Update-URL-for-sunrise-API-to-point-to-version-1.1-b.patch
+0005-Update-http-api.yr.no-URLs-to-https-api.met.no.patch
+0006-Bump-LocationforecastLTS-version-to-1.3.patch
+0007-Change-more-URLs-from-http-yr.no-to-https-met.no.patch

Reply via email to