o
    ph!                     @   s4   d dl mZ ddlmZ dZdZG dd deZdS )	    )parse_currency_parts   )Num2Word_EU)dolarr   )sentavur   c                       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	d
d Z
dd Z fddZdd Zdd ZdddZdddZ  ZS )Num2Word_TET)euroeuros))pound sterlingr
   )pencer   )AUDCADEURGBPUSDNiliaunc              
      sp   t    g d}| g g || _d| _d| _g d| _d| _g d| _g d| _	dd	d
ddddddd	| _
d S )Nkuatrtrbmzmenus    vírgula)resinr   menusr   )
)i  rihun)d   atus)Z   sianulu)P   ualunulu)F   hitunulu)<   neenulu)2   limanulu)(   haatnulu)   tolunulu)   ruanulu)sanulusiaualuhituneenlimahaattoluruaidamamukr   zatus ruaz	atus toluz	atus haatz	atus limaz	atus neenz	atus hituz	atus ualuzatus sia)	r                        	   )supersetupgen_high_numwordshigh_numwordsnegword	pointwordexclude_titlecountmid_numwordslow_numwordshundreds)selflows	__class__ ^/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/num2words/lang_TET.pyrA   (   s&   



zNum2Word_TET.setupc           
      C   s   || \}}}}|dkr|dk r|S ||k rr|dk rht || }t|dkr^|dd }tdd |D }	|	r^| jdkrM|  jd7  _d||f || fS |  jd7  _d	||f || fS d
||f || fS d	||f || fS |d | || fS )Nr   r   
   c                 s   s    | ]}|d kV  qdS )0NrO   ).0elementrO   rO   rP   	<genexpr>S   s    z%Num2Word_TET.merge.<locals>.<genexpr>r   zho %s %sz%s %sz%s resin %s )strintallrG   )
rK   currnextctextcnumntextnnum	value_str	zero_listall_zerorO   rO   rP   mergeH   s(   

zNum2Word_TET.mergec                 C   s   | d}|d}|dkrQ|dkrQ| d}tt|}|dkr+|dkr+|dd}g d}d	}|D ]}	||	| d
 d|	 | }q3|d}
|
rQ|dd  }|S )NhorR   r   r   r=   zrihun hozho rihunr   r   z hozho r9   )findrG   lenrX   replace
startswith)rK   resultvalueindexcount_hoindex_rihunra   rL   MEGA_SUFFIXlowremove_first_horO   rO   rP   	ho_resultd   s"   



zNum2Word_TET.ho_resultc                 C   sn   t |}| ||}|d d }|d}|du r5|dkr5|d dkr5|d dkr5|dd}|d	d
}|S )NrS   Fr   rR   re    z  rW   )rX   rr   endswithrh   )rK   rj   rk   ra   	end_valueend_truerO   rO   rP   	remove_how   s   
zNum2Word_TET.remove_hoc                    s   t  |}| ||}|S )N)r@   to_cardinalry   )rK   rk   rj   resultsrM   rO   rP   rz      s   zNum2Word_TET.to_cardinalc                 C   sv  |  | d}| |}|}t|dkrog }|d d \}}t|trAt|trA|| || |dd  r@||dd   n&|D ]#}t|trat|dkrX||d  qC|| | qC|| qC|}t|dks|d \}}	| 	||}|	dv rd| d }|	dv rd| }|	dkrd	}|	d
v rd| d }|	dv rd| }|
 }
t|
dkr|	dk rd|
d  }d|
dd  }d|v sd|v r|d | }n|d | d }d|
d  }|dkrt|
dkrd|
dd  }d|v sd|v r|d | }n|d | d }tt|	dkr2d|
dd  v s'd|
dd  v r,d| }nd| d }| || }|S )Nru   r   r8   r   )r   r   r!   r#   r%   r'   r)   r+   rQ   r?   r>   r=   r;   r9   r8   dak)r<   r:   dahuluk)i  i   i  i  i,     r   dah)iX  i  r9   r   rW   r3   r1   dahatusrR   )verify_ordinalsplitnumrg   
isinstancetupleappendrd   listcleanry   splitjoinrX   title)rK   rk   outvaloutsleftrightelemwordsnumwords_split
first_wordsecond_word
word_firstword_secondrj   rO   rO   rP   
to_ordinal   sf   


$
zNum2Word_TET.to_ordinalc                 C   s   |  | d| S )Nu   %sº)r   )rK   rk   rO   rO   rP   to_ordinal_num   s   
zNum2Word_TET.to_ordinal_numTc                 C   s$   |dk r|  t|d S |  |S )Nr   z antes Kristu)rz   abs)rK   r   longvalrO   rO   rP   to_year   s   
zNum2Word_TET.to_yearr   c                 C   s   t |\}}}z	| j| \}}W n ty!   td|| jjf w |r+d| j  nd}	| ||}
|r;| 	||n| 
||}|dkrPd|	| |||
f S d|	| |||
| |||f S )z
        Args:
            val: Numeric value
            currency (str): Currency code
            cents (bool): Verbose cents
            adjective (bool): Prefix currency name with adjective
        Returns:
            str: Formatted string

        z+Currency code "%s" not implemented for "%s"z%s ru   r   z%s%s %sz%s%s %s %s %s)r   CURRENCY_FORMSKeyErrorNotImplementedErrorrN   __name__rD   strip_money_verbose_cents_verbose_cents_terse	pluralize)rK   r   currencycentsr   r   is_negativecr1cr2	minus_str	money_str	cents_strrO   rO   rP   to_currency   s:   




zNum2Word_TET.to_currency)T)r   T)r   
__module____qualname__DOLLARCENTSr   GIGA_SUFFIXro   rA   rd   rr   ry   rz   r   r   r   r   __classcell__rO   rO   rM   rP   r      s$     A
r   N)num2words.currencyr   lang_EUr   r   r   r   rO   rO   rO   rP   <module>   s
   