You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor Methods to allow overridding @command methods
Tag existing method with __unbound_command__ / __unbound_scan__ instead
of replacing with callable Command / Scan
Check attributes for this metadata in _bind_attrs
Store Command / Scan instances in self.__command_methods / self.__scan
Replace search in build_controller_api with accessing these members
Remove lazy imports from controller and replace with TYPE_CHECKING
import in methods. This feels more natural, as controllers needs methods
for isinstance checks, whereas methods just needs controllers for type
hinting.
e.g.
/workspaces/fastcs-eiger/src/fastcs_eiger/controllers/odin/eiger_odin_controller.py:28:15
- error: "arm_when_ready" overrides symbol of same name in class
"EigerController"
"UnboundCommand[EigerOdinController]" is not assignable to
"UnboundCommand[EigerController]"
Type parameter "Controller_T@UnboundCommand" is invariant, but
"EigerOdinController" is not the same as "EigerController"
(reportIncompatibleVariableOverride)
0 commit comments