def parse_interval_formats(data, tree): # http://www.unicode.org/reports/tr35/tr35-dates.html#intervalFormats interval_formats = data.setdefault("interval_formats", {}) for elem in tree.findall("dateTimeFormats/intervalFormats/*"): if 'draft' in elem.attrib: continue if elem.tag == "intervalFormatFallback": interval_formats[None] = elem.text elif elem.tag == "intervalFormatItem": skel_data = interval_formats.setdefault(elem.attrib["id"], {}) for item_sub in elem.getchildren(): if item_sub.tag == "greatestDifference": skel_data[item_sub.attrib["id"]] = split_interval_pattern(item_sub.text) else: raise NotImplementedError("Not implemented: %s(%r)" % (item_sub.tag, item_sub.attrib))