o
    ph7!                     @   s@   d dl mZmZ d dlZddlmZ dZdZG dd deZdS )	    )divisionunicode_literalsN   )Num2Word_EU)u   dólaru   dólares)u   cêntimou	   cêntimosc                       s   e Zd ZeefeefdefdeefdZdZdZ fddZdd	 Z	 fd
dZ
dd Zdd ZdddZ		d fdd	Z  ZS )Num2Word_PT)euroeuros))libralibras)u   pénipence)AUDCADEURGBPUSDNu   iliãoc                    s   t t|   g d}| g g || _d| _d| _g d| _g d| _g d| _	ddd	d
ddddddd
ddddddddddd
ddddddd d!d"d#d
g| _
d$d%d&d'd(d)| _d*d+d,d-d.d/d0d1d2d3	| _d S )4N)quatrtrbmzmenos    vírgula)er   menos)	)  mil)d   cem)Z   noventa)P   oitenta)F   setenta)<   sessenta)2   	cinquenta)(   quarenta)   trinta)vintedezanovedezoito	dezassete	dezasseisquinzecatorzetrezedozeonzedeznoveoitoseteseiscincoquatrou   trêsdoisumzero primeirosegundoterceiroquartoquintosextou   sétimooitavonono)
r   r                        	   u   décimou	   vigésimou
   trigésimou   quadragésimou   quinquagésimou   sexagésimou   septuagésimou   octogésimou   nonagésimou
   centésimou   ducentésimou   tricentésimou   quadrigentésimou   quingentésimou   seiscentésimou   septigentésimou   octigentésimou   nongentésimou	   milésimou   milionésimou   milésimo milionésimou   bilionésimou   milésimo bilionésimo)rH   rK   rN         centoduzentos	trezentosquatrocentos
quinhentos
seiscentos
setecentos
oitocentos
novecentos)	r   rG   rH   rI   rJ   rK   rL   rM   rN   )superr   setupgen_high_numwordshigh_numwordsnegword	pointwordexclude_titlemid_numwordslow_numwordsordsthousand_separatorshundreds)selflows	__class__ ]/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/num2words/lang_PT.pyr[   )   st   


'zNum2Word_PT.setupc                 C   s   || \}}}}|dkr|dk r|S d}n|dkr!|d dks!d}||k r=|dk r3d||f || fS d||f || fS |d	 sN|dkrN|d d
 d }n|d s^|dkr^|d d
 d }|dkrdd}|dkrp| j | }d}nd| }|| || fS )Nr   i@B r<   r   r   r   rQ   z%s e %si ʚ;u   liõesu   lhõesu   milião   milhãor>    )re   )rf   currnextctextcnumntextnnumrj   rj   rk   mergeu   s,   
zNum2Word_PT.mergec                    sH   t t| |}dD ]}td||r!|d|d|}q
|S )N)r   rm      milhõesu   mil milhões   bilião   biliõesu   mil biliõesz.*{} e \w*entos? (?=.*e)z{} e{})rZ   r   to_cardinalrematchformatreplace)rf   valueresultextrh   rj   rk   rz      s   zNum2Word_PT.to_cardinalc                 C   s   |  | g }t|}d}t|d d d D ],\}}|r'|d dkr'| j| }|dkr4|r4|| d}|| j|d  t|  qd|d d d }| }t	
dd|}|drg|d	krg|d
d  }|S )Nr>   rH   r   0rn   z\s+r?   1rN   )verify_ordinalstr	enumeraterd   appendrc   intjoinstripr{   sub
startswith)rf   r   r   thousand_separatoridxcharrj   rj   rk   
to_ordinal   s"   


zNum2Word_PT.to_ordinalc                 C   s   |  | d| S )Nu   %sº)r   )rf   r   rj   rj   rk   to_ordinal_num   s   
zNum2Word_PT.to_ordinal_numTc                 C   s$   |dk r|  t|d S |  |S )Nr   z antes de Cristo)rz   abs)rf   vallongvalrj   rj   rk   to_year   s   
zNum2Word_PT.to_yearr    eFc                    s   | j }| j d d | _ tt| j|||||d}|| _ | j| \}}	dD ]}
td|
|d |r?|d|
d|
d}q$|dd	}|S )
Nr   )currencycents	separator	adjective)rm   rv   rw   rx   u   triliãou	   triliõesz.*{} (?={})r   ry   z{} deu    e zero cêntimosr>   )	r^   rZ   r   to_currencyCURRENCY_FORMSr{   r|   r}   r~   )rf   r   r   r   r   r   backup_negwordr   cr1_r   rh   rj   rk   r      s    
zNum2Word_PT.to_currency)T)r   Tr   F)__name__
__module____qualname__DOLLARCENTSr   GIGA_SUFFIXMEGA_SUFFIXr[   ru   rz   r   r   r   r   __classcell__rj   rj   rh   rk   r      s$    L
r   )	
__future__r   r   r{   lang_EUr   r   r   r   rj   rj   rj   rk   <module>   s   