o
    |¨Êhý!  ã                   @   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__© úC/var/www/html/env/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�}|| _ z	| j| \}}	W n ty5   td|| jjf ƒ‚w dD ]}
t	 
d |
|d ¡|¡rS| d |
¡d |
¡d¡}q8| d	d
¡}|S )Nr‚   )ÚcurrencyÚcentsÚ	seperatorÚ	adjectivez+Currency code "%s" not implemented for "%s")rm   rv   rw   rx   u   triliÃ£ou	   triliÃµesz.*{} (?={})r   ry   z{} deu    e zero cÃªntimosr>   )r^   rZ   r   Úto_currencyÚCURRENCY_FORMSÚKeyErrorÚNotImplementedErrorri   Ú__name__r{   r|   r}   r~   )rf   r”   r˜   r™   rš   r›   Úbackup_negwordr€   Úcr1Ú_r�   rh   rj   rk   rœ   Ú   s0   
þ
ÿÿÿÿ€zNum2Word_PT.to_currency)T)r   Tr—   F)r    Ú
__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   