Umlaute im Dateinamen, klarere Meldung bei altem Server
Beim Import wurde aus "Pruefbild" ein "pr-fbild": der Namensfilter warf alles weg, was nicht ASCII ist. Umlaute werden jetzt umschrieben statt entfernt. Und /upload antwortet mit 404, solange der Python-Server noch in einer Fassung ohne den Endpunkt laeuft. Das ist die wahrscheinlichste Ursache, wenn der Import scheinbar nichts tut -- die Seite neu zu laden hilft dagegen nicht, weil serve.py nur beim Start eingelesen wird. Die Meldung sagt das jetzt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
8e1ac0d2a9
commit
11eaf3f3e7
2 files changed
+10
-1
No files matched your search
@@ -2509,6 +2509,10 @@
|
||||
});
|
||||
if (!res.ok) {
|
||||
const w = await res.json().catch(() => ({}));
|
||||
/* 404 heisst hier fast immer: der Python-Server laeuft noch in einer
|
||||
Fassung ohne /upload. Die Seite neu zu laden hilft dagegen nicht --
|
||||
serve.py wird nur beim Start eingelesen. */
|
||||
if (res.status === 404) throw new Error("Server kennt /upload nicht · ./serve.sh neu starten");
|
||||
throw new Error(w.error || ("HTTP " + res.status));
|
||||
}
|
||||
const { pfad } = await res.json();
|
||||
|
||||
@@ -133,7 +133,12 @@ class Handler(http.server.SimpleHTTPRequestHandler):
|
||||
if endung not in BILD_ENDUNGEN:
|
||||
self._json(400, '{"error":"kein Bildformat"}')
|
||||
return
|
||||
# Aus dem Stamm wird ein unverfaenglicher Dateiname, der Rest faellt weg.
|
||||
# Aus dem Stamm wird ein unverfaenglicher Dateiname. Umlaute werden
|
||||
# umschrieben statt weggeworfen, sonst wird aus "pruefbild" ein
|
||||
# "pr-fbild" und der Name sagt nichts mehr.
|
||||
for a, b in (("ä", "ae"), ("ö", "oe"), ("ü", "ue"), ("Ä", "Ae"),
|
||||
("Ö", "Oe"), ("Ü", "Ue"), ("ß", "ss")):
|
||||
stamm = stamm.replace(a, b)
|
||||
stamm = re.sub(r"[^A-Za-z0-9._-]+", "-", stamm).strip("-.") or "bild"
|
||||
stamm = stamm[:80]
|
||||
|
||||
|
||||
Reference in new issue
Block a user