| #! /usr/bin/env python |
| |
| import sys |
| try: |
| import xml.etree.cElementTree as etree |
| except: |
| import xml.etree.ElementTree as etree |
| |
| def child (elem, name): |
| for e in elem.getchildren(): |
| if e.tag == name: |
| return e |
| return None |
| |
| def children (elem, name=None): |
| l = elem.getchildren() |
| if name: |
| l = [e for e in l if e.tag == name] |
| return l |
| |
| xml = etree.parse(sys.argv[1]) |
| |
| for schema in child(xml.getroot(), "schemalist").getchildren(): |
| e = child(schema, "short") |
| if e is not None: |
| schema.remove(e) |
| |
| e = child(schema, "long") |
| if e is not None: |
| schema.remove(e) |
| |
| for locale in children(schema, "locale"): |
| # One locale must exist so leave C locale... |
| a = locale.attrib.get("name") |
| if a == 'C': |
| continue |
| e = child(locale, "default") |
| if e is None: |
| schema.remove(locale) |
| else: |
| e = child(locale, "short") |
| if e is not None: |
| locale.remove(e) |
| e = child(locale, "long") |
| if e is not None: |
| locale.remove(e) |
| |
| xml.write(sys.stdout, "UTF-8") |
| |