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