]> git.ipfire.org Git - thirdparty/babel.git/commitdiff
Add list_patterns to Locale
authorMichael Birtwell <michael.birtwell@starleaf.com>
Wed, 30 Sep 2015 18:01:30 +0000 (19:01 +0100)
committerMichael Birtwell <michael.birtwell@starleaf.com>
Wed, 30 Sep 2015 18:01:30 +0000 (19:01 +0100)
babel/core.py
scripts/import_cldr.py

index 43d3bc3233cf30bf506e1827a5a1d47fcd8598ef..7d24257141a46569aa3b3d8c45c7d9cd89cc160d 100644 (file)
@@ -743,6 +743,19 @@ class Locale(object):
         """
         return self._data.get('plural_form', _default_plural_rule)
 
+    @property
+    def list_patterns(self):
+        """Patterns for generating lists
+
+        >>> Locale('en').list_patterns['start']
+        u'{0}, {1}'
+        >>> Locale('en').list_patterns['end']
+        u'{0}, and {1}'
+        >>> Locale('en_GB').list_patterns['end']
+        u'{0} and {1}'
+        """
+        return self._data['list_patterns']
+
 
 def default_locale(category=None, aliases=LOCALE_ALIASES):
     """Returns the system default locale for a given category, based on
index b56d07789d2f12f0661f4ebe0ee9eec8336a985f..68bf454b6a9000e91aa39adfb5f6559923ad6559 100755 (executable)
@@ -343,6 +343,13 @@ def main():
                 continue
             scripts[elem.attrib['type']] = _text(elem)
 
+        list_patterns = data.setdefault('list_patterns', {})
+        for listType in tree.findall('.//listPatterns/listPattern'):
+            if 'type' in listType.attrib:
+                continue
+            for listPattern in listType.findall('listPatternPart'):
+                list_patterns[listPattern.attrib['type']] = _text(listPattern)
+
         # <dates>
 
         week_data = data.setdefault('week_data', {})