def doPyHouseLogin(self, p_client, p_pyhouse_obj): """Login to PyHouse via MQTT """ self.m_client = p_client l_name = p_pyhouse_obj.Computer.Name try: l_node = copy.deepcopy(p_pyhouse_obj.Computer.Nodes[l_name]) except (KeyError, TypeError): l_node = NodeData() l_node.NodeInterfaces = {}
def doPyHouseLogin(self, p_client, p_pyhouse_obj): """Login to PyHouse via MQTT """ self.m_client = p_client try: l_node = copy.deepcopy(p_pyhouse_obj.Computer.Nodes[p_pyhouse_obj.Computer.Name]) except KeyError: l_node = NodeData() l_node.NodeInterfaces = {} self.MqttPublish('computer/startup', l_node)
def send_who_is_there(p_pyhouse_obj): l_topic = "computer/node/whoisthere" l_uuid = p_pyhouse_obj.Computer.UUID try: l_node = p_pyhouse_obj.Computer.Nodes[l_uuid] except KeyError as e_err: LOG.error('No such node {}'.format(e_err)) l_node = NodeData() l_node.NodeInterfaces = None p_pyhouse_obj.APIs.Computer.MqttAPI.MqttPublish( l_topic, l_node) # /computer/node/whoisthere _l_runID = p_pyhouse_obj.Twisted.Reactor.callLater( REPEAT_DELAY, Util.send_who_is_there, p_pyhouse_obj)
def _read_one_node_xml(p_node_xml): """ Read the existing XML file (if it exists) and get the node info. """ l_node_obj = NodeData() XmlConfigTools.read_base_object_xml(l_node_obj, p_node_xml) l_node_obj.ConnectionAddr_IPv4 = PutGetXML.get_text_from_xml(p_node_xml, 'ConnectionAddressV4') l_node_obj.ConnectionAddr_IPv6 = PutGetXML.get_text_from_xml(p_node_xml, 'ConnectionAddressV6') l_node_obj.NodeRole = PutGetXML.get_int_from_xml(p_node_xml, 'NodeRole') try: l_node_obj.NodeInterfaces = Xml._read_interfaces_xml(p_node_xml.find('InterfaceSection')) except AttributeError as e_err: LOG.error('ERROR OneNodeRead error {}'.format(e_err)) return l_node_obj
def send_who_is_there(p_pyhouse_obj): l_topic = TOPIC + "whoisthere" l_uuid = p_pyhouse_obj.Computer.UUID try: l_node = p_pyhouse_obj.Computer.Nodes[l_uuid] except KeyError as e_err: LOG.error('No such node {}'.format(e_err)) l_node = NodeData() l_node.NodeInterfaces = None p_pyhouse_obj.APIs.Computer.MqttAPI.MqttPublish(l_topic, l_node) # /computer/node/whoisthere l_topic = 'login/initial' l_message = {} p_pyhouse_obj.APIs.Computer.MqttAPI.MqttPublish(l_topic, l_message) # /login/initial _l_runID = p_pyhouse_obj.Twisted.Reactor.callLater(REPEAT_DELAY, Util.send_who_is_there, p_pyhouse_obj)
def _read_one_node_xml(p_node_xml): """ Use the passed in xml to create a node entry. @param p_node_xml: is the element in the Xml config file that describes a node. @return: a node object filled in. """ l_node_obj = NodeData() XmlConfigTools.read_base_UUID_object_xml(l_node_obj, p_node_xml) l_node_obj.ConnectionAddr_IPv4 = PutGetXML.get_text_from_xml(p_node_xml, 'ConnectionAddressV4') l_node_obj.ConnectionAddr_IPv6 = PutGetXML.get_text_from_xml(p_node_xml, 'ConnectionAddressV6') l_node_obj.NodeRole = PutGetXML.get_int_from_xml(p_node_xml, 'NodeRole') try: l_node_obj.LastUpdate = PutGetXML.get_date_time_from_xml(p_node_xml, 'LastUpdate') except AttributeError: l_node_obj.LastUpdate = datetime.datetime.now() try: l_node_obj.NodeInterfaces = Xml._read_interfaces_xml(p_node_xml.find('InterfaceSection')) except AttributeError as e_err: LOG.error('ERROR OneNodeRead error {}'.format(e_err)) return l_node_obj
def test_06_AllInterfaces(self): l_node = NodeData() l_if, _l_v4, _l_v6 = Interfaces._get_all_interfaces() l_node.NodeInterfaces = l_if
def test_05_AllInterfaces(self): l_node = NodeData() l_if, _l_v4, _l_v6 = Interfaces._get_all_interfaces() l_node.NodeInterfaces = l_if
def test_05_AllInterfaces(self): l_node = NodeData() l_node.NodeInterfaces = Interfaces._get_all_interfaces() print(PrettyFormatAny.form(l_node.NodeInterfaces, 'Node Interfaces'))