a F `@sDddlmZddlmZddgZGdddeZGdddeZdS)) ElementTree)minidom XMLParser XMLGeneratorc@seZdZdZeddZeddZeddZedd Zed d Z ed d Z eddZ eddZ eddZ eddZeddZeddZeddZdS)rzClass for parsing XML.cCs t|SN)rZ fromstring)xmlr./usr/lib/python3.9/site-packages/dasbus/xml.pyxml_to_element$szXMLParser.xml_to_elementcCs |jdvS)N)methodsignalpropertytagZ member_noderrr is_member(szXMLParser.is_membercCs |jdkS)N interfacerrrrr is_interface,szXMLParser.is_interfacecCs |jdkS)Nr rrrrr is_signal0szXMLParser.is_signalcCs |jdkS)Nr rrrrr is_method4szXMLParser.is_methodcCs |jdkS)Nr rrrrr is_property8szXMLParser.is_propertycCs |jdkS)Nargrrrrr is_parameter<szXMLParser.is_parametercCs|jdd|kS)Nname)attribget)nodeZ node_namerrr has_name@szXMLParser.has_namecCs |jdS)Nrrrrrr get_nameDszXMLParser.get_namecCs |jdS)Ntyperr rrr get_typeHszXMLParser.get_typecCs |jdS)Naccessrr rrr get_accessLszXMLParser.get_accesscCs |jdS)N directionrr rrr get_directionPszXMLParser.get_directioncCs(t}|dD]}|||jd<q|S)zsz-XMLGenerator.prettify_xml..z )indent canonicalizec_s|Srr)rargskwargsrrr zr6z+XMLGenerator.prettify_xml..T)Z with_comments)join splitlinesrZ parseStringZ toprettyxmlgetattrr)rZxml_liner8rrr prettify_xmlks  zXMLGenerator.prettify_xmlcCs||dS)z/Append the child element to the parent element.N)append)Zparent_elementZ child_elementrrr add_childszXMLGenerator.add_childcCs|tj|ddS)N)text)r@rComment)r)Zcommentrrr add_commentszXMLGenerator.add_commentcCs tdS)z"Create a node element called node.rrZElementrrrr create_nodeszXMLGenerator.create_nodecCstdd|iS)zCreate an interface element.rrrErrrr create_interfaceszXMLGenerator.create_interfacecCstdd|iS)zCreate a signal element.r rrErGrrr create_signalszXMLGenerator.create_signalcCstdd|iS)zCreate a method element.r rrErGrrr create_methodszXMLGenerator.create_methodcCsd}|||d}t||S)zCreate a parameter element.r)rr"r&rE)rZ param_typer&rattrrrr create_parameters zXMLGenerator.create_parametercCsd}|||d}t||S)zCreate a property element.r )rr"r$rE)rZ property_typer$rrKrrr create_propertys zXMLGenerator.create_propertyN)r+r,r-r.r/r1r?rArDrFrHrIrJrLrMrrrr r_s*         N)Z xml.etreerZxml.domr__all__objectrrrrrr s  >