Пример #1
0
    def __init__(self, node=None):
        Node.__init__(
            self,
            node if node is not None else xml.etree.ElementTree.fromstring(
                default_constraintunittype_profile))
        [uri, tag] = normalize(self.node.tag)

        cc = self.node.findall('{%s}Or' % get_long_ns('rtc'))
        if len(cc) != 0:
            self.constraint = Or(cc[0])
            self.children.append(self.constraint)
        else:
            cc = self.node.findall('{%s}Constraint' % get_long_ns('rtc'))
            if len(cc) != 0:
                self.constraint = Constraint(cc[0])
                self.children.append(self.constraint)
            else:
                cc = self.node.findall('{%s}propertyIsEqualTo' %
                                       get_long_ns('rtc'))
                if len(cc) != 0:
                    self.constraint = PropertyIsEqualTo(cc[0])
                    self.children.append(self.constraint)
                else:
                    pass
                pass
            pass
Пример #2
0
 def get_pointsinfo(self):
     pointsinfo = []
     try:
         if self.xml:
             Nodes = self.xml.getElementsByTagName("POIContext")
             for Node in Nodes:
                 pointinfo = dict({"ADDRESS": "", "NAME": "", "TEL": "", "clongitude": 0, "clatitude": 0})
                 pointNodes = Node.getElementsByTagName("POIInfo")
                 for pointNode in pointNodes:
                     for field in ("ADDRESS", "NAME", "TEL"):
                         if pointNode.attributes["name"].value == field:
                             pointinfo[field] = pointNode.attributes["value"].value
                 TELs = pointinfo["TEL"].split(";")
                 if len(TELs) > 2:
                     pointinfo["TEL"] = TELs[0] + u";" + TELs[1]
                 posNode = Node.getElementsByTagName("pos")
                 if posNode:
                     lon_lat = posNode[0].childNodes[0].data
                     pointinfo["clongitude"] = float(lon_lat.split(" ")[0]) * 3600000
                     pointinfo["clatitude"] = float(lon_lat.split(" ")[1]) * 3600000
                 if not pointinfo["ADDRESS"]:
                     placeNodes = Node.getElementsByTagName("Place")
                     for placeNode in placeNodes:
                         if placeNode.attributes["type"].value == "Municipality":
                             city = placeNode.childNodes[0].data
                         elif placeNode.attributes["type"].value == "CountrySubdivision":
                             province = placeNode.childNodes[0].data
                     if city == u"市辖区":
                         pointinfo["ADDRESS"] = province
                     else:
                         pointinfo["ADDRESS"] = city
                 pointsinfo.append(pointinfo)
     except Exception as e:
         logging.exception("GV: Parse points exception:%s", e.args[0])
     return pointsinfo
Пример #3
0
 def __init__(self, node=None):
     Node.__init__(
         self,
         xml.etree.ElementTree.fromstring(node)
         if type(node) is types.StringType else node if node is not None
         else xml.etree.ElementTree.fromstring(default_doc_profile))
     if node is None:
         self['rtcDoc:description'] = ''
 def __init__(self, node):
     Node.__init__(self, node)
     [uri, tag] = normalize(node.tag)
     for child in node.getchildren():
         [c_uri, c_tag] = normalize(child.tag)
         a = Action(child)
         self.__dict__[c_tag] = a
         self.children.append(a)
Пример #5
0
	def attrs( self, document:'Document', node:Node, attributes:Optional[Union[Dict[str,str],Iterable[str]]]=None ):
		attrs = attributes.items() if isinstance(attributes, dict) or isinstance(attributes, OrderedDict) else enumerate(attributes)
		for name, value in attrs:
			if self.isAttributeValue(value):
				node.setAttribute(name, str(value))
			else:
				node.appendChild(self.node( document, name, value ))
		return node
Пример #6
0
 def __init__(self, node):
     Node.__init__(self, node)
     [uri, tag] = normalize(node.tag)
     for child in node.getchildren():
         [c_uri, c_tag] = normalize(child.tag)
         a = Action(child)
         self.__dict__[c_tag] = a
         self.children.append(a)
Пример #7
0
    def __init__(self, node=None):
        Node.__init__(self, node if node is not None else xml.etree.ElementTree.fromstring(default_or_profile))

        self.constraints = []
        cc = self.node.findall('{%s}Constraint' % get_long_ns('rtc'))
        for c in cc:
            self.appendConstraint(Constraint(c))
            pass
Пример #8
0
 def __init__(self, node=None):
     Node.__init__(self, node if node is not None else xml.etree.ElementTree.fromstring(default_serviceinterface_profile))
     docs = self.node.findall('{%s}Doc' % get_long_ns('rtcDoc'))
     if len(docs) != 0:
         self.doc = Doc(docs[0])
     else:
         self.doc = Doc()
     self.children.append(self.doc)
Пример #9
0
 def __init__(self, node=None):
     Node.__init__(self, node if node is not None else xml.etree.ElementTree.fromstring(default_configurationset_profile))
     [uri, tag] = normalize(self.node.tag)
     self.configurations = []
     for c in self.node.findall('{%s}Configuration' % uri):
         conf = Configuration(c)
         self.configurations.append(conf)
         self.children.append(conf)
Пример #10
0
 def __init__(self, node):
     Node.__init__(self, node)
     docs = self.node.findall('{%s}Doc' % get_long_ns('rtcDoc'))
     if len(docs) != 0:
         self.doc = Doc(docs[0])
     else:
         self.doc = Doc(default_action_doc_profile)
     self.children.append(self.doc)
Пример #11
0
 def __init__(self, node):
     Node.__init__(self, node)
     docs = self.node.findall('{%s}Doc' % get_long_ns('rtcDoc'))
     if len(docs) != 0:
         self.doc = Doc(docs[0])
     else:
         self.doc = Doc(default_action_doc_profile)
     self.children.append(self.doc)
Пример #12
0
 def __init__(self, node=None):
     Node.__init__(self, node if node is not None else xml.etree.ElementTree.fromstring(default_constraint_profile))
     [uri, tag] = normalize(self.node.tag)
     ut = self.node.findall('{%s}ConstraintUnitType' % get_long_ns('rtc'))
     if len(ut) != 0:
         self.constraintUnitType = ConstraintUnitType(ut[0])
     else:
         self.constraintUnitType = ConstraintUnitType()
     self.children.append(self.constraintUnitType)
Пример #13
0
 def __init__(self, node=None):
     Node.__init__(
         self,
         xml.etree.ElementTree.fromstring(node)
         if type(node) is types.StringType else node if node is not None
         else xml.etree.ElementTree.fromstring(default_properties_profile))
     if node is None:
         self['rtcExt:name'] = '__widget__'
         self['rtcExt:value'] = 'text'
Пример #14
0
    def __init__(self, node=None):
        Node.__init__(self, node if node is not None else xml.etree.ElementTree.fromstring(default_propertyisequalto_profile))

        cc = self.node.findall('{%s}Literal' % get_long_ns('rtc'))
        if len(cc) != 0:
            self.literal = Literal(cc[0])
        else:
            self.literal = Literal()

        self.children.append(self.literal)
Пример #15
0
 def __init__(self, node=None):
     Node.__init__(
         self, node if node is not None else
         xml.etree.ElementTree.fromstring(default_serviceinterface_profile))
     docs = self.node.findall('{%s}Doc' % get_long_ns('rtcDoc'))
     if len(docs) != 0:
         self.doc = Doc(docs[0])
     else:
         self.doc = Doc()
     self.children.append(self.doc)
    def __init__(self, node=None):
        Node.__init__(
            self, node if node is not None else xml.etree.ElementTree.fromstring(default_serviceinterface_profile)
        )

        docs = node.findall("{%s}Doc" % get_long_ns("rtcDoc"))
        if len(docs) != 0:
            self.doc = Doc(docs[0])
        else:
            self.doc = Doc()
Пример #17
0
 def __init__(self, node=None):
     Node.__init__(
         self, node if node is not None else
         xml.etree.ElementTree.fromstring(default_configurationset_profile))
     [uri, tag] = normalize(self.node.tag)
     self.configurations = []
     for c in self.node.findall('{%s}Configuration' % uri):
         conf = Configuration(c)
         self.configurations.append(conf)
         self.children.append(conf)
Пример #18
0
    def __init__(self, node=None):
        Node.__init__(
            self, node if node is not None else
            xml.etree.ElementTree.fromstring(default_or_profile))

        self.constraints = []
        cc = self.node.findall('{%s}Constraint' % get_long_ns('rtc'))
        for c in cc:
            self.appendConstraint(Constraint(c))
            pass
    def __init__(self, node=None):
        Node.__init__(
            self, node if node is not None else xml.etree.ElementTree.fromstring(default_configuration_profile)
        )

        docs = self.node.findall("{%s}Doc" % get_long_ns("rtcDoc"))
        if len(docs) != 0:
            self.doc = Doc(docs[0])
        else:
            self.doc = Doc()
        self.children.append(self.doc)
 def __init__(self, node=None):
     Node.__init__(
         self,
         xml.etree.ElementTree.fromstring(node)
         if type(node) is types.StringType
         else node
         if node is not None
         else xml.etree.ElementTree.fromstring(default_doc_profile),
     )
     if node is None:
         self["rtcDoc:description"] = ""
Пример #21
0
 def __init__(self, node=None):
     Node.__init__(
         self, node if node is not None else
         xml.etree.ElementTree.fromstring(default_constraint_profile))
     [uri, tag] = normalize(self.node.tag)
     ut = self.node.findall('{%s}ConstraintUnitType' % get_long_ns('rtc'))
     if len(ut) != 0:
         self.constraintUnitType = ConstraintUnitType(ut[0])
     else:
         self.constraintUnitType = ConstraintUnitType()
     self.children.append(self.constraintUnitType)
Пример #22
0
    def __init__(self, node=None):
        Node.__init__(
            self,
            node if node is not None else xml.etree.ElementTree.fromstring(
                default_propertyisequalto_profile))

        cc = self.node.findall('{%s}Literal' % get_long_ns('rtc'))
        if len(cc) != 0:
            self.literal = Literal(cc[0])
        else:
            self.literal = Literal()

        self.children.append(self.literal)
Пример #23
0
    def __init__(self, node=None):
        Node.__init__(self, node if node is not None else xml.etree.ElementTree.fromstring(default_dataport_profile))
        #[uri, tag] = normalize(node.tag)
        #self.serviceInterfaces = []
        #for si in node.findall('{%s}ServiceInterface' % uri):
        #    self.serviceInterfaces.append(Node(si))
        #    self.children.append(Node(si))
        docs = self.node.findall('{%s}Doc' % get_long_ns('rtcDoc'))
        if len(docs) != 0:
            self.doc = Doc(docs[0])
        else:
            self.doc = Doc()

        self.children.append(self.doc)
    def __init__(self, node=None):
        Node.__init__(self, node if node is not None else xml.etree.ElementTree.fromstring(default_serviceport_profile))
        [uri, tag] = normalize(self.node.tag)
        self.serviceInterfaces = []
        for si in self.node.findall("{%s}ServiceInterface" % uri):
            self.serviceInterfaces.append(ServiceInterface(si))
            self.children.append(Node(si))

        docs = node.findall("{%s}Doc" % get_long_ns("rtcDoc"))
        if len(docs) != 0:
            self.doc = Doc(docs[0])
        else:
            self.doc = Doc()
        self.children.append(self.doc)
Пример #25
0
 def get_position(self):
 
    position = dict(clon='',
                    clat='')
    try:
        if self.xml:
            Nodes = self.xml.getElementsByTagName("property")
            for Node in Nodes:
                if Node.hasAttribute('key') and Node.attributes['key'].value == "china_lng":
                    position['clon'] = int(float(Node.childNodes[0].data) / 1.024)
                elif Node.hasAttribute('key') and Node.attributes['key'].value == "china_lat":
                    position['clat'] = int(float(Node.childNodes[0].data) / 1.024)
    except Exception as e:
        logging.exception("GE: Parse ge position exception:%s", e.args[0]) 
    return position
Пример #26
0
    def __init__(self, node=None):
        Node.__init__(
            self, node if node is not None else
            xml.etree.ElementTree.fromstring(default_dataport_profile))
        #[uri, tag] = normalize(node.tag)
        #self.serviceInterfaces = []
        #for si in node.findall('{%s}ServiceInterface' % uri):
        #    self.serviceInterfaces.append(Node(si))
        #    self.children.append(Node(si))
        docs = self.node.findall('{%s}Doc' % get_long_ns('rtcDoc'))
        if len(docs) != 0:
            self.doc = Doc(docs[0])
        else:
            self.doc = Doc()

        self.children.append(self.doc)
Пример #27
0
    def __init__(self, node=None):
        Node.__init__(self, node if node is not None else xml.etree.ElementTree.fromstring(default_configuration_profile))

        docs = self.node.findall('{%s}Doc' % get_long_ns('rtcDoc'))
        if len(docs) != 0:
            self.doc = Doc(docs[0])
        else:
            self.doc = Doc()
        self.children.append(self.doc)

        props = self.node.findall('{%s}Properties' % get_long_ns('rtcExt'))
        if len(props) != 0:
            self.properties = Properties(props[0])
        else:
            self.properties = Properties()
        self.children.append(self.properties)

        const = self.node.findall('{%s}Constraint' % get_long_ns('rtc'))
        if len(const) != 0:
            self.constraint = Constraint(const[0])
            self.children.append(self.constraint)
Пример #28
0
    def __init__(self, node=None):
        Node.__init__(self, node if node is not None else xml.etree.ElementTree.fromstring(default_constraintunittype_profile))
        [uri, tag] = normalize(self.node.tag)


        cc = self.node.findall('{%s}Or' % get_long_ns('rtc'))
        if len(cc) != 0:
            self.constraint = Or(cc[0])
            self.children.append(self.constraint)
        else:
            cc = self.node.findall('{%s}Constraint' % get_long_ns('rtc'))
            if len(cc) != 0:
                self.constraint = Constraint(cc[0])
                self.children.append(self.constraint)
            else:
                cc = self.node.findall('{%s}propertyIsEqualTo' % get_long_ns('rtc'))
                if len(cc) != 0:
                    self.constraint = PropertyIsEqualTo(cc[0])
                    self.children.append(self.constraint)
                else:
                    pass
                pass
            pass
Пример #29
0
    def __init__(self, node=None):
        Node.__init__(
            self, node if node is not None else
            xml.etree.ElementTree.fromstring(default_configuration_profile))

        docs = self.node.findall('{%s}Doc' % get_long_ns('rtcDoc'))
        if len(docs) != 0:
            self.doc = Doc(docs[0])
        else:
            self.doc = Doc()
        self.children.append(self.doc)

        props = self.node.findall('{%s}Properties' % get_long_ns('rtcExt'))
        if len(props) != 0:
            self.properties = Properties(props[0])
        else:
            self.properties = Properties()
        self.children.append(self.properties)

        const = self.node.findall('{%s}Constraint' % get_long_ns('rtc'))
        if len(const) != 0:
            self.constraint = Constraint(const[0])
            self.children.append(self.constraint)
Пример #30
0
 def addElementToNode(self, Node, sName):
     x = Node.createElement(sName)
     print x
     self.Node.appendChild(x)
     return Node 
Пример #31
0
	def add( self, document, node:Node, child:Node ) -> Node:
		if node.nodeType == Node.TEXT_NODE:
			return node
		elif isinstance(child, dict) or isinstance(child, OrderedDict):
			for k,v in child.items():
				if self.isAttributeValue(v):
					node.setAttributeNS(None, k, str(v))
				else:
					node.appendChild(self.node( document, k, v ))
		elif isinstance(child, str) or isinstance(child, str):
			node.appendChild(document.createTextNode(child))
		elif isinstance(child, list) or isinstance(child, tuple):
			for i,v in enumerate(child):
				node.appendChild(self.node( document, "item", {"index":i}, v))
		elif child:
			node.appendChild(child)
		return node
Пример #32
0
 def deepcopy(self, obj):
     return Node.deepcopy(self, obj)
Пример #33
0
 def setState(self, value):
     Node = self.__doc.createElement("State")
     Node.setAttribute("value", value)
     self.__TestResultNode.appendChild(Node)
     return
Пример #34
0
 def __init__(self, node=None):
     Node.__init__(
         self, node if node is not None else
         xml.etree.ElementTree.fromstring(default_literal_profile))
     self.text = self.node.text
 def __init__(self, node):
     Node.__init__(self, node)
Пример #36
0
    def __init__(self, filename="", str=""):
        try:
            # print str
            self._filename = filename
            if len(filename) > 0:
                et = xml.etree.ElementTree.parse(self.path)
                root = et.getroot()
            elif len(str) > 0:
                root = xml.etree.ElementTree.fromstring(str)
            else:
                root = xml.etree.ElementTree.fromstring(default_rtcprofile)

            self.node = root
            self.attrib = root.attrib
            self.children = []

            [uri, tag] = normalize(root.tag)
            for basicInfo in root.findall('{%s}BasicInfo' % uri):
                self.name = basicInfo.attrib['{%s}name' % uri]
                self.category = basicInfo.attrib['{%s}category' % uri]
                self.basicInfo = Node(basicInfo)
                docs = basicInfo.findall('{%s}Doc' % get_long_ns('rtcDoc'))
                if len(docs) != 0:
                    self.basicInfo.doc = Doc(docs[0])
                else:
                    self.basicInfo.doc = Doc(default_basicInfo_doc_str)
                self.basicInfo.children.append(self.basicInfo.doc)

                self.children.append(self.basicInfo)

            for language in root.findall('{%s}Language' % uri):
                self.language = Node(
                    language)  #language.attrib['{%s}kind' % uri]
                #docs = language.findall('{%s}Doc' % get_long_ns('rtcDoc'))
                #if len(docs) != 0:
                #    self.language.doc = Doc(docs[0])
                #else:
                #    self.language.doc = Doc()
                #self.language.children.append(self.language.doc)
                self.children.append(self.language)

            for action in root.findall('{%s}Actions' % uri):
                self.actions = Actions(action)
                self.children.append(self.actions)

            self.dataports = []
            for dport in root.findall('{%s}DataPorts' % uri):
                dp = DataPort(dport)
                self.dataports.append(dp)  #Node(dport))
                self.children.append(dp)  #Node(dport))
                #self.dataports.append(DataPort(dport.attrib['{%s}name' % uri],
                #                               dport.attrib['{%s}type' % uri],
                #                               dport.attrib['{%s}portType' % uri]))

            self.serviceports = []
            for sport in root.findall('{%s}ServicePorts' % uri):
                sp = ServicePort(sport)
                self.serviceports.append(sp)
                self.children.append(sp)

            self.configurationSet = None
            # self.children.append(self.configurationSet)
            if len(root.findall('{%s}ConfigurationSet' % uri)) > 1:
                raise InvalidRTCProfileError(
                    filename, 'Multiple ConfigurationSet Node.')

            for cset in root.findall('{%s}ConfigurationSet' % uri):
                cs = ConfigurationSet(cset)
                self.configurationSet = cs
                self.children.append(cs)
                break

        except Exception, e:
            traceback.print_exc()
            raise InvalidRTCProfileError(filename, 'Parsing Error')
Пример #37
0
 def __init__(self, node=None):
     Node.__init__(self, xml.etree.ElementTree.fromstring(node) if type(node) is types.StringType else node if node is not None else xml.etree.ElementTree.fromstring(default_properties_profile))
     if node is None:
         self['rtcExt:name'] = '__widget__'
         self['rtcExt:value'] = 'text'
Пример #38
0
 def deepcopy(self, obj):
     return Node.deepcopy(self, obj)
Пример #39
0
 def __init__(self, node=None):
     Node.__init__(self, node if node is not None else xml.etree.ElementTree.fromstring(default_literal_profile))
     self.text = self.node.text