o
    |¨Êh²  ã                   @   s:   d dl mZmZ d dlZddlmZ G dd„ dejƒZdS )é    )ÚdivisionÚunicode_literalsNé   )Úlang_PTc                       s>   e Zd Zdd„ Z‡ fdd„Zdd„ Zdd„ Zdd
d„Z‡  ZS )ÚNum2Word_PT_BRc                 C   sB   ddt |ƒ  }t|t|ddƒƒD ]\}}|d | jd| < qd S )Né   éýÿÿÿu   ilhÃ£oé
   )ÚlenÚzipÚrangeÚcards)ÚselfÚhighÚmaxÚwordÚn© r   úF/var/www/html/env/lib/python3.10/site-packages/num2words/lang_PT_BR.pyÚset_high_numwords   s   ÿz Num2Word_PT_BR.set_high_numwordsc                    sB   t t| ƒ ¡  d| jd< d| jd< d| jd< ddd	d
ddœ| _d S )NÚdezenover   Ú	dezesseter   Ú	dezesseisé   u	   milÃ©simou   milionÃ©simou   bilionÃ©simou   trilionÃ©simou   quadrilionÃ©simo)r   é   é	   é   é   )Úsuperr   ÚsetupÚlow_numwordsÚthousand_separators)r   ©Ú	__class__r   r   r      s   


ûzNum2Word_PT_BR.setupc                 C   sÆ   || \}}}}|dkr|dk r|S d}n
|dkr|dksd}||k r;|dk r1d||f || fS d||f || fS |d sK|dkrK|d d… d	 }|dkrW| j | }d
}nd| }|| || fS )Nr   i@B Úuméd   iè  Úcentoz%s e %séüÿÿÿu   lhÃµesÚ ú )Úhundreds)r   ÚcurrÚnextÚctextÚcnumÚntextÚnnumr   r   r   Úmerge-   s$   
zNum2Word_PT_BR.mergec                 C   sH   t j | |¡}dD ]}t d |¡|¡r!| d |¡d |¡d¡}q	|S )N)	Úmilõ   milhÃ£oõ   milhÃµesõ   bilhÃ£oõ   bilhÃµesõ   trilhÃ£oõ	   trilhÃµesõ   quatrilhÃ£oõ   quatrilhÃµesz.*{} e \w*entoz{} ez{},r   )r   ÚNum2Word_EUÚto_cardinalÚreÚmatchÚformatÚreplace)r   ÚvalueÚresultÚextr   r   r   r<   H   s   ÿ€zNum2Word_PT_BR.to_cardinalTc           	      C   s¦   d|   d¡\}}|  t|ƒ¡}d}dD ]}| |¡r!|d7 }d}q|dv r,|d7 }d}|s2|d	7 }t|ƒrQ|  t|ƒ¡}|d
| 7 }|dkrM|d7 }|S |d7 }|S )Nz%.2fÚ.F)r3   r4   r5   r6   r7   r8   r9   r:   z	 de reaisT)r$   zmenos umz realz reaisz e r$   z centavoz	 centavos)Úsplitr<   ÚintÚendswith)	r   ÚvalÚlongvalÚinteger_partÚdecimal_partrB   Úappended_currencyrC   Úcentsr   r   r   Úto_currencyW   s*   
€þzNum2Word_PT_BR.to_currency)T)	Ú__name__Ú
__module__Ú__qualname__r   r   r1   r<   rN   Ú__classcell__r   r   r"   r   r      s    r   )Ú
__future__r   r   r=   r(   r   ÚNum2Word_PTr   r   r   r   r   Ú<module>   s   