File: //opt/alt/python38/lib/python3.8/site-packages/humanize/__pycache__/number.cpython-38.pyc
U
su]a,0 � @ s d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlm Z
ddlmZ dd lm
Z
d-dd�Zd.d
d�Zdd� dD �Ze
dd�e
dd�e
dd�e
dd�e
dd�e
dd�e
dd�e
dd�e
dd�e
dd�e
dd�e
dd�fZd/dd �Zd!d"� Zd#d$� Zd0d&d'�Zd1d+d,�ZdS )2z!Humanizing functions for numbers.� N)�Fraction� )�gettext)�ngettext)�
ngettext_noop)�pgettext)�thousands_separator�malec C s zt | �} W n ttfk
r( | Y S X |dkr�tdd�tdd�tdd�tdd �td
d�tdd�tdd�td
d�tdd�tdd�f
}nTtdd�tdd�tdd�tdd �tdd�tdd�tdd�tdd�tdd�tdd�f
}| d dkr�| � |d � �S | � || d � �S )a] Converts an integer to its ordinal as a string.
For example, 1 is "1st", 2 is "2nd", 3 is "3rd", etc. Works for any integer or
anything `int()` will turn into an integer. Anything other value will have nothing
done to it.
Examples:
```pycon
>>> ordinal(1)
'1st'
>>> ordinal(1002)
'1002nd'
>>> ordinal(103)
'103rd'
>>> ordinal(4)
'4th'
>>> ordinal(12)
'12th'
>>> ordinal(101)
'101st'
>>> ordinal(111)
'111th'
>>> ordinal("something else")
'something else'
>>> ordinal(None) is None
True
```
Args:
value (int, str, float): Integer to convert.
gender (str): Gender for translations. Accepts either "male" or "female".
Returns:
str: Ordinal string.
r z0 (male)�thz1 (male)�stz2 (male)Zndz3 (male)Zrdz4 (male)z5 (male)z6 (male)z7 (male)z8 (male)z9 (male)z
0 (female)z
1 (female)z
2 (female)z
3 (female)z
4 (female)z
5 (female)z
6 (female)z
7 (female)z
8 (female)z
9 (female)�d )� � �
r �
)�int� TypeError�
ValueError�P_)�valueZgender�t� r �@/opt/alt/python38/lib/python3.8/site-packages/humanize/number.py�ordinal s<