From 946bd84b583cb237b077f619d7e5bab6a62996ee Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Wed, 2 Mar 2016 11:45:31 +0800 Subject: [PATCH] protocols/pc_rpc: support retrieving selected target --- artiq/protocols/pc_rpc.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/artiq/protocols/pc_rpc.py b/artiq/protocols/pc_rpc.py index 962fe10de..c9f53b286 100644 --- a/artiq/protocols/pc_rpc.py +++ b/artiq/protocols/pc_rpc.py @@ -108,6 +108,7 @@ class Client: server_identification = self.__recv() self.__target_names = server_identification["targets"] self.__description = server_identification["description"] + self.__selected_target = None if target_name is not None: self.select_rpc_target(target_name) except: @@ -119,6 +120,12 @@ class Client: exactly once if the object was created with ``target_name=None``.""" target_name = _validate_target_name(target_name, self.__target_names) self.__socket.sendall((target_name + "\n").encode()) + self.__selected_target = target_name + + def get_selected_target(self): + """Returns the selected target, or ``None`` if no target has been + selected yet.""" + return self.__selected_target def get_rpc_id(self): """Returns a tuple (target_names, description) containing the @@ -197,6 +204,7 @@ class AsyncioClient: server_identification = await self.__recv() self.__target_names = server_identification["targets"] self.__description = server_identification["description"] + self.__selected_target = None if target_name is not None: self.select_rpc_target(target_name) except: @@ -209,6 +217,12 @@ class AsyncioClient: """ target_name = _validate_target_name(target_name, self.__target_names) self.__writer.write((target_name + "\n").encode()) + self.__selected_target = target_name + + def get_selected_target(self): + """Returns the selected target, or ``None`` if no target has been + selected yet.""" + return self.__selected_target def get_rpc_id(self): """Returns a tuple (target_names, description) containing the