mirror of
https://github.com/Terranom674/Piwigo_Bratonien_Tools.git
synced 2026-09-19 14:04:34 +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_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
|
||||
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
|
||||
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
|
||||
else
|
||||
ERROR_STAGE="Nextcloud-Aktivität prüfen"
|
||||
@@ -199,6 +216,13 @@ if [[ "$GATE_RESULT" != "0" ]]; then
|
||||
exit "$GATE_RESULT"
|
||||
fi
|
||||
|
||||
if [[ "$SOURCE_MODE" == "user-filesystem" ]]; then
|
||||
run_stage \
|
||||
"Benutzer-Dateiliste lesen" \
|
||||
"Dateiliste des Nextcloud-Benutzers konnte nicht erstellt werden" \
|
||||
python3 "$SCRIPT_DIR/lib/build_user_manifest.py" \
|
||||
--storage-config "$STORAGE_CONFIG" --output "$MANIFEST"
|
||||
else
|
||||
run_stage \
|
||||
"Nextcloud-Dateiliste lesen" \
|
||||
"Dateiliste aus Nextcloud konnte nicht erstellt werden" \
|
||||
@@ -206,6 +230,7 @@ run_stage \
|
||||
--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 \
|
||||
"Lokalen Galeriebaum aktualisieren" \
|
||||
@@ -261,6 +286,7 @@ if [[ "${PIWIGO_SYNC_ENABLED:-0}" == "1" ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$SOURCE_MODE" != "user-filesystem" ]]; then
|
||||
ERROR_STAGE="Aktivitätsstand speichern"
|
||||
ERROR_MESSAGE="Aktivitätsstand konnte nicht gespeichert werden"
|
||||
if COMMIT_OUTPUT="$(python3 "$SCRIPT_DIR/lib/activity_gate.py" commit \
|
||||
@@ -283,12 +309,15 @@ if [[ "$COMMIT_EXIT" -ne 0 ]]; then
|
||||
write_status error "Aktivitätsstand konnte nicht gespeichert werden"
|
||||
exit "$COMMIT_EXIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
trap - ERR
|
||||
if [[ "$AUTH_MODE" == "fallback" ]]; then
|
||||
write_status warning "Synchronisierung erfolgreich über Fallback; API war nicht nutzbar"
|
||||
elif [[ "$AUTH_MODE" == "api" ]]; then
|
||||
write_status ok "Synchronisierung erfolgreich über API"
|
||||
elif [[ "$SOURCE_MODE" == "user-filesystem" ]]; then
|
||||
write_status ok "Benutzerbezogene Synchronisierung erfolgreich"
|
||||
else
|
||||
write_status ok "Synchronisierung erfolgreich"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user