exlab_wizard.ui.client.folder_feed#
Folder-feed client abstraction. GUI/Orchestrator Redesign §5.
A small start(path, on_update) / stop() surface that owns the
~2-3 s GET /folder/{path} poll for the centre-pane file list.
Returning to the same path is idempotent; switching paths stops the
previous poll before starting the new one. Paused on window background
/ foreground per §5.
The HTTP call is delegated through a caller-provided async function so the module remains framework-agnostic (NiceGUI / pytest both reuse it).
Classes
|
One folder feed; rebound to a different path via |
|
In-memory state of one folder feed (one per centre pane). |
- class exlab_wizard.ui.client.folder_feed.FolderFeed(*, fetch, on_update=None, poll_interval_s=2.5)[source]#
Bases:
objectOne folder feed; rebound to a different path via
start().- Parameters:
- async start(path)[source]#
Start polling
path. Switching paths stops the previous poll before starting the new one (the spec’s stop() then start() lifecycle, called from the singleon_select_nodehandler).
- property state: FolderFeedState#