def readXmlTagDataFromURI(dev,URI,xmlRootNode,xmlReqDataNode,timeout=5): paramsList,code =[],HTTP_ERROR data = format_http_get(URI,0,"") log.info(data) response = cStringIO.StringIO() if dev.openLEDM() == -1: dev.closeLEDM() if dev.openEWS_LEDM() == -1: dev.openMarvell_EWS() dev.writeMarvell_EWS(data) try: while dev.readMarvell_EWS(1024, response, timeout): pass except Error: dev.closeMarvell_EWS() log.error("Unable to read Marvell_EWS Channel") else: dev.writeEWS_LEDM(data) try: while dev.readEWS_LEDM(1024, response, timeout): pass except Error: dev.closeEWS_LEDM() log.error("Unable to read EWS_LEDM Channel") else: dev.writeLEDM(data) try: while dev.readLEDM(1024, response, timeout): pass except Error: dev.closeLEDM() log.error("Unable to read LEDM Channel") #dev.closeEWS_LEDM() strResp = str(response.getvalue()) if strResp is not None: code = get_error_code(strResp) if code == HTTP_OK: strResp = utils.unchunck_xml_data(strResp) pos = strResp.find(xmlRootNode,0,len(strResp)) repstr = strResp[pos:].strip() repstr = filter(lambda c: c not in "\r\t\n", repstr) # To remove formating characters from the received xml repstr = repstr.rstrip('0') # To remove trailing zero from the received xml try: parser_object = utils.extendedExpat() root_element = parser_object.Parse(repstr) xmlReqDataNode = filter(lambda c: c not in "<>", xmlReqDataNode) # To remove '<' and '>' characters reqDataElementList = root_element.getElementsByTagName(xmlReqDataNode) for node in reqDataElementList: repstr = node.toString() repstr = filter(lambda c: c not in "\r\t\n", repstr) # To remove formating characters from the received xml params = utils.XMLToDictParser().parseXML(repstr) paramsList.append(params) except xml.parsers.expat.ExpatError, e: log.debug("XML parser failed: %s" % e) #changed from error to debug
def readXmlDataFromURI(dev, URI, xmlRootNode, xmlChildNode, timeout=5): params, code, elementCount = {}, HTTP_ERROR, 0 data = format_http_get(URI, 0, "") log.info(data) response = cStringIO.StringIO() if dev.openLEDM() == -1: dev.closeLEDM() if dev.openEWS_LEDM() == -1: dev.openMarvell_EWS() dev.writeMarvell_EWS(data) try: while dev.readMarvell_EWS(1024, response, timeout): pass except Error: dev.closeMarvell_EWS() log.error("Unable to read Marvell_EWS Channel") else: dev.writeEWS_LEDM(data) try: while dev.readEWS_LEDM(1024, response, timeout): pass except Error: dev.closeEWS_LEDM() log.error("Unable to read EWS_LEDM Channel") else: dev.writeLEDM(data) try: while dev.readLEDM(1024, response, timeout): pass except Error: dev.closeLEDM() log.error("Unable to read LEDM Channel") #dev.closeEWS_LEDM() strResp = str(response.getvalue()) if strResp is not None: code = get_error_code(strResp) if code == HTTP_OK: strResp = utils.unchunck_xml_data(strResp) pos = strResp.find(xmlRootNode, 0, len(strResp)) repstr = strResp[pos:].strip() repstr = filter( lambda c: c not in "\r\t\n", repstr) # To remove formating characters from the received xml repstr = repstr.rstrip( '0') # To remove trailing zero from the received xml elementCount = repstr.count(xmlChildNode) try: params = utils.XMLToDictParser().parseXML(repstr) except xml.parsers.expat.ExpatError, e: log.debug("XML parser failed: %s" % e) #changed from error to debug
def readXmlDataFromURI(dev,URI,xmlRootNode,xmlChildNode,timeout=5): params,code,elementCount ={},HTTP_ERROR,0 data = format_http_get(URI,0,"") log.info(data) response = cStringIO.StringIO() if dev.openLEDM() == -1: dev.closeLEDM() if dev.openEWS_LEDM() == -1: dev.openMarvell_EWS() dev.writeMarvell_EWS(data) try: while dev.readMarvell_EWS(1024, response, timeout): pass except Error: dev.closeMarvell_EWS() log.error("Unable to read Marvell_EWS Channel") else: dev.writeEWS_LEDM(data) try: while dev.readEWS_LEDM(1024, response, timeout): pass except Error: dev.closeEWS_LEDM() log.error("Unable to read EWS_LEDM Channel") else: dev.writeLEDM(data) try: while dev.readLEDM(1024, response, timeout): pass except Error: dev.closeLEDM() log.error("Unable to read LEDM Channel") #dev.closeEWS_LEDM() strResp = str(response.getvalue()) if strResp is not None: code = get_error_code(strResp) if code == HTTP_OK: strResp = utils.unchunck_xml_data(strResp) pos = strResp.find(xmlRootNode,0,len(strResp)) repstr = strResp[pos:].strip() repstr = filter(lambda c: c not in "\r\t\n", repstr) # To remove formating characters from the received xml repstr = repstr.rstrip('0') # To remove trailing zero from the received xml elementCount = repstr.count(xmlChildNode) try: params = utils.XMLToDictParser().parseXML(repstr) except xml.parsers.expat.ExpatError, e: log.debug("XML parser failed: %s" % e) #changed from error to debug
def readXmlTagDataFromURI(dev, URI, xmlRootNode, xmlReqDataNode, timeout=5): paramsList, code = [], HTTP_ERROR data = format_http_get(URI, 0, "") log.info(data) response = cStringIO.StringIO() if dev.openLEDM() == -1: dev.closeLEDM() if dev.openEWS_LEDM() == -1: dev.openMarvell_EWS() dev.writeMarvell_EWS(data) try: while dev.readMarvell_EWS(1024, response, timeout): pass except Error: dev.closeMarvell_EWS() log.error("Unable to read Marvell_EWS Channel") else: dev.writeEWS_LEDM(data) try: while dev.readEWS_LEDM(1024, response, timeout): pass except Error: dev.closeEWS_LEDM() log.error("Unable to read EWS_LEDM Channel") else: dev.writeLEDM(data) try: while dev.readLEDM(1024, response, timeout): pass except Error: dev.closeLEDM() log.error("Unable to read LEDM Channel") #dev.closeEWS_LEDM() strResp = str(response.getvalue()) if strResp is not None: code = get_error_code(strResp) if code == HTTP_OK: strResp = utils.unchunck_xml_data(strResp) pos = strResp.find(xmlRootNode, 0, len(strResp)) repstr = strResp[pos:].strip() repstr = filter( lambda c: c not in "\r\t\n", repstr) # To remove formating characters from the received xml repstr = repstr.rstrip( '0') # To remove trailing zero from the received xml try: parser_object = utils.extendedExpat() root_element = parser_object.Parse(repstr) xmlReqDataNode = filter( lambda c: c not in "<>", xmlReqDataNode) # To remove '<' and '>' characters reqDataElementList = root_element.getElementsByTagName( xmlReqDataNode) for node in reqDataElementList: repstr = node.toString() repstr = filter( lambda c: c not in "\r\t\n", repstr ) # To remove formating characters from the received xml params = utils.XMLToDictParser().parseXML(repstr) paramsList.append(params) except xml.parsers.expat.ExpatError, e: log.debug("XML parser failed: %s" % e) #changed from error to debug