File: //home/arjun/projects/env/lib/python3.10/site-packages/babel/__pycache__/units.cpython-310.pyc
o
!we / � @ s� d dl mZ d dlZd dlmZ d dlmZ d dlmZm Z er&d dl
mZ G dd� de�Z
d efd%dd�Zefd&dd�Zd defd'dd�Zefd(dd�Zdd dd defd)d#d$�ZdS )*� )�annotationsN)�
TYPE_CHECKING)�Locale)�
LC_NUMERIC�format_decimal)�Literalc @ s e Zd Zd
dd�Zd S )�UnknownUnitError�unit�str�localer �return�Nonec C s t �| |� d|� �� d S )Nz is not a known unit in )�
ValueError�__init__)�selfr r � r �D/home/arjun/projects/env/lib/python3.10/site-packages/babel/units.pyr s zUnknownUnitError.__init__N)r r
r r r r
)�__name__�
__module__�__qualname__r r r r r r
s r �long�measurement_unitr
�length�"Literal['short', 'long', 'narrow']r �Locale | str | Noner �
str | Nonec C s: t �|�}t| |d�}|st| |d��|j�|i ��|�S )a�
Get the display name for a measurement unit in the given locale.
>>> get_unit_name("radian", locale="en")
'radians'
Unknown units will raise exceptions:
>>> get_unit_name("battery", locale="fi")
Traceback (most recent call last):
...
UnknownUnitError: battery/long is not a known unit/length in fi
:param measurement_unit: the code of a measurement unit.
Known units can be found in the CLDR Unit Validity XML file:
https://unicode.org/repos/cldr/tags/latest/common/validity/unit.xml
:param length: "short", "long" or "narrow"
:param locale: the `Locale` object or locale identifier
:return: The unit display name, or None.
�r �r r )r �parse�_find_unit_patternr �unit_display_names�get)r r r r r r r �
get_unit_name s
r"