示例#1
0
 def writeXML(self, node, namespace):
     param = XML.SubElement(node, xmlutils.makeTag(namespace,
                                                   self.getName()))
     for value in self.getValues():
         # TODO: need to figure out proper value types
         text = XML.SubElement(
             param, xmlutils.makeTag(namespace, xmldefinitions.value_text))
         text.text = value
示例#2
0
    def writeXML(self, node, namespace):
        value = self.getXMLNode(node, namespace)

        latitude = XML.SubElement(value, xmlutils.makeTag(namespace, xmldefinitions.geo_latitude))
        latitude.text = self.mValue[0]

        longitude = XML.SubElement(value, xmlutils.makeTag(namespace, xmldefinitions.geo_longitude))
        longitude.text = self.mValue[1]
示例#3
0
    def writeXML(self, node, namespace):
        value = self.getXMLNode(node, namespace)

        latitude = XML.SubElement(value, xmlutils.makeTag(namespace, xmldefinitions.geo_latitude))
        latitude.text = self.mValue[0]

        longitude = XML.SubElement(value, xmlutils.makeTag(namespace, xmldefinitions.geo_longitude))
        longitude.text = self.mValue[1]
示例#4
0
    def writeXML(self, node, namespace):
        start = XML.SubElement(node, xmlutils.makeTag(namespace, xmldefinitions.period_start))
        start.text = self.mStart.getXMLText()

        if self.mUseDuration:
            duration = XML.SubElement(node, xmlutils.makeTag(namespace, xmldefinitions.period_duration))
            duration.text = self.mDuration.getText()
        else:
            end = XML.SubElement(node, xmlutils.makeTag(namespace, xmldefinitions.period_end))
            end.text = self.mEnd.getXMLText()
示例#5
0
    def writeXML(self, node, namespace):
        start = XML.SubElement(node, xmlutils.makeTag(namespace, xmldefinitions.period_start))
        start.text = self.mStart.getXMLText()

        if self.mUseDuration:
            duration = XML.SubElement(node, xmlutils.makeTag(namespace, xmldefinitions.period_duration))
            duration.text = self.mDuration.getText()
        else:
            end = XML.SubElement(node, xmlutils.makeTag(namespace, xmldefinitions.period_end))
            end.text = self.mEnd.getXMLText()
示例#6
0
    def writeXML(self, node, namespace):
        value = self.getXMLNode(node, namespace)

        code = XML.SubElement(value, xmlutils.makeTag(namespace, xmldefinitions.req_status_code))
        code.text = self.mValue[0]

        description = XML.SubElement(value, xmlutils.makeTag(namespace, xmldefinitions.req_status_description))
        description.text = self.mValue[1]

        if len(self.mValue) == 3 and self.mValue[2]:
            data = XML.SubElement(value, xmlutils.makeTag(namespace, xmldefinitions.req_status_data))
            data.text = self.mValue[2]
示例#7
0
    def generateValueXML(self, node, namespace, novalue):

        prop = XML.SubElement(node, xmlutils.makeTag(namespace, self.getName()))

        # Write all parameters
        if len(self.mParameters):
            params = XML.SubElement(prop, xmlutils.makeTag(namespace, xmldefinitions.parameters))
            for key in sorted(self.mParameters.keys()):
                for attr in self.mParameters[key]:
                    if attr.getName().lower() != "value":
                        attr.writeXML(params, namespace)

        # Write value
        if self.mValue and not novalue:
            self.mValue.writeXML(prop, namespace)
示例#8
0
    def generateValueXML(self, node, namespace, novalue):

        prop = XML.SubElement(node, xmlutils.makeTag(namespace, self.getName()))

        # Write all parameters
        if len(self.mParameters):
            params = XML.SubElement(prop, xmlutils.makeTag(namespace, xmldefinitions.parameters))
            for key in sorted(self.mParameters.keys()):
                for attr in self.mParameters[key]:
                    if attr.getName().lower() != "value":
                        attr.writeXML(params, namespace)

        # Write value
        if self.mValue and not novalue:
            self.mValue.writeXML(prop, namespace)
示例#9
0
 def writeXML(self, node, namespace):
     value = XML.SubElement(
         node,
         xmlutils.makeTag(
             namespace, xmldefinitions.value_date
             if self.isDateOnly() else xmldefinitions.value_date_time))
     value.text = self.getXMLText()
示例#10
0
    def writeComponentsXML(self, node, namespace):

        if self.mComponents:
            comps = XML.SubElement(node, xmlutils.makeTag(namespace, xmldefinitions.components))

            # Write out the remainder
            for component in self.sortedComponents():
                component.writeXML(comps, namespace)
示例#11
0
    def writeXML(self, includeTimezones=None):
        # Make sure all required timezones are in this object
        self.includeMissingTimezones(includeTimezones=includeTimezones)

        # Root node structure
        root = XML.Element(xmlutils.makeTag(xmldefinitions.iCalendar20_namespace, xmldefinitions.icalendar))
        super(Calendar, self).writeXML(root, xmldefinitions.iCalendar20_namespace)
        return root
示例#12
0
    def writeXML(self, includeTimezones=None):
        # Make sure all required timezones are in this object
        self.includeMissingTimezones(includeTimezones=includeTimezones)

        # Root node structure
        root = XML.Element(xmlutils.makeTag(xmldefinitions.iCalendar20_namespace, xmldefinitions.icalendar))
        super(Calendar, self).writeXML(root, xmldefinitions.iCalendar20_namespace)
        return root
示例#13
0
    def writeXMLFiltered(self, node, namespace, filter):
        # Component element
        comp = XML.SubElement(node, xmlutils.makeTag(namespace, self.getType()))

        # Each property
        self.writePropertiesFilteredXML(comp, namespace, filter)

        # Each component
        self.writeComponentsFilteredXML(comp, namespace, filter)
示例#14
0
 def writeXML(self, node, namespace):
     value = XML.SubElement(
         node,
         xmlutils.makeTag(
             namespace,
             xmldefinitions.value_date if self.isDateOnly() else xmldefinitions.value_date_time
         )
     )
     value.text = self.getXMLText()
示例#15
0
    def writeComponentsXML(self, node, namespace):

        if self.mComponents:
            comps = XML.SubElement(
                node, xmlutils.makeTag(namespace, xmldefinitions.components))

            # Write out the remainder
            for component in self.sortedComponents():
                component.writeXML(comps, namespace)
示例#16
0
    def writePropertiesXML(self, node, namespace):

        properties = XML.SubElement(node, xmlutils.makeTag(namespace, xmldefinitions.properties))

        # Sort properties by name
        keys = self.sortedPropertyKeys()
        for key in keys:
            props = self.mProperties[key]
            for prop in props:
                prop.writeXML(properties, namespace)
示例#17
0
    def writeXMLFiltered(self, node, namespace, filter):
        # Component element
        comp = XML.SubElement(node, xmlutils.makeTag(namespace,
                                                     self.getType()))

        # Each property
        self.writePropertiesFilteredXML(comp, namespace, filter)

        # Each component
        self.writeComponentsFilteredXML(comp, namespace, filter)
示例#18
0
    def writePropertiesXML(self, node, namespace):

        properties = XML.SubElement(
            node, xmlutils.makeTag(namespace, xmldefinitions.properties))

        # Sort properties by name
        keys = self.sortedPropertyKeys()
        for key in keys:
            props = self.mProperties[key]
            for prop in props:
                prop.writeXML(properties, namespace)
示例#19
0
    def writeComponentsFilteredXML(self, node, namespace, filter):

        if self.mComponents:
            comps = XML.SubElement(node, xmlutils.makeTag(namespace, xmldefinitions.components))

            # Shortcut for all sub-components
            if filter.isAllSubComponents():
                self.writeXML(comps, namespace)
            elif filter.hasSubComponentFilters():
                for subcomp in self.sortedcomponents():
                    subfilter = filter.getSubComponentFilter(subcomp.getType())
                    if subfilter is not None:
                        subcomp.writeXMLFiltered(comps, namespace, subfilter)
示例#20
0
    def writeComponentsFilteredXML(self, node, namespace, filter):

        if self.mComponents:
            comps = XML.SubElement(
                node, xmlutils.makeTag(namespace, xmldefinitions.components))

            # Shortcut for all sub-components
            if filter.isAllSubComponents():
                self.writeXML(comps, namespace)
            elif filter.hasSubComponentFilters():
                for subcomp in self.sortedcomponents():
                    subfilter = filter.getSubComponentFilter(subcomp.getType())
                    if subfilter is not None:
                        subcomp.writeXMLFiltered(comps, namespace, subfilter)
示例#21
0
    def writePropertiesFilteredXML(self, node, namespace, filter):

        props = XML.SubElement(node, xmlutils.makeTag(namespace, xmldefinitions.properties))

        # Sort properties by name
        keys = self.sortedPropertyKeys()

        # Shortcut for all properties
        if filter.isAllProperties():
            for key in keys:
                for prop in self.getProperties(key):
                    prop.writeXML(props, namespace)
        elif filter.hasPropertyFilters():
            for key in keys:
                for prop in self.getProperties(key):
                    prop.writeXMLFiltered(props, namespace, filter)
示例#22
0
    def writePropertiesFilteredXML(self, node, namespace, filter):

        props = XML.SubElement(
            node, xmlutils.makeTag(namespace, xmldefinitions.properties))

        # Sort properties by name
        keys = self.sortedPropertyKeys()

        # Shortcut for all properties
        if filter.isAllProperties():
            for key in keys:
                for prop in self.getProperties(key):
                    prop.writeXML(props, namespace)
        elif filter.hasPropertyFilters():
            for key in keys:
                for prop in self.getProperties(key):
                    prop.writeXMLFiltered(props, namespace, filter)
示例#23
0
 def writeXML(self, node, namespace):
     param = XML.SubElement(node, xmlutils.makeTag(namespace, self.getName()))
     for value in self.getValues():
         # TODO: need to figure out proper value types
         text = XML.SubElement(param, xmlutils.makeTag(namespace, xmldefinitions.value_text))
         text.text = value
示例#24
0
 def getXMLNode(self, node, namespace):
     return XML.SubElement(
         node, xmlutils.makeTag(namespace, self._xmlMap[self.getType()]))
示例#25
0
 def getXMLNode(self, node, namespace):
     return XML.SubElement(node, xmlutils.makeTag(namespace, self._xmlMap[self.getType()]))