
Created usage output for oe-trim-schemas script. [YOCTO #10751] (From OE-Core rev: a9fac12157ed434a6711de1af77eda1f4a8e9e8a) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1.6 KiB
Executable File
#! /usr/bin/env python3
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")