Make sure smhi provider api only gets a maximimum of 6 digits coordinates (#2956)

Fixes #2955

Co-authored-by: veeck <michael@veeck.de>
This commit is contained in:
Veeck 2022-10-24 20:27:18 +02:00 committed by GitHub
parent 2d3940a4ff
commit dde88601a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 4 deletions

View File

@ -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

View File

@ -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`;
},