Commit Graph
7 Commits
Author SHA1 Message Date
x3 226108f4dc Up-/Download gefixt: absoluter Remote-Pfad statt "/./datei" (#3)
paramikos getcwd() liefert None, solange kein chdir() erfolgt ist. Der
Rueckfall auf "." landete als remote_path in der App, woraus _join()/_abs()
Pfade wie "/./datei" bauten. Der Server loeste die relativ zum Dateisystem-
Root statt zum Home auf -> "No such file" beim Download, "Permission denied"
beim Upload. Das Listing funktionierte, weil listdir(".") serverseitig
relativ zum Home aufgeloest wird -- daher fiel es erst beim Transfer auf.

- connect()/chdir()/listdir() loesen den Pfad ueber sftp.normalize() auf
- _abs() haengt relative Pfade an das CWD an, statt blind "/" voranzustellen
- _copy_tree(): die beiden mkdir-Zweige waren vertauscht. Beim Download
  wurde backend.mkdir() auf einen lokalen Pfad angewendet (Verzeichnis
  entstand auf dem Server), beim Upload os.makedirs() auf einen entfernten.
  Ordner-Transfers waren dadurch in beide Richtungen defekt.

Verifiziert per End-to-End-Test gegen einen echten sshd/SFTP-Server:
Datei- und rekursiver Ordner-Transfer in beide Richtungen.

Closes #3
2026-08-31 17:19:15 +00:00
x3 db84a6aaf8 v0.3.1: q/Escape beenden wieder, Rename-Crash und ".."-Aktionen gefixt
- Screen-Bindings lösen Actions im Screen-Namespace auf. "quit" traf daher
  ins Leere, weil Screen.action_quit nicht existiert – die Taste wurde still
  verworfen. Bindings auf "app.quit" umgestellt (q im Browser, Escape im
  Verbindungsdialog).
- RenameScreen._ok rief do_rename() auf sich selbst statt auf den darunter
  liegenden BrowserScreen (AttributeError). Reihenfolge korrigiert: erst
  pop_screen(), dann do_rename().
- RenameScreen mit Escape abbrechbar.
- Neuer Helfer _selected_entry() blendet den ".."-Navigationseintrag aus.
  Download, Upload, Löschen und Umbenennen operierten sonst auf "↑ ..".
2026-08-31 17:07:45 +00:00
x3 7a1bf948f1 v0.3.0: Pfeil-/Tab-Navigation gefixt, install/uninstall-Skripte
- FileTable(DataTable): links/rechts fuer Datei-Manager-Navigation umgebunden
  (links = eine Ebene hoch, rechts = Ordner oeffnen); zuvor verschluckte das
  DataTable-Widget die Tasten
- _selected(): liefert jetzt die Klartext-Zeichenkette statt rich.Text-Objekt
  (behob AttributeError beim Oeffnen/Enter)
- action_focus_next(): Tab wechselt zuverlaessig zwischen lokalem und
  entferntem Paneel (statt unzuverlaessigem focus_next)
- install.sh / uninstall.sh: systemweite Installation (PEP-668-konform via
  /opt/ftptui/venv + /usr/local/bin/ftptui)
2026-08-31 15:46:30 +00:00
x3 ed0a943d21 README: Repo-Owner x3 statt admin 2026-08-31 15:06:29 +00:00
x3 94c9a8de9e v0.2.0: Bugfix Screenwechsel, ranger-Thema, Total-Commander-Layout 2026-08-31 15:05:27 +00:00
x3 33827d5598 ftptui: FTP/SFTP TUI-Client für das Terminal 2026-08-31 14:47:24 +00:00
x3 f79d190a47 Initial commit 2026-08-31 14:31:31 +00:00