From f930ca046894ab12bb5907ffc9b4e5cbd3a5a2e4 Mon Sep 17 00:00:00 2001 From: prabinpanta0 Date: Mon, 27 Oct 2025 11:05:44 +0545 Subject: config(hypr): skip empty place parts and simplify place selection using or-chaining Use truthy checks when building Open-Meteo place parts (ignore empty strings) and replace verbose None-check ternaries with `or` chains when resolving the effective place (prefer MANUAL_PLACE, then ENV_PLACE, then cached/fetched place). --- config/hypr/UserScripts/Weather.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/hypr/UserScripts/Weather.py b/config/hypr/UserScripts/Weather.py index 6189c647..7e350c30 100755 --- a/config/hypr/UserScripts/Weather.py +++ b/config/hypr/UserScripts/Weather.py @@ -430,11 +430,11 @@ def extract_place_parts_open_meteo(p: JSONDict) -> List[str]: admin1 = cast(Optional[str], p.get("admin1")) country = cast(Optional[str], p.get("country")) parts: List[str] = [] - if name is not None: + if name: parts.append(name) - if admin1 is not None: + if admin1: parts.append(admin1) - if country is not None: + if country: parts.append(country) return parts @@ -775,7 +775,7 @@ def try_cached_weather(lat: float, lon: float) -> Optional[Tuple[Dict[str, str], aqi = cast(Optional[Dict[str, Any]], cached.get("aqi")) place_val = cached.get("place") cached_place = place_val if isinstance(place_val, str) else None - place_effective = MANUAL_PLACE if MANUAL_PLACE is not None else (ENV_PLACE if ENV_PLACE is not None else cached_place) + place_effective = MANUAL_PLACE or ENV_PLACE or cached_place try: return build_output(Location(lat, lon, place_effective), forecast, aqi) except Exception as e: @@ -787,7 +787,7 @@ def fetch_fresh_weather(lat: float, lon: float) -> Optional[Tuple[Dict[str, str] try: forecast = fetch_open_meteo(lat, lon) aqi = fetch_aqi(lat, lon) - place_effective = MANUAL_PLACE if MANUAL_PLACE is not None else (ENV_PLACE if ENV_PLACE is not None else fetch_place(lat, lon)) + place_effective = MANUAL_PLACE or ENV_PLACE or fetch_place(lat, lon) write_api_cache({"forecast": forecast, "aqi": aqi, "place": place_effective}) return build_output(Location(lat, lon, place_effective), forecast, aqi) except Exception as e: @@ -803,7 +803,7 @@ def try_stale_weather(lat: float, lon: float) -> Optional[Tuple[Dict[str, str], stale_dict = ensure_dict(stale) place_val = stale_dict.get("place") place = place_val if isinstance(place_val, str) else None - place_effective = MANUAL_PLACE if MANUAL_PLACE is not None else (ENV_PLACE if ENV_PLACE is not None else place) + place_effective = MANUAL_PLACE or ENV_PLACE or place forecast = cast(Optional[Dict[str, Any]], stale_dict.get("forecast")) aqi = cast(Optional[Dict[str, Any]], stale_dict.get("aqi")) return build_output(Location(lat, lon, place_effective), forecast, aqi) -- cgit v1.2.3