
Where there isn't a copyright statement, add one to make it explicit. Also drop editor config lines where they were present and add license identifiers as MIT if there isn't one. (From OE-Core rev: deb3ccec53e0bd63bc4235cf2b0d3fc781687361) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1.7 KiB
Executable File
#! /usr/bin/env python3
Copyright OpenEmbedded Contributors
SPDX-License-Identifier: GPL-2.0-only
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
if len(sys.argv) < 2 or sys.argv[1] in ('-h', '--help'): print('oe-trim-schemas: error: the following arguments are required: schema\n' 'Usage: oe-trim-schemas schema\n\n' 'OpenEmbedded trim schemas - remove unneeded schema locale translations\n' ' from gconf schema files\n\n' 'arguments:\n' ' schema gconf schema file to trim\n') sys.exit(2)
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")