File: //home/arjun/projects/env/lib/python3.10/site-packages/babel/__pycache__/languages.cpython-310.pyc
o
!we � @ s2 d dl mZ d dlmZ dddd�Zddd�ZdS )� )�annotations)�
get_globalF� territory�str�regional�bool�de_facto�return�tuple[str, ...]c sr t | ��� } dh� |r� �d� |r� �d� td��| i �}� fdd�|�� D �}|jdd� td d
� |D ��S )a^
Get the official language(s) for the given territory.
The language codes, if any are known, are returned in order of descending popularity.
If the `regional` flag is set, then languages which are regionally official are also returned.
If the `de_facto` flag is set, then languages which are "de facto" official are also returned.
.. warning:: Note that the data is as up to date as the current version of the CLDR used
by Babel. If you need scientifically accurate information, use another source!
:param territory: Territory code
:type territory: str
:param regional: Whether to return regionally official languages too
:type regional: bool
:param de_facto: Whether to return de-facto official languages too
:type de_facto: bool
:return: Tuple of language codes
:rtype: tuple[str]
�official�official_regional�de_facto_official�territory_languagesc s* g | ]\}}|� d �� v r|d |f�qS )�official_status�population_percent)�get)�.0�language�info��
allowed_stati� �H/home/arjun/projects/env/lib/python3.10/site-packages/babel/languages.py�
<listcomp>% s
�z*get_official_languages.<locals>.<listcomp>T)�reversec s s � | ]\}}|V qd S )Nr )r �_�langr r r � <genexpr>+ s � z)get_official_languages.<locals>.<genexpr>)r �upper�addr r �items�sort�tuple)r r r � languages�pairsr r r �get_official_languages s
�r% �(dict[str, dict[str, float | str | None]]c C s t | ��� } td��| i ��� S )a!
Get a dictionary of language information for a territory.
The dictionary is keyed by language code; the values are dicts with more information.
The following keys are currently known for the values:
* `population_percent`: The percentage of the territory's population speaking the
language.
* `official_status`: An optional string describing the officiality status of the language.
Known values are "official", "official_regional" and "de_facto_official".
.. warning:: Note that the data is as up to date as the current version of the CLDR used
by Babel. If you need scientifically accurate information, use another source!
.. note:: Note that the format of the dict returned may change between Babel versions.
See https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html
:param territory: Territory code
:type territory: str
:return: Language information dictionary
:rtype: dict[str, dict]
r )r r r r �copy)r r r r �get_territory_language_info. s r( N)FF)r r r r r r r r
)r r r r&