o
    ¡¿¯i  ã                   @   sŒ   d Z ddlZddlZe ¡ Ze d¡Ze d¡Ze d¡Ze d¡Z	e d¡Z
e d¡Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )z+ from https://github.com/keithito/tacotron é    Nz([0-9][0-9\,]+[0-9])z([0-9]+\.[0-9]+)u   Â£([0-9\,]*[0-9]+)z\$([0-9\.\,]*[0-9]+)z[0-9]+(st|nd|rd|th)z[0-9]+c                 C   ó   |   d¡ dd¡S )Né   ú,Ú ©ÚgroupÚreplace©Úm© r   úL/home/ubuntu/.local/lib/python3.10/site-packages/tacotron_cleaner/numbers.pyÚ_remove_commas   ó   r   c                 C   r   )Nr   Ú.z point r   r	   r   r   r   Ú_expand_decimal_point   r   r   c                 C   sà   |   d¡}| d¡}t|ƒdkr|d S |d rt|d ƒnd}t|ƒdkr0|d r0t|d ƒnd}|rN|rN|dkr<dnd}|dkrDdnd	}d
||||f S |r^|dkrVdnd}d||f S |rn|dkrfdnd	}d||f S dS )Nr   r   é   z dollarsr   ÚdollarÚdollarsÚcentÚcentsz%s %s, %s %sz%s %szzero dollars)r   ÚsplitÚlenÚint)r
   ÚmatchÚpartsr   r   Údollar_unitÚ	cent_unitr   r   r   Ú_expand_dollars   s"   

$r   c                 C   s   t  |  d¡¡S )Nr   )Ú_inflectÚnumber_to_wordsr   r	   r   r   r   Ú_expand_ordinal.   s   r    c                 C   s’   t |  d¡ƒ}|dkrB|dk rB|dkrdS |dkr&|dk r&dt |d ¡ S |d dkr5t |d ¡d	 S tj|d
ddd dd¡S tj|d
dS )Nr   iè  i¸  iÐ  ztwo thousandiÚ  ztwo thousand éd   z hundredr   Úohr   )ÚandwordÚzeror   z, ú )r#   )r   r   r   r   r   )r
   Únumr   r   r   Ú_expand_number2   s   r'   c                 C   sX   t  tt| ¡} t  td| ¡} t  tt| ¡} t  tt| ¡} t  t	t
| ¡} t  tt| ¡} | S )Nz	\1 pounds)ÚreÚsubÚ_comma_number_rer   Ú
_pounds_reÚ_dollars_rer   Ú_decimal_number_rer   Ú_ordinal_rer    Ú
_number_rer'   )Útextr   r   r   Únormalize_numbersA   s   r1   )Ú__doc__Úinflectr(   Úenginer   Úcompiler*   r-   r+   r,   r.   r/   r   r   r   r    r'   r1   r   r   r   r   Ú<module>   s    





