From 6ebc8a1855f37f45a2e77c18bbc13a73d69b88b8 Mon Sep 17 00:00:00 2001 From: Pranshul Date: Fri, 13 Dec 2024 21:10:06 +0530 Subject: [PATCH] implemented new database for every provider --- app/src/main/assets/providers/bomAustralia.js | 32 +++++++++++------ app/src/main/assets/providers/cmaChina.js | 27 ++++++++------- app/src/main/assets/providers/dmiDenmark.js | 33 +++++++++++------- app/src/main/assets/providers/dwdGermany.js | 32 +++++++++++------ app/src/main/assets/providers/ecmwf.js | 27 ++++++++------- app/src/main/assets/providers/gemCanada.js | 34 ++++++++++++------- app/src/main/assets/providers/jmaJapan.js | 28 ++++++++------- .../main/assets/providers/knmiNetherlands.js | 33 +++++++++++------- app/src/main/assets/providers/meteo-france.js | 34 ++++++++++++------- app/src/main/assets/providers/noaaUS.js | 28 ++++++++------- app/src/main/assets/providers/ukMetOffice.js | 33 +++++++++++------- 11 files changed, 207 insertions(+), 134 deletions(-) diff --git a/app/src/main/assets/providers/bomAustralia.js b/app/src/main/assets/providers/bomAustralia.js index ee012055b..82a1d4344 100644 --- a/app/src/main/assets/providers/bomAustralia.js +++ b/app/src/main/assets/providers/bomAustralia.js @@ -1,15 +1,25 @@ // fetch using BOM Australia +async function FetchbomAustralia( + lat, + lon, + timezone, + suggestionText, + refreshValue +) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=bom_access_global&forecast_days=7&forecast_hours=24` + ); + const data = await response.json(); -function FetchbomAustralia(lat, lon, timezone, suggestionText, refreshValue) { + await customStorage.setItem( + `WeatherDatabomAustralia_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=bom_access_global&forecast_days=7&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDatabomAustralia_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +} diff --git a/app/src/main/assets/providers/cmaChina.js b/app/src/main/assets/providers/cmaChina.js index b01043fb2..f1220f27a 100644 --- a/app/src/main/assets/providers/cmaChina.js +++ b/app/src/main/assets/providers/cmaChina.js @@ -1,15 +1,18 @@ // fetch using CMA China +async function FetchcmaChina(lat, lon, timezone, suggestionText, refreshValue) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=cma_grapes_global&forecast_days=7&forecast_hours=24` + ); + const data = await response.json(); + await customStorage.setItem( + `WeatherDatacmaChina_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); -function FetchcmaChina(lat, lon, timezone, suggestionText, refreshValue) { - - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=cma_grapes_global&forecast_days=7&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDatacmaChina_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +} diff --git a/app/src/main/assets/providers/dmiDenmark.js b/app/src/main/assets/providers/dmiDenmark.js index 954b5713d..31ff15ea1 100644 --- a/app/src/main/assets/providers/dmiDenmark.js +++ b/app/src/main/assets/providers/dmiDenmark.js @@ -1,15 +1,24 @@ // fetch using DMI Denmark +async function FetchdmiDenmark( + lat, + lon, + timezone, + suggestionText, + refreshValue +) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=dmi_seamless&forecast_days=7&forecast_hours=24` + ); + const data = await response.json(); + await customStorage.setItem( + `WeatherDatadmiDenmark_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); -function FetchdmiDenmark(lat, lon, timezone, suggestionText, refreshValue) { - - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=dmi_seamless&forecast_days=7&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDatadmiDenmark_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +} diff --git a/app/src/main/assets/providers/dwdGermany.js b/app/src/main/assets/providers/dwdGermany.js index 0c4aff04e..cd37549eb 100644 --- a/app/src/main/assets/providers/dwdGermany.js +++ b/app/src/main/assets/providers/dwdGermany.js @@ -1,14 +1,24 @@ // fetch using dwdGermany +async function FetchDWDGermany( + lat, + lon, + timezone, + suggestionText, + refreshValue +) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=icon_seamless&forecast_days=7&forecast_hours=24` + ); + const data = await response.json(); + await customStorage.setItem( + `WeatherDataDWDGermany_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); -function FetchDWDGermany(lat, lon, timezone, suggestionText, refreshValue) { - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=icon_seamless&forecast_days=7&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDataDWDGermany_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +} diff --git a/app/src/main/assets/providers/ecmwf.js b/app/src/main/assets/providers/ecmwf.js index d34882b38..3848989d6 100644 --- a/app/src/main/assets/providers/ecmwf.js +++ b/app/src/main/assets/providers/ecmwf.js @@ -1,15 +1,18 @@ // fetch using ECMWF +async function FetchECMWF(lat, lon, timezone, suggestionText, refreshValue) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=ecmwf_ifs025&forecast_days=7&forecast_hours=24` + ); + const data = await response.json(); + await customStorage.setItem( + `WeatherDataECMWF_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); -function FetchECMWF(lat, lon, timezone, suggestionText, refreshValue) { - - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=ecmwf_ifs025&forecast_days=7&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDataECMWF_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +} diff --git a/app/src/main/assets/providers/gemCanada.js b/app/src/main/assets/providers/gemCanada.js index e772c5396..859bc2f04 100644 --- a/app/src/main/assets/providers/gemCanada.js +++ b/app/src/main/assets/providers/gemCanada.js @@ -1,16 +1,24 @@ // fetch using GEM Canada +async function FetchgemCanada( + lat, + lon, + timezone, + suggestionText, + refreshValue +) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=gem_seamless&forecast_days=7&forecast_hours=24` + ); + const data = await response.json(); + await customStorage.setItem( + `WeatherDatagemCanada_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); -function FetchgemCanada(lat, lon, timezone, suggestionText, refreshValue) { - - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=gem_seamless&forecast_days=7&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDatagemCanada_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +} diff --git a/app/src/main/assets/providers/jmaJapan.js b/app/src/main/assets/providers/jmaJapan.js index a0ffd4c8f..8a23ab137 100644 --- a/app/src/main/assets/providers/jmaJapan.js +++ b/app/src/main/assets/providers/jmaJapan.js @@ -1,16 +1,18 @@ // fetch using JMA Japan +async function FetchJMAJapan(lat, lon, timezone, suggestionText, refreshValue) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=jma_seamless&forecast_days=7&forecast_hours=24` + ); + const data = await response.json(); + await customStorage.setItem( + `WeatherDataJMAJapan_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); -function FetchJMAJapan(lat, lon, timezone, suggestionText, refreshValue) { - - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=jma_seamless&forecast_days=7&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDataJMAJapan_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +} diff --git a/app/src/main/assets/providers/knmiNetherlands.js b/app/src/main/assets/providers/knmiNetherlands.js index cc200c945..f3780487d 100644 --- a/app/src/main/assets/providers/knmiNetherlands.js +++ b/app/src/main/assets/providers/knmiNetherlands.js @@ -1,15 +1,24 @@ // fetch using KNMI Netherlands +async function FetchknmiNetherlands( + lat, + lon, + timezone, + suggestionText, + refreshValue +) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=knmi_seamless&forecast_days=7&forecast_hours=24` + ); + const data = await response.json(); + await customStorage.setItem( + `WeatherDataknmiNetherlands_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); -function FetchknmiNetherlands(lat, lon, timezone, suggestionText, refreshValue) { - - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=knmi_seamless&forecast_days=7&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDataknmiNetherlands_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +} diff --git a/app/src/main/assets/providers/meteo-france.js b/app/src/main/assets/providers/meteo-france.js index ac807b5e1..0674cba09 100644 --- a/app/src/main/assets/providers/meteo-france.js +++ b/app/src/main/assets/providers/meteo-france.js @@ -1,16 +1,24 @@ // fetch using meteo france +async function FetchMeteoFrance( + lat, + lon, + timezone, + suggestionText, + refreshValue +) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=meteofrance_seamless&forecast_days=4&forecast_hours=24` + ); + const data = await response.json(); + await customStorage.setItem( + `WeatherDataMeteoFrance_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); -function FetchMeteoFrance(lat, lon, timezone, suggestionText, refreshValue) { - - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=meteofrance_seamless&forecast_days=4&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDataMeteoFrance_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +} diff --git a/app/src/main/assets/providers/noaaUS.js b/app/src/main/assets/providers/noaaUS.js index e77fdc824..ac29193c6 100644 --- a/app/src/main/assets/providers/noaaUS.js +++ b/app/src/main/assets/providers/noaaUS.js @@ -1,16 +1,18 @@ // fetch using NOAA U.S. +async function FetchNOAAUS(lat, lon, timezone, suggestionText, refreshValue) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=gfs_seamless&forecast_days=7&forecast_hours=24` + ); + const data = await response.json(); + await customStorage.setItem( + `WeatherDataNOAAUS_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); -function FetchNOAAUS(lat, lon, timezone, suggestionText, refreshValue) { - - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=gfs_seamless&forecast_days=7&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDataNOAAUS_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +} diff --git a/app/src/main/assets/providers/ukMetOffice.js b/app/src/main/assets/providers/ukMetOffice.js index faab46135..0d2cb1322 100644 --- a/app/src/main/assets/providers/ukMetOffice.js +++ b/app/src/main/assets/providers/ukMetOffice.js @@ -1,15 +1,24 @@ // fetch using ukMetOffice +async function FetchukMetOffice( + lat, + lon, + timezone, + suggestionText, + refreshValue +) { + try { + const response = await fetch( + `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=ukmo_seamless&forecast_days=7&forecast_hours=24` + ); + const data = await response.json(); + await customStorage.setItem( + `WeatherDataukMetOffice_${suggestionText}`, + JSON.stringify(data, new Date().toISOString()) + ); -function FetchukMetOffice(lat, lon, timezone, suggestionText, refreshValue) { - - - fetch(`https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t=temperature_2m,is_day,apparent_temperature,pressure_msl,relative_humidity_2m,precipitation,weather_code,cloud_cover,wind_speed_10m,wind_direction_10m,wind_gusts_10m&hourly=wind_speed_10m,wind_direction_10m,relative_humidity_2m,pressure_msl,cloud_cover,temperature_2m,dew_point_2m,apparent_temperature,precipitation_probability,precipitation,weather_code,visibility,uv_index&daily=weather_code,temperature_2m_max,temperature_2m_min,sunrise,sunset,daylight_duration,uv_index_max,precipitation_sum,daylight_duration,precipitation_probability_max,precipitation_hours,wind_speed_10m_max,wind_gusts_10m_max&timezone=${timezone}&models=ukmo_seamless&forecast_days=7&forecast_hours=24`) - .then(response => response.json()) - .then(data => { - - localStorage.setItem(`WeatherDataukMetOffice_${suggestionText}`, JSON.stringify(data, new Date().toISOString())) - - renderLatestData(lat, lon, suggestionText, refreshValue) - }) - } \ No newline at end of file + renderLatestData(lat, lon, suggestionText, refreshValue); + } catch (error) { + console.error("Error fetching or storing data:", error); + } +}