diff --git a/app.py b/app.py index 7aabbe8..92e4abb 100644 --- a/app.py +++ b/app.py @@ -913,27 +913,19 @@ def delete_remote(tid): def test_remote(tid): - import tempfile, os as _os remote = _remote_name(tid) # 1. Verbindung prüfen - r = _rclone('lsd', f'{remote}:', timeout=20) + r = _rclone('lsd', f'{remote}:', timeout=15) if r.returncode != 0: err = r.stderr.strip().splitlines()[-1] if r.stderr.strip() else 'Verbindung fehlgeschlagen' 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' - with tempfile.NamedTemporaryFile(mode='w', suffix='.tmp', delete=False) as tf: - tf.write('PiCopy write test') - tmp_path = tf.name - try: - rw = _rclone('copy', tmp_path, test_dir, timeout=20) - if rw.returncode != 0: - err = rw.stderr.strip().splitlines()[-1] if rw.stderr.strip() else 'Schreiben fehlgeschlagen' - return False, f'Kein Schreibzugriff: {err}' - _rclone('purge', test_dir, timeout=10) - finally: - try: _os.unlink(tmp_path) - except Exception: pass + rw = _rclone('mkdir', test_dir, timeout=15) + if rw.returncode != 0: + err = rw.stderr.strip().splitlines()[-1] if rw.stderr.strip() else 'Schreiben fehlgeschlagen' + return False, f'Kein Schreibzugriff: {err}' + _rclone('rmdir', test_dir, timeout=10) return True, '' diff --git a/version.txt b/version.txt index 9cc0a9d..99f7422 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.0.38 \ No newline at end of file +1.0.39 \ No newline at end of file