feat: Timeout für Remote-Testbefehle reduziert und Versionsnummer auf 1.0.39 erhöht

This commit is contained in:
2026-05-09 13:26:58 +02:00
parent 18e54c4be9
commit af448da749
2 changed files with 8 additions and 16 deletions

16
app.py
View File

@@ -913,27 +913,19 @@ def delete_remote(tid):
def test_remote(tid): def test_remote(tid):
import tempfile, os as _os
remote = _remote_name(tid) remote = _remote_name(tid)
# 1. Verbindung prüfen # 1. Verbindung prüfen
r = _rclone('lsd', f'{remote}:', timeout=20) r = _rclone('lsd', f'{remote}:', timeout=15)
if r.returncode != 0: if r.returncode != 0:
err = r.stderr.strip().splitlines()[-1] if r.stderr.strip() else 'Verbindung fehlgeschlagen' err = r.stderr.strip().splitlines()[-1] if r.stderr.strip() else 'Verbindung fehlgeschlagen'
return False, f'Verbindung: {err}' return False, f'Verbindung: {err}'
# 2. Schreibzugriff prüfen: temporäres Verzeichnis + Datei, dann wieder löschen # 2. Schreibzugriff prüfen: Testverzeichnis anlegen + sofort löschen
test_dir = f'{remote}:.picopy_writetest' test_dir = f'{remote}:.picopy_writetest'
with tempfile.NamedTemporaryFile(mode='w', suffix='.tmp', delete=False) as tf: rw = _rclone('mkdir', test_dir, timeout=15)
tf.write('PiCopy write test')
tmp_path = tf.name
try:
rw = _rclone('copy', tmp_path, test_dir, timeout=20)
if rw.returncode != 0: if rw.returncode != 0:
err = rw.stderr.strip().splitlines()[-1] if rw.stderr.strip() else 'Schreiben fehlgeschlagen' err = rw.stderr.strip().splitlines()[-1] if rw.stderr.strip() else 'Schreiben fehlgeschlagen'
return False, f'Kein Schreibzugriff: {err}' return False, f'Kein Schreibzugriff: {err}'
_rclone('purge', test_dir, timeout=10) _rclone('rmdir', test_dir, timeout=10)
finally:
try: _os.unlink(tmp_path)
except Exception: pass
return True, '' return True, ''

View File

@@ -1 +1 @@
1.0.38 1.0.39