diff options
Diffstat (limited to 'jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/lists.py')
-rw-r--r-- | jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/lists.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/lists.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/lists.py new file mode 100644 index 0000000..82e5590 --- /dev/null +++ b/jython-tosca-parser/src/main/resources/Lib/site-packages/babel-2.3.4-py2.7.egg/babel/lists.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +""" + babel.lists + ~~~~~~~~~~~ + + Locale dependent formatting of lists. + + The default locale for the functions in this module is determined by the + following environment variables, in that order: + + * ``LC_ALL``, and + * ``LANG`` + + :copyright: (c) 2015 by the Babel Team. + :license: BSD, see LICENSE for more details. +""" + +from babel.core import Locale, default_locale + +DEFAULT_LOCALE = default_locale() + + +def format_list(lst, locale=DEFAULT_LOCALE): + """ + Format the items in `lst` as a list. + + >>> format_list(['apples', 'oranges', 'pears'], 'en') + u'apples, oranges, and pears' + >>> format_list(['apples', 'oranges', 'pears'], 'zh') + u'apples\u3001oranges\u548cpears' + + :param lst: a sequence of items to format in to a list + :param locale: the locale + """ + locale = Locale.parse(locale) + if not lst: + return '' + if len(lst) == 1: + return lst[0] + if len(lst) == 2: + return locale.list_patterns['2'].format(*lst) + + result = locale.list_patterns['start'].format(lst[0], lst[1]) + for elem in lst[2:-1]: + result = locale.list_patterns['middle'].format(result, elem) + result = locale.list_patterns['end'].format(result, lst[-1]) + + return result |