o
    wÖi¼  ã                   @   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   úQ/home/ubuntu/sommelier/.venv/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 dkr!d}||k r=|dk r3d||f || fS d||f || fS |d sM|dkrM|d d	… d
 }|dkrY| j | }d}nd| }|| || fS )Nr   i@B Úuméd   iè  r   Ú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*entos? (?=.*e)z{} 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   