fix writing in watch_status.json
All checks were successful
Docker Build Smart Logic / Build amd64 & arm64 (push) Successful in 16s

This commit is contained in:
2026-02-06 23:26:47 +01:00
parent f7c3549ccb
commit 969716d60e

View File

@@ -55,18 +55,22 @@ while true; do
fi fi
# Logik: Wenn kein alter Wert da ist ODER der neue Wert anders ist # Logik: Wenn kein alter Wert da ist ODER der neue Wert anders ist
if [ -z "$OLD_VAL" ]; then if [ -z "$OLD_VAL" ] || [ "$OLD_VAL" != "$NEW_VAL" ]; then
echo " 🆕 Erstaufnahme in Datenbank." if [ -z "$OLD_VAL" ]; then
# Wir schreiben hier sofort, damit der Zustand gespeichert wird echo " 🆕 Erstaufnahme in Datenbank."
TEMP_JSON=$(jq ".[\"$KEY\"] = \"$NEW_VAL\"" "$STATE_FILE") else
echo "$TEMP_JSON" > "$STATE_FILE" echo " 🔔 Update gefunden!"
elif [ "$OLD_VAL" != "$NEW_VAL" ]; then UPDATES_FOUND="${UPDATES_FOUND}Update für $REPO ($EXTRA)\n"
MSG="Update für $REPO ($EXTRA)! Alt: $OLD_VAL | Neu: $NEW_VAL" fi
echo " 🔔 $MSG"
UPDATES_FOUND="${UPDATES_FOUND}${MSG}\n" # SICHERES SCHREIBEN:
# Wert aktualisieren # Wir schreiben in eine temporäre Datei und verschieben diese dann.
TEMP_JSON=$(jq ".[\"$KEY\"] = \"$NEW_VAL\"" "$STATE_FILE") if TEMP_DATA=$(jq ".[\"$KEY\"] = \"$NEW_VAL\"" "$STATE_FILE" 2>&1); then
echo "$TEMP_JSON" > "$STATE_FILE" echo "$TEMP_DATA" > "${STATE_FILE}.tmp" && mv "${STATE_FILE}.tmp" "$STATE_FILE"
echo " 💾 Datei erfolgreich aktualisiert."
else
echo " ❌ JQ FEHLER: $TEMP_DATA"
fi
else else
echo " ✅ Aktuell." echo " ✅ Aktuell."
fi fi