@@ -45,8 +45,8 @@ def main(ctx: click.Context) -> None:
4545 "attempt any I/O. Useful as a a dry-run." ,
4646 default = False ,
4747)
48- @click .option ("-n" , "--name" , multiple = True )
49- def connect (beamline : str , all : bool , sim_backend : bool , name : tuple [ str , ...] ) -> None :
48+ @click .option ("-n" , "--name" )
49+ def connect (beamline : str , all : bool , sim_backend : bool , name : str | None ) -> None :
5050 """Initialises a beamline module, connects to all devices, reports
5151 any connection issues."""
5252
@@ -71,15 +71,16 @@ def connect(beamline: str, all: bool, sim_backend: bool, name: tuple[str, ...])
7171 # be lazy.
7272
7373 if name :
74- for manager_name in name :
75- if (manager := getattr (mod , manager_name , None )) and isinstance (
76- manager , DeviceManager
77- ):
78- devices , instance_exceptions , connect_exceptions = (
79- manager .build_and_connect (
80- mock = sim_backend ,
81- )
74+ if (manager := getattr (mod , name , None )) and isinstance (manager , DeviceManager ):
75+ devices , instance_exceptions , connect_exceptions = (
76+ manager .build_and_connect (
77+ mock = sim_backend ,
8278 )
79+ )
80+ else :
81+ raise ValueError (
82+ f"Name '{ name } ' could not be found or is not a DeviceManager"
83+ )
8384 else :
8485 _spoof_path_provider ()
8586 devices , instance_exceptions = make_all_devices (
0 commit comments