From dde88601a6a1ace85d6d35ff7a314ed7d3ade8fe Mon Sep 17 00:00:00 2001 From: Veeck Date: Mon, 24 Oct 2022 20:27:18 +0200 Subject: [PATCH] Make sure smhi provider api only gets a maximimum of 6 digits coordinates (#2956) Fixes #2955 Co-authored-by: veeck --- CHANGELOG.md | 1 + modules/default/weather/providers/smhi.js | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c3b26e5d..7f16669a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ Special thanks to: @rejas, @sdetweil - Updated e2e tests (moved `done()` in helper functions) and use es6 syntax in all tests - Updated da translation - Rework weather module + - Make sure smhi provider api only gets a maximum of 6 digits coordinates (#2955) - Use fetch instead of XMLHttpRequest in weatherprovider - Reworked how weatherproviders handle units - Use unix() method for parsing times, fix suntimes on the way diff --git a/modules/default/weather/providers/smhi.js b/modules/default/weather/providers/smhi.js index bb0d2cb2..c3f51498 100644 --- a/modules/default/weather/providers/smhi.js +++ b/modules/default/weather/providers/smhi.js @@ -15,8 +15,8 @@ WeatherProvider.register("smhi", { // Set the default config properties that is specific to this provider defaults: { - lat: 0, - lon: 0, + lat: 0, // Cant have more than 6 digits + lon: 0, // Cant have more than 6 digits precipitationValue: "pmedian", location: false }, @@ -104,8 +104,12 @@ WeatherProvider.register("smhi", { * @returns {string} the url for the specified coordinates */ getURL() { - let lon = this.config.lon; - let lat = this.config.lat; + const formatter = new Intl.NumberFormat("en-US", { + minimumFractionDigits: 6, + maximumFractionDigits: 6 + }); + const lon = formatter.format(this.config.lon); + const lat = formatter.format(this.config.lat); return `https://opendata-download-metfcst.smhi.se/api/category/pmp3g/version/2/geotype/point/lon/${lon}/lat/${lat}/data.json`; },