fix: pruefe_schreibrecht nahm os.path statt pfade — zum vierten Mal dieselbe Falle
Ampel / ampel (push) Failing after 54s

Ampel-Lauf zu 3d5f82b rot:

    assert 'nicht vorhanden' in 'Q:\Rippy (Pfad nicht gefunden)'

`os.path.splitdrive` kennt auf Linux kein "Q:" und gab einen leeren String
zurueck, also fiel die Pruefung in den allgemeinen Zweig. Genau dafuer gibt
es seit einer Stunde `rippy/pfade.py` -- und ich habe es hier nicht benutzt.

Das ist das vierte Vorkommen desselben Musters an einem Tag (katalog,
verknuepfungen, betrieb, jetzt einrichtung). Die Regel steht im Kopf von
pfade.py und gilt ohne Ausnahme: **Der Pfad entscheidet, nicht der Rechner.**

Gegengeprueft, dass es keine fuenfte Stelle gibt: kein os.path.splitdrive und
kein direkter ntpath-Aufruf mehr ausserhalb von pfade.py.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-08-28 14:53:26 +02:00
co-authored by Claude Opus 5
parent 3d5f82b786
commit 16df61ea3a
+6 -3
View File
@@ -45,6 +45,8 @@ import shutil
import socket
import sys
from rippy import pfade
OK = "ok"
WARNUNG = "warnung"
FEHLER = "fehler"
@@ -103,8 +105,6 @@ def pruefe_webview(version=None) -> dict:
def pruefe_platz(ziel: str, frei_mb=None) -> dict:
"""Genug Platz am Zielort? Gemessen am nächsten vorhandenen Ordner."""
from rippy import pfade
if frei_mb is None:
pfad = pfade.naechster_vorhandener(ziel)
if not pfad:
@@ -219,7 +219,10 @@ def pruefe_schreibrecht(ziel: str, probe=None, erhoeht=None) -> dict:
if geklappt:
return _eintrag("Schreibrecht", OK, ziel)
laufwerk = os.path.splitdrive(ziel or "")[0]
# ueber `pfade`, nicht ueber `os.path`: Auf dem Linux-Runner der Ampel
# kennt `splitdrive` kein "Q:" und gab einen leeren String zurueck --
# dieselbe Falle, fuer die es `rippy/pfade.py` gibt. Zum vierten Mal.
laufwerk = pfade.laufwerk_von(ziel or "")
if laufwerk and len(laufwerk) == 2 and not os.path.isdir(laufwerk + "\\"):
# Ein Laufwerksbuchstabe, den es in DIESEM Prozess nicht gibt.
zusatz = (" Als Administrator gestartete Programme sehen die "