jf pdZddlmZddlmZddlmZddlmZm Z erddl m Z e Z de fddZ dS)aY 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-2023 by the Babel Team. :license: BSD, see LICENSE for more details. ) annotations)Sequence) TYPE_CHECKING)Localedefault_locale)Literalstandardlst Sequence[str]style\Literal['standard', 'standard-short', 'or', 'or-short', 'unit', 'unit-short', 'unit-narrow']localeLocale | str | Nonereturnstrc tj|}|sdSt|dkr|dS||jvr+t d|d|dt |jd|j|}t|dkr|d j|S|d |d|d}|dd D]}|d ||}|d ||d }|S)u Format the items in `lst` as a list. >>> format_list(['apples', 'oranges', 'pears'], locale='en') u'apples, oranges, and pears' >>> format_list(['apples', 'oranges', 'pears'], locale='zh') u'apples、oranges和pears' >>> format_list(['omena', 'peruna', 'aplari'], style='or', locale='fi') u'omena, peruna tai aplari' These styles are defined, but not all are necessarily available in all locales. The following text is verbatim from the Unicode TR35-49 spec [1]. * standard: A typical 'and' list for arbitrary placeholders. eg. "January, February, and March" * standard-short: A short version of a 'and' list, suitable for use with short or abbreviated placeholder values. eg. "Jan., Feb., and Mar." * or: A typical 'or' list for arbitrary placeholders. eg. "January, February, or March" * or-short: A short version of an 'or' list. eg. "Jan., Feb., or Mar." * unit: A list suitable for wide units. eg. "3 feet, 7 inches" * unit-short: A list suitable for short units eg. "3 ft, 7 in" * unit-narrow: A list suitable for narrow units, where space on the screen is very limited. eg. "3′ 7″" [1]: https://www.unicode.org/reports/tr35/tr35-49/tr35-general.html#ListPatterns :param lst: a sequence of items to format in to a list :param style: the style to format the list with. See above for description. :param locale: the locale rzLocale z( does not support list formatting style z (supported are )2startmiddleend)rparselen list_patterns ValueErrorsortedformat)r r rpatternsresultelems k/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/babel/lists.py format_listr&s<X\& ! !F r 3xx1}}1v  F((( >f > >e > >$V%9:: > > >   #E*H 3xx1}}#x}#S)) g  % %c!fc!f 5 5FAbD 99(#**6488 e_ # #FCG 4 4F MN)r r r r rrrr)__doc__ __future__rcollections.abcrtypingr babel.corerrtyping_extensionsrDEFAULT_LOCALEr&r'r%r0s#"""""$$$$$$ --------*))))))!!wA.<AAAAAAAr'