mirror of
https://github.com/Terranom674/Piwigo_Bratonien_Tools.git
synced 2026-09-19 18:44:30 +00:00
0.9.5.1: Runtime nach Verbindungsquelle trennen
This commit is contained in:
@@ -11,6 +11,17 @@ source "$CONFIG_FILE"
|
|||||||
|
|
||||||
NC_ACTIVITY_VIEW="${NC_ACTIVITY_VIEW:-piwigo_showcase_activity}"
|
NC_ACTIVITY_VIEW="${NC_ACTIVITY_VIEW:-piwigo_showcase_activity}"
|
||||||
NC_DB_VIEW="${NC_DB_VIEW:-piwigo_showcase_sources}"
|
NC_DB_VIEW="${NC_DB_VIEW:-piwigo_showcase_sources}"
|
||||||
|
SOURCE_MODE="${SOURCE_MODE:-showcase-view}"
|
||||||
|
ACCESS_USER="${ACCESS_USER:-}"
|
||||||
|
|
||||||
|
case "$SOURCE_MODE" in
|
||||||
|
showcase-view|user-filesystem) ;;
|
||||||
|
*) echo "Unbekannter SOURCE_MODE: $SOURCE_MODE" >&2; exit 1 ;;
|
||||||
|
esac
|
||||||
|
if [[ "$SOURCE_MODE" == "user-filesystem" && -z "$ACCESS_USER" ]]; then
|
||||||
|
echo "ACCESS_USER fehlt fuer die benutzerbezogene Verbindung." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -n "$PIWIGO_SYNC_OVERRIDE_VALUE" ]]; then
|
if [[ -n "$PIWIGO_SYNC_OVERRIDE_VALUE" ]]; then
|
||||||
case "$PIWIGO_SYNC_OVERRIDE_VALUE" in
|
case "$PIWIGO_SYNC_OVERRIDE_VALUE" in
|
||||||
@@ -165,7 +176,13 @@ if [[ "$NEEDS_LOCAL_REPAIR" == "0" && "${PIWIGO_SYNC_ENABLED:-0}" == "1" ]]; the
|
|||||||
[[ "$PIWIGO_ALBUMS_INTACT" == "0" ]] || NEEDS_LOCAL_REPAIR=1
|
[[ "$PIWIGO_ALBUMS_INTACT" == "0" ]] || NEEDS_LOCAL_REPAIR=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$NEEDS_LOCAL_REPAIR" == "1" ]]; then
|
if [[ "$SOURCE_MODE" == "user-filesystem" ]]; then
|
||||||
|
# Benutzerbezogene Verbindungen werden pro Timerlauf aus ihrem eigenen
|
||||||
|
# lokalen Home-Dateibaum aufgebaut. Die alte globale Showcase-Aktivitaets-
|
||||||
|
# View darf hier weder Daten anderer Benutzer steuern noch Aenderungen
|
||||||
|
# dieses Benutzers verschlucken.
|
||||||
|
GATE_RESULT=0
|
||||||
|
elif [[ "$NEEDS_LOCAL_REPAIR" == "1" ]]; then
|
||||||
GATE_RESULT=0
|
GATE_RESULT=0
|
||||||
else
|
else
|
||||||
ERROR_STAGE="Nextcloud-Aktivität prüfen"
|
ERROR_STAGE="Nextcloud-Aktivität prüfen"
|
||||||
@@ -199,13 +216,21 @@ if [[ "$GATE_RESULT" != "0" ]]; then
|
|||||||
exit "$GATE_RESULT"
|
exit "$GATE_RESULT"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
run_stage \
|
if [[ "$SOURCE_MODE" == "user-filesystem" ]]; then
|
||||||
"Nextcloud-Dateiliste lesen" \
|
run_stage \
|
||||||
"Dateiliste aus Nextcloud konnte nicht erstellt werden" \
|
"Benutzer-Dateiliste lesen" \
|
||||||
python3 "$SCRIPT_DIR/lib/build_manifest.py" \
|
"Dateiliste des Nextcloud-Benutzers konnte nicht erstellt werden" \
|
||||||
--host "$NC_DB_HOST" --port "$NC_DB_PORT" --database "$NC_DB_NAME" --user "$NC_DB_USER" \
|
python3 "$SCRIPT_DIR/lib/build_user_manifest.py" \
|
||||||
--password-file "$NC_DB_PASSWORD_FILE" --view "$NC_DB_VIEW" \
|
--storage-config "$STORAGE_CONFIG" --output "$MANIFEST"
|
||||||
--storage-config "$STORAGE_CONFIG" --output "$MANIFEST"
|
else
|
||||||
|
run_stage \
|
||||||
|
"Nextcloud-Dateiliste lesen" \
|
||||||
|
"Dateiliste aus Nextcloud konnte nicht erstellt werden" \
|
||||||
|
python3 "$SCRIPT_DIR/lib/build_manifest.py" \
|
||||||
|
--host "$NC_DB_HOST" --port "$NC_DB_PORT" --database "$NC_DB_NAME" --user "$NC_DB_USER" \
|
||||||
|
--password-file "$NC_DB_PASSWORD_FILE" --view "$NC_DB_VIEW" \
|
||||||
|
--storage-config "$STORAGE_CONFIG" --output "$MANIFEST"
|
||||||
|
fi
|
||||||
|
|
||||||
run_stage \
|
run_stage \
|
||||||
"Lokalen Galeriebaum aktualisieren" \
|
"Lokalen Galeriebaum aktualisieren" \
|
||||||
@@ -261,27 +286,29 @@ if [[ "${PIWIGO_SYNC_ENABLED:-0}" == "1" ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ERROR_STAGE="Aktivitätsstand speichern"
|
if [[ "$SOURCE_MODE" != "user-filesystem" ]]; then
|
||||||
ERROR_MESSAGE="Aktivitätsstand konnte nicht gespeichert werden"
|
ERROR_STAGE="Aktivitätsstand speichern"
|
||||||
if COMMIT_OUTPUT="$(python3 "$SCRIPT_DIR/lib/activity_gate.py" commit \
|
ERROR_MESSAGE="Aktivitätsstand konnte nicht gespeichert werden"
|
||||||
--state "$ACTIVITY_STATE" --host "$NC_DB_HOST" --port "$NC_DB_PORT" \
|
if COMMIT_OUTPUT="$(python3 "$SCRIPT_DIR/lib/activity_gate.py" commit \
|
||||||
--database "$NC_DB_NAME" --user "$NC_DB_USER" --password-file "$NC_DB_PASSWORD_FILE" \
|
--state "$ACTIVITY_STATE" --host "$NC_DB_HOST" --port "$NC_DB_PORT" \
|
||||||
--view "$NC_ACTIVITY_VIEW" --source-view "$NC_DB_VIEW" 2>&1)"; then
|
--database "$NC_DB_NAME" --user "$NC_DB_USER" --password-file "$NC_DB_PASSWORD_FILE" \
|
||||||
COMMIT_EXIT=0
|
--view "$NC_ACTIVITY_VIEW" --source-view "$NC_DB_VIEW" 2>&1)"; then
|
||||||
else
|
COMMIT_EXIT=0
|
||||||
COMMIT_EXIT=$?
|
else
|
||||||
fi
|
COMMIT_EXIT=$?
|
||||||
if [[ -n "$COMMIT_OUTPUT" ]]; then
|
fi
|
||||||
printf '%s\n' "$COMMIT_OUTPUT"
|
if [[ -n "$COMMIT_OUTPUT" ]]; then
|
||||||
fi
|
printf '%s\n' "$COMMIT_OUTPUT"
|
||||||
if [[ "$COMMIT_EXIT" -ne 0 ]]; then
|
fi
|
||||||
ERROR_DETAIL="Schritt: Aktivitätsstand speichern. Exit-Code: $COMMIT_EXIT."
|
if [[ "$COMMIT_EXIT" -ne 0 ]]; then
|
||||||
if [[ -n "$COMMIT_OUTPUT" ]]; then
|
ERROR_DETAIL="Schritt: Aktivitätsstand speichern. Exit-Code: $COMMIT_EXIT."
|
||||||
ERROR_DETAIL+=" Ausgabe: $(printf '%s\n' "$COMMIT_OUTPUT" | compact_output)"
|
if [[ -n "$COMMIT_OUTPUT" ]]; then
|
||||||
|
ERROR_DETAIL+=" Ausgabe: $(printf '%s\n' "$COMMIT_OUTPUT" | compact_output)"
|
||||||
|
fi
|
||||||
|
trap - ERR
|
||||||
|
write_status error "Aktivitätsstand konnte nicht gespeichert werden"
|
||||||
|
exit "$COMMIT_EXIT"
|
||||||
fi
|
fi
|
||||||
trap - ERR
|
|
||||||
write_status error "Aktivitätsstand konnte nicht gespeichert werden"
|
|
||||||
exit "$COMMIT_EXIT"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
trap - ERR
|
trap - ERR
|
||||||
@@ -289,6 +316,8 @@ if [[ "$AUTH_MODE" == "fallback" ]]; then
|
|||||||
write_status warning "Synchronisierung erfolgreich über Fallback; API war nicht nutzbar"
|
write_status warning "Synchronisierung erfolgreich über Fallback; API war nicht nutzbar"
|
||||||
elif [[ "$AUTH_MODE" == "api" ]]; then
|
elif [[ "$AUTH_MODE" == "api" ]]; then
|
||||||
write_status ok "Synchronisierung erfolgreich über API"
|
write_status ok "Synchronisierung erfolgreich über API"
|
||||||
|
elif [[ "$SOURCE_MODE" == "user-filesystem" ]]; then
|
||||||
|
write_status ok "Benutzerbezogene Synchronisierung erfolgreich"
|
||||||
else
|
else
|
||||||
write_status ok "Synchronisierung erfolgreich"
|
write_status ok "Synchronisierung erfolgreich"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user