50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #! /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")
 | |
| 
 | 
