async def async_get_cmstatus_and_service_flows(self): """Get various status information.""" if self.token is None: await self.async_initialize_token() self.cmstatus = None self.downstream_service_flows = [] self.upstream_service_flows = [] raw = await self._async_ws_get_function(CMD_CMSTATUS) try: xml_root = element_tree.fromstring(raw) self.cmstatus = CmStatus( provisioningStatus=xml_root.find("provisioning_st").text, cmComment=xml_root.find("cm_comment").text, cmDocsisMode=xml_root.find("cm_docsis_mode").text, cmNetworkAccess=xml_root.find("cm_network_access").text, numberOfCpes=int(xml_root.find("NumberOfCpes").text), firmwareFilename=xml_root.find("FileName").text, dMaxCpes=int(xml_root.find("dMaxCpes").text), bpiEnable=int(xml_root.find("bpiEnable").text), ) for elmt_service_flow in xml_root.iter("serviceflow"): service_flow = ServiceFlow( id=int(elmt_service_flow.find("Sfid").text), pMaxTrafficRate=int( elmt_service_flow.find("pMaxTrafficRate").text), pMaxTrafficBurst=int( elmt_service_flow.find("pMaxTrafficBurst").text), pMinReservedRate=int( elmt_service_flow.find("pMinReservedRate").text), pMaxConcatBurst=int( elmt_service_flow.find("pMaxConcatBurst").text), pSchedulingType=int( elmt_service_flow.find("pSchedulingType").text), ) direction = int(elmt_service_flow.find("direction").text) if direction == 1: self.downstream_service_flows.append(service_flow) elif direction == 2: self.upstream_service_flows.append(service_flow) else: raise element_tree.ParseError( "Unknown service flow direction '{}'".format( direction)) except (element_tree.ParseError, TypeError): _LOGGER.warning("Can't read cmstatus from %s", self.host) self.token = None raise exceptions.ConnectBoxNoDataAvailable() from None
for xmlfile in metadata: filename = xmlfile[:-4] print("Processing file '{}'".format(xmlfile)) xmlns = r"{http://lamp.cfar.umd.edu/media/projects/GEDI/}" try: # parsing the XML file xml = ET.parse("{}/{}".format(directory, xmlfile)) root = xml.getroot() doc = root.find("{}DL_DOCUMENT".format(xmlns)) if doc == None: print("No DL_DOCUMENT") raise ET.ParseError() pages = doc.findall("{}DL_PAGE".format(xmlns)) # create a new xml document for each page for i in range(len(pages)): page = pages[i] page_number = page.get("src")[len(filename):-4] imgfile = page.get("src") if imgfile not in images: print("Missing image '{}'".format(imgfile)) exit(1) # making a copy of the xml file without the DL_DOCUMENT node xml2 = xml