How cossoledad/restfulseaweedfsbrowser works
SeaweedFS Browser is a PySide6 desktop client for browsing and managing files on a SeaweedFS Filer or a local filesystem. The main workflow is user navigation or file action → MainWindow creates a background task → TaskManager runs a worker → SeaweedClient performs storage I/O → task results update the directory view or open a preview. Upload and recursive-download helpers handle bounded batches; preview preparation also resolves model resources. The README documents additional UI, caching, configuration, localization, and task-history capabilities. Some subsystem links rely on README descriptions because their source was not sampled.
Main entry points: main.py MainWindow · tasks.py Business workers · task_runtime.py Task manager · widgets.py Browser and previews
Components 19
Desktop interface
- MainWindow
main.py - Browser and previews
seaweed_browser/widgets.py - Task center
seaweed_browser/task_widgets.py - Status presenter
seaweed_browser/task_presenter.py
Task workflow
- Task manager
seaweed_browser/task_runtime.py - Task models
seaweed_browser/task_models.py - Business workers
seaweed_browser/tasks.py - Cancellation token
seaweed_browser/cancellation.py
Storage operations
- Storage client
seaweed_browser/client.py - Upload batching
seaweed_browser/uploads.py - Download batching
seaweed_browser/downloads.py - Model resources
seaweed_browser/model_files.py
State and support
- Directory cache
seaweed_browser/cache.py - Config and paths
seaweed_browser/core.py - Localization
seaweed_browser/i18n.py - Model viewer QML
resource/model_preview.qml
Other components
- User
- SeaweedFS or local files
- Model preview process
Connections 22
- User → MainWindow: uses
- MainWindow → Browser and previews: shows interface
- MainWindow → Task manager: starts tasks
- MainWindow → Business workers: constructs workers
- MainWindow → Directory cache: reads and updates
- MainWindow → Config and paths: loads config
- MainWindow → Localization: sets language
- Task manager → Business workers: dispatches
- Task manager → Task models: updates snapshots
- Business workers → Cancellation token: checks cancellation
- Business workers → Storage client: performs I/O
- Business workers → Upload batching: batches uploads
- Business workers → Download batching: batches downloads
- Business workers → Model resources: resolves resources
- Storage client → SeaweedFS or local files: reads and writes
- MainWindow → Model preview process: launches preview
- Model preview process → Model viewer QML: renders with
- MainWindow → Task center: creates task center
- Task center → Task manager: reads and cancels
- Status presenter → Task manager: reads task state
- MainWindow → Status presenter: updates status
- Browser and previews → User: accepts input