From 706174eee384229e20754470db8ad1a37f7094c8 Mon Sep 17 00:00:00 2001 From: Tobias Leuschner Date: Sat, 9 May 2026 13:35:19 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Fehlerbehandlung=20f=C3=BCr=20Uploads?= =?UTF-8?q?=20verbessert=20und=20Versionsnummer=20auf=201.0.41=20erh=C3=B6?= =?UTF-8?q?ht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 18 ++++++++++++++---- version.txt | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index 0bab098..b3ea19c 100644 --- a/app.py +++ b/app.py @@ -953,14 +953,24 @@ def run_uploads(local_dir: Path, cfg: dict): dest_root = t.get('dest_path', 'PiCopy').strip('/') dest = f'{_remote_name(t["id"])}:{dest_root}' - _rclone('mkdir', dest, timeout=30) # Zielordner anlegen falls nicht vorhanden + # 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}') + with upload_lock: + upload_state['results'].append({'name': name, 'ok': False, 'msg': err}) + continue + r = _rclone('copy', str(local_dir), dest, '--create-empty-src-dirs', - '--retries', '3', + '--retries', '2', timeout=7200) ok = r.returncode == 0 - err = (r.stderr.strip().splitlines()[-1] - if r.stderr.strip() else '') if not ok else '' + err = '' + if not ok: + lines = [l for l in r.stderr.strip().splitlines() if l.strip()] + err = lines[-1] if lines else 'Unbekannter Fehler' with upload_lock: upload_state['results'].append({'name': name, 'ok': ok, 'msg': err}) diff --git a/version.txt b/version.txt index cd63089..8ef0958 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.0.40 \ No newline at end of file +1.0.41 \ No newline at end of file