From 694e20e370822884bad1a1a5573904678eb1c81a Mon Sep 17 00:00:00 2001 From: Tobias Leuschner Date: Sat, 9 May 2026 13:40:18 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Verbindungstest=20f=C3=BCr=20Uploads=20?= =?UTF-8?q?hinzugef=C3=BCgt=20und=20Versionsnummer=20auf=201.0.42=20erh?= =?UTF-8?q?=C3=B6ht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 22 +++++++++++++++------- version.txt | 2 +- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/app.py b/app.py index b3ea19c..6f6ada6 100644 --- a/app.py +++ b/app.py @@ -950,18 +950,26 @@ def run_uploads(local_dir: Path, cfg: dict): upload_state['current'] = name add_log(f'Upload >> {name}...') + remote = _remote_name(t['id']) dest_root = t.get('dest_path', 'PiCopy').strip('/') - dest = f'{_remote_name(t["id"])}:{dest_root}' + dest = f'{remote}:{dest_root}' - # Zielordner anlegen falls nicht vorhanden - mk = _rclone('mkdir', dest, timeout=30) - if mk.returncode != 0: - err = mk.stderr.strip().splitlines()[-1] if mk.stderr.strip() else 'Ordner konnte nicht angelegt werden' - add_log(f'Upload {name}: ✗ {err}') + # 1. Verbindung prüfen + conn = _rclone('lsd', f'{remote}:', timeout=15) + if conn.returncode != 0: + lines = [l for l in conn.stderr.strip().splitlines() if l.strip()] + err = lines[-1] if lines else 'NAS nicht erreichbar' + add_log(f'Upload {name}: ✗ NAS nicht erreichbar - {err}') + add_log(f'Upload {name}: Hinweis: Prüfe ob VPN aktiv ist und den NAS blockiert') with upload_lock: - upload_state['results'].append({'name': name, 'ok': False, 'msg': err}) + upload_state['results'].append({'name': name, 'ok': False, + 'msg': f'NAS nicht erreichbar (VPN aktiv?): {err}'}) continue + # 2. Zielordner anlegen + _rclone('mkdir', dest, timeout=30) + + # 3. Kopieren r = _rclone('copy', str(local_dir), dest, '--create-empty-src-dirs', '--retries', '2', diff --git a/version.txt b/version.txt index 8ef0958..61dbbb3 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.0.41 \ No newline at end of file +1.0.42 \ No newline at end of file