def handle_timeCoverageType(self, element):  # noqa
        # name="timeCoverageType">
        #   <xsd:sequence>
        #     <xsd:choice minOccurs="2" maxOccurs="3" >
        #       <xsd:element name="start" type="dateTypeFormatted"/>
        #       <xsd:element name="end" type="dateTypeFormatted"/>
        #       <xsd:element name="duration" type="duration"/>
        #     </xsd:choice>
        #     <xsd:element name="resolution" type="duration" minOccurs="0"/>
        #   </xsd:sequence>
        parsed = {}
        tags = []
        for child in element:
            tags.append(child.tag)
        valid_num_elements = len(tags) >= 2 & len(tags) <= 3
        if valid_num_elements:
            for child in element:
                value = {}
                if child.tag in ["start", "end"]:
                    processed = self.handle_dateTypeFormatted(child)
                    value[child.tag] = processed["value"]
                elif child.tag in ["duration", "resolution"]:
                    value[child.tag] = child.text
                parsed.update(value)
        else:
            log.warning("Not enough elements to make a valid timeCoverage")

        return parsed
dataset/ETHPy150Open Unidata/siphon/siphon/metadata.py/_ComplexTypes.handle_timeCoverageType/original