From dbd289762ad9cf701bd121e9b1f0c734577cb6ee Mon Sep 17 00:00:00 2001 From: Martin Eyben Date: Wed, 27 Nov 2024 20:27:21 +0000 Subject: [PATCH] fix: WMOcode for openmeteo implmentation --- src/main/java/eirb/pg203/OpenMeteo.java | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/main/java/eirb/pg203/OpenMeteo.java b/src/main/java/eirb/pg203/OpenMeteo.java index b3ff99e..6191992 100644 --- a/src/main/java/eirb/pg203/OpenMeteo.java +++ b/src/main/java/eirb/pg203/OpenMeteo.java @@ -44,18 +44,20 @@ public class OpenMeteo implements WeatherDataAPI { return JSONFetcher.fetch(url); } + /** + * return condition based on the WMOCode + * table can be find here : https://open-meteo.com/en/docs (at the end) + * @param WMOCode id code + * @return weather condition + */ private static Condition getConditionFromCode(int WMOCode) { - // TODO Wesh Nemo c'est quoi cette merde ? - if (WMOCode == 2 ) - return Condition.PARTIAL; - if (WMOCode < 20) - return Condition.SUNNY; - else if (WMOCode < 30) - return Condition.RAINY; - else if (WMOCode < 50) - return Condition.CLOUDY; - else - return Condition.RAINY; + return switch (WMOCode) { + case 0, 1 -> Condition.SUNNY; + case 2 -> Condition.PARTIAL; + case 3 -> Condition.CLOUDY; + case 61, 63, 65, 80, 81, 82 -> Condition.RAINY; + default -> Condition.ERROR; + }; }