daemon: updated xml to write and read session configured distributed servers, updated pygui to send servers before session start or saving xml

This commit is contained in:
Blake Harnden 2020-07-08 08:24:23 -07:00
parent bb4514b93e
commit 43b586a1a1
2 changed files with 27 additions and 0 deletions

View file

@ -284,6 +284,7 @@ class CoreXmlWriter:
self.write_service_configs()
self.write_configservice_configs()
self.write_session_origin()
self.write_servers()
self.write_session_hooks()
self.write_session_options()
self.write_session_metadata()
@ -318,6 +319,15 @@ class CoreXmlWriter:
add_attribute(origin, "y", y)
add_attribute(origin, "z", z)
def write_servers(self) -> None:
servers = etree.Element("servers")
for server in self.session.distributed.servers.values():
server_element = etree.SubElement(servers, "server")
add_attribute(server_element, "name", server.name)
add_attribute(server_element, "address", server.host)
if servers.getchildren():
self.scenario.append(servers)
def write_session_hooks(self) -> None:
# hook scripts
hooks = etree.Element("session_hooks")
@ -572,6 +582,7 @@ class CoreXmlReader:
self.read_session_metadata()
self.read_session_options()
self.read_session_hooks()
self.read_servers()
self.read_session_origin()
self.read_service_configs()
self.read_mobility_configs()
@ -635,6 +646,16 @@ class CoreXmlReader:
logging.info("reading hook: state(%s) name(%s)", state, name)
self.session.add_hook(state, name, data)
def read_servers(self) -> None:
servers = self.scenario.find("servers")
if servers is None:
return
for server in servers.iterchildren():
name = server.get("name")
address = server.get("address")
logging.info("reading server: name(%s) address(%s)", name, address)
self.session.distributed.add_server(name, address)
def read_session_origin(self) -> None:
session_origin = self.scenario.find("session_origin")
if session_origin is None: