diff options
| author | prabinpanta0 <pantaprabin30@gmail.com> | 2025-10-28 16:41:43 +0545 |
|---|---|---|
| committer | prabinpanta0 <pantaprabin30@gmail.com> | 2025-10-28 16:41:43 +0545 |
| commit | 2b750637da39e4418132c70c2b53c4070a813a84 (patch) | |
| tree | f381cfe42cc77c1db3c796ec87b39c6745acfcb5 /config/hypr/UserScripts | |
| parent | 05ca56247aae6cbc4e36cbf8bb8b39507d26dd64 (diff) | |
feat(weatherWrap): add Python‑first entrypoint with Bash fallback
- Prefer Weather.py (Open‑Meteo) for reliable data and caching
- Fallback to Weather.sh if Python is missing or Weather.py exits non‑zero
- Pass through all CLI args; invoke Bash explicitly for consistent execution
- Helps external callers (e.g., lock hooks) refresh ~/.cache/.weather_cache robustly
Diffstat (limited to 'config/hypr/UserScripts')
| -rwxr-xr-x | config/hypr/UserScripts/weatherWrap.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/config/hypr/UserScripts/weatherWrap.sh b/config/hypr/UserScripts/weatherWrap.sh new file mode 100755 index 00000000..4c9a16dc --- /dev/null +++ b/config/hypr/UserScripts/weatherWrap.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## +# Weather entrypoint: prefer Python (Open‑Meteo), fallback to legacy Bash (wttr.in) + +SCRIPT_DIR="$(dirname "$0")" +PY_SCRIPT="$SCRIPT_DIR/Weather.py" +BASH_FALLBACK="$SCRIPT_DIR/Weather.sh" + +run_fallback() { + if [ -f "$BASH_FALLBACK" ]; then + # Invoke via bash to avoid requiring +x and ensure consistent shell + bash "$BASH_FALLBACK" "$@" + return $? + else + echo "Weather fallback not found: $BASH_FALLBACK" >&2 + return 127 + fi +} + +if command -v python3 >/dev/null 2>&1; then + python3 "$PY_SCRIPT" "$@" + exit_code=$? + if [ "$exit_code" -eq 0 ]; then + exit 0 + fi + echo "Weather.py failed with code $exit_code — falling back to Weather.sh" >&2 + run_fallback "$@" + exit $? +else + echo "python3 not found in PATH — falling back to Weather.sh" >&2 + run_fallback "$@" + exit $? +fi
\ No newline at end of file |
