a
    ÆZEg  ã                   @  sB   d dl mZ d dlmZ ddddddœdd	„Zdd
dœdd„ZdS )é    )Úannotations)Ú
get_globalFÚstrÚboolztuple[str, ...])Ú	territoryÚregionalÚde_factoÚreturnc                   sr   t | ƒ ¡ } dh‰ |r ˆ  d¡ |r.ˆ  d¡ tdƒ | i ¡}‡ fdd„| ¡ D ƒ}|jdd� td	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]
    ZofficialZofficial_regionalZde_facto_officialÚterritory_languagesc                   s*   g | ]"\}}|  d ¡ˆ v r|d |f‘qS )Zofficial_statusZpopulation_percent)Úget)Ú.0ÚlanguageÚinfo©Zallowed_stati© úH/var/www/sistema_ama/venv/lib/python3.9/site-packages/babel/languages.pyÚ
<listcomp>%   s   þz*get_official_languages.<locals>.<listcomp>T)Úreversec                 s  s   | ]\}}|V  qd S )Nr   )r   Ú_Úlangr   r   r   Ú	<genexpr>+   ó    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   z(dict[str, dict[str, float | str | None]])r   r	   c                 C  s    t | ƒ ¡ } tdƒ | 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)Ú
__future__r   Z
babel.corer   r   r!   r   r   r   r   Ú<module>   s   (