original_docstring: Fonction qui parse le fichier XML
docstring: Fonction qui parse le fichier XML
docstring_tokens: Fonction qui parse le fichier XML
code: def parse_xml_drivers(e):
      """Fonction qui parse le fichier XML"""
      # Utilisons la fonction parse pour analyser le DOM
      doc = xml.dom.minidom.parse(e)
      # Creons la sortie
      output = []
      # Variable tempo pour la liste des Modbus
      driver_item = []
      driver_offset = {}
      # Une fois récupéré le noeud nous allons chercher le ModbusTCPClient
      drivers = doc.getElementsByTagName(driver_name)
      for driver in drivers[0].childNodes:
          if ((driver.nodeType != driver.TEXT_NODE) and (driver.hasAttribute("PointIOKey"))):
              driver_item.append({"tagname":driver.tagName,"PointIOKey":driver.getAttribute("PointIOKey")})
          # Lecture des Offset
          if ((driver.nodeType != driver.TEXT_NODE) and (driver.tagName == "PointIOOffset")):
              for driver_offset_item in driver_offset_list:
                  driver_offset[driver_offset_item]=(0,int(driver.getAttribute(driver_offset_item)))[driver.hasAttribute(driver_offset_item)]
      # allons chercher le noeud GroupIO dans la liste des objets
      GroupIOs = doc.getElementsByTagName("GroupIO")
      for GroupIO in GroupIOs:
          for node in GroupIO.childNodes:
              # Nous récupérons alors la liste des items avec le type de variable, le nom et l"adresse
              if (node.nodeType != node.TEXT_NODE):
                  output.append(create_obj_line(node,driver_item,driver_offset))
      return output
code_tokens: def parse_xml_drivers ( e ) : doc = xml . dom . minidom . parse ( e ) output = [ ] driver_item = [ ] driver_offset = { } drivers = doc . getElementsByTagName ( driver_name ) for driver in drivers [ 0 ] . childNodes : if ( ( driver . nodeType != driver . TEXT_NODE ) and ( driver . hasAttribute ( "PointIOKey" ) ) ) : driver_item . append ( { "tagname" : driver . tagName , "PointIOKey" : driver . getAttribute ( "PointIOKey" ) } ) if ( ( driver . nodeType != driver . TEXT_NODE ) and ( driver . tagName == "PointIOOffset" ) ) : for driver_offset_item in driver_offset_list : driver_offset [ driver_offset_item ] = ( 0 , int ( driver . getAttribute ( driver_offset_item ) ) ) [ driver . hasAttribute ( driver_offset_item ) ] GroupIOs = doc . getElementsByTagName ( "GroupIO" ) for GroupIO in GroupIOs : for node in GroupIO . childNodes : if ( node . nodeType != node . TEXT_NODE ) : output . append ( create_obj_line ( node , driver_item , driver_offset ) ) return output
short_docstring: Fonction qui parse le fichier XML
short_docstring_tokens: Fonction qui parse le fichier XML
comment: """Fonction qui parse le fichier XML"""$SEP$# Utilisons la fonction parse pour analyser le DOM$SEP$# Creons la sortie$SEP$# Variable tempo pour la liste des Modbus$SEP$# Une fois récupéré le noeud nous allons chercher le ModbusTCPClient$SEP$# Lecture des Offset$SEP$# allons chercher le noeud GroupIO dans la liste des objets$SEP$# Nous récupérons alors la liste des items avec le type de variable, le nom et l"adresse