exlab_wizard.ui.client.refresh_coordinator#

Refresh coordinator: coalesce the 30 s tree refresh with the folder feed.

GUI/Orchestrator Redesign §5 / §9.1. Two refresh loops touch the filesystem from the UI side — the 30 s GET /tree refresh and the ~2-3 s GET /folder folder feed. The coordinator records the last time either kicked off a refresh and lets the other skip its tick if the filesystem was just walked.

Classes

RefreshCoordinator([last_tree_refresh_s, ...])

Tracks the last refresh time per source ("tree" | "folder").

class exlab_wizard.ui.client.refresh_coordinator.RefreshCoordinator(last_tree_refresh_s=0.0, last_folder_refresh_s=0.0)[source]#

Bases: object

Tracks the last refresh time per source (“tree” | “folder”).

Parameters:
  • last_tree_refresh_s (float)

  • last_folder_refresh_s (float)

last_folder_refresh_s: float = 0.0#
last_tree_refresh_s: float = 0.0#
record_folder_refresh()[source]#
Return type:

None

record_tree_refresh()[source]#
Return type:

None

should_skip_folder()[source]#

True if the tree just walked and the folder feed should yield.

Return type:

bool

should_skip_tree()[source]#

True if the folder feed just walked and the tree should yield.

Return type:

bool