]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
Import parent locale exceptions
authorIsaac Jurado <diptongo@gmail.com>
Wed, 5 Nov 2014 15:40:04 +0000 (16:40 +0100)
committerIsaac Jurado <diptongo@gmail.com>
Wed, 5 Aug 2015 14:43:55 +0000 (16:43 +0200)
Process and save the <parentLocales> element, which contains the
inheritance exceptions to the standard CLDR locale inheritance
algorithm.

scripts/import_cldr.py

index 7dcd171cab2237a4926ae2306a35c3a4503d51d6..576370140d395c7888e0734e6f1b176242d7b674 100755 (executable)
@@ -145,6 +145,7 @@ def main():
         variant_aliases = global_data.setdefault('variant_aliases', {})
         likely_subtags = global_data.setdefault('likely_subtags', {})
         territory_currencies = global_data.setdefault('territory_currencies', {})
+        parent_exceptions = global_data.setdefault('parent_exceptions', {})
 
         # create auxiliary zone->territory map from the windows zones (we don't set
         # the 'zones_territories' map directly here, because there are some zones
@@ -223,6 +224,12 @@ def main():
             region_currencies.sort(key=_currency_sort_key)
             territory_currencies[region_code] = region_currencies
 
+        # Explicit parent locales
+        for paternity in sup.findall('.//parentLocales/parentLocale'):
+            parent = paternity.attrib['parent']
+            for child in paternity.attrib['locales'].split():
+                parent_exceptions[child] = parent
+
         outfile = open(global_path, 'wb')
         try:
             pickle.dump(global_data, outfile, 2)