コード例 #1
0
ファイル: parameter.py プロジェクト: eventable/PyCalendar
 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
ファイル: geovalue.py プロジェクト: gingerkaan/serveros
    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
ファイル: geovalue.py プロジェクト: eventable/PyCalendar
    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
ファイル: period.py プロジェクト: gingerkaan/serveros
    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
ファイル: period.py プロジェクト: eventable/PyCalendar
    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
ファイル: property.py プロジェクト: eventable/PyCalendar
    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
ファイル: datetime.py プロジェクト: eventable/PyCalendar
 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
ファイル: componentbase.py プロジェクト: eventable/PyCalendar
    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
ファイル: calendar.py プロジェクト: eventable/PyCalendar
    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
ファイル: componentbase.py プロジェクト: eventable/PyCalendar
    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
ファイル: datetime.py プロジェクト: eventable/PyCalendar
 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
ファイル: componentbase.py プロジェクト: eventable/PyCalendar
    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
ファイル: componentbase.py プロジェクト: eventable/PyCalendar
    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
ファイル: componentbase.py プロジェクト: eventable/PyCalendar
    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
ファイル: parameter.py プロジェクト: eventable/PyCalendar
 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
ファイル: value.py プロジェクト: eventable/PyCalendar
 def getXMLNode(self, node, namespace):
     return XML.SubElement(
         node, xmlutils.makeTag(namespace, self._xmlMap[self.getType()]))
コード例 #25
0
ファイル: value.py プロジェクト: eventable/PyCalendar
 def getXMLNode(self, node, namespace):
     return XML.SubElement(node, xmlutils.makeTag(namespace, self._xmlMap[self.getType()]))