Parent Issue
Part of #118 (FUSE-based Archive & Remote Browsing Feature)
Summary
Add SFTP browsing support using sshfs.
Dependencies
Requires #121 (MountManager integration with App)
Tasks
MountManager
Menu Integration
App Methods
Input Dialog
Testing
- Test
mount_sftp() calls sshfs with correct arguments
- Test
mount_sftp() tracks mount with mount_type='sftp'
- Test
can_mount_sftp() returns correct value based on tool availability
- Test SFTP menu item exists in Connect menu
- Test
CONNECT_SFTP action triggers connection prompt
Files
- Modify:
tnc/mount.py
- Modify:
tnc/app.py
- Modify:
tnc/menu.py
- Modify:
tests/test_mount.py
Parent Issue
Part of #118 (FUSE-based Archive & Remote Browsing Feature)
Summary
Add SFTP browsing support using sshfs.
Dependencies
Requires #121 (MountManager integration with App)
Tasks
MountManager
Implement
mount_sftp(connection: str) -> Path | Nonesshfs user@host:/path /mount/pointactive_mountswithmount_type='sftp'Implement
can_mount_sftp() -> boolself.tools.sshfsMenu Integration
Add new Action enum values:
Add "Connect" menu between File and Command in
menu.py:Add
'connect_sftp': Action.CONNECT_SFTPtoMENU_ACTION_MAPApp Methods
Action.CONNECT_SFTPin run loopApp._prompt_sftp_connect():mount_manager.mount_sftp()Input Dialog
user@hostname:/remote/pathoruser@hostnameTesting
mount_sftp()calls sshfs with correct argumentsmount_sftp()tracks mount withmount_type='sftp'can_mount_sftp()returns correct value based on tool availabilityCONNECT_SFTPaction triggers connection promptFiles
tnc/mount.pytnc/app.pytnc/menu.pytests/test_mount.py