o
    þšph‹  ã                   @   sD   d dl mZ d dlmZ d dlmZ d dlmZ G dd„ deƒZdS )é    )Úunicode_literals)ÚNum2Word_Base)Úparse_currency_parts)Úsplitbyxc                   @   sf   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zddd„ZdS )ÚNum2Word_THc                 C   s8   d| _ d| _ddddœ| _g | _g d¢| _g d¢| _d S )	Nõ   à¸•à¸´à¸”à¸¥à¸šõ	   à¸ˆà¸¸à¸”))õ	   à¸šà¸²à¸—r	   )õ   à¸ªà¸•à¸²à¸‡à¸„à¹Œr
   ))õ   à¸”à¸­à¸¥à¸¥à¸²à¸£à¹Œr   ©õ   à¹€à¸‹à¸™à¸•à¹Œr   ))õ   à¸¢à¸¹à¹‚à¸£r   r   )ÚTHBÚUSDÚEUR)Ú u	   à¸ªà¸´à¸šu   à¸£à¹‰à¸­à¸¢u	   à¸žà¸±à¸™u   à¸«à¸¡à¸·à¹ˆà¸™u	   à¹à¸ªà¸™õ   à¸¥à¹‰à¸²à¸™)
u   à¸¨à¸¹à¸™à¸¢à¹Œu   à¸«à¸™à¸¶à¹ˆà¸‡u	   à¸ªà¸­à¸‡u	   à¸ªà¸²à¸¡u	   à¸ªà¸µà¹ˆu	   à¸«à¹‰à¸²u   à¸«à¸u   à¹€à¸ˆà¹‡à¸”u	   à¹à¸›à¸”u   à¹€à¸à¹‰à¸²)ÚnegwordÚ	pointwordÚCURRENCY_FORMSÚhigh_numwordsÚmid_numwordsÚlow_numwords)Úself© r   ú]/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/num2words/lang_TH.pyÚsetup   s   ý
zNum2Word_TH.setupc                 C   ó   d S ©Nr   )r   r   r   r   r   Úset_high_numwords.   ó   zNum2Word_TH.set_high_numwordsc                 C   r   r   r   )r   r   r   r   r   Úset_mid_numwords1   r!   zNum2Word_TH.set_mid_numwordsc                 C   s¼   t |ƒdk}d}ttt|ƒƒD ]L\}}|rJ|r| j| | }|r-|dkr-|dkr-|d7 }q|dkr:|dkr:d| }q|dksB|dkrI| j| | }q|dkr[|dkr[|dkr[| jd }q|S )Né   r   r   u   à¹€à¸­à¹‡à¸”é   u	   à¸¢à¸µà¹ˆ)ÚlenÚ	enumerateÚmapÚintr   r   )r   Úsix_numÚlengthÚword_numÚindexÚnumr   r   r   Úsplitnum4   s"   

€
€zNum2Word_TH.splitnumc                 C   sF   t |ddd}t|ƒd d d… }g }|D ]}| |d d d… ¡ q|S )Né   F)Ú
format_intéÿÿÿÿ)r   ÚlistÚappend)r   Únum_txtÚresultÚnumber_listÚir   r   r   Ú	split_sixI   s   zNum2Word_TH.split_sixc                 C   s8   d}t t|ƒƒD ]\}}|dkr|}q|d | }q|S )Nr   r   r   )r&   Úreversed)r   r+   r5   r,   Útr   r   r   Úadd_text_millionQ   s   zNum2Word_TH.add_text_millionc                 C   s^   t |dd\}}}d |¡}d |¡}t|ƒdk r%dt|ƒ }d| | }|d | }||fS )NF)Úis_int_with_centsú{}r$   Ú0Ú.)r   Úformatr%   )r   ÚnumberÚintegerÚcentsÚnegativeÚadd_zeroÚtext_numr   r   r   Úround_2_decimal\   s   ÿ

zNum2Word_TH.round_2_decimalc                 C   s6   |   |¡}g }|D ]
}| |  |¡¡ q	|  |¡}|S r   )r8   r3   r.   r;   )r   rA   Úleft_num_listÚleft_text_listr7   Ú	left_textr   r   r   Úleft_num_to_textk   s   

zNum2Word_TH.left_num_to_textc           
      C   s²   |dk }|   |¡\}}| j}d |¡}d |¡}|r| d¡}t|ƒ|k r1|t|ƒ }d| | }|  |¡}d}|dksQtt|ƒD ]	}	|| j|	  }qA|d | }|rWd| }|S )Nr   r=   ú-r>   r   r   r   )	Úfloat2tupleÚ	precisionr@   Úlstripr%   rK   r'   r(   r   )
r   rA   rD   ÚpreÚpostrN   rE   r5   Ú
right_textr7   r   r   r   Úto_cardinalv   s&   



zNum2Word_TH.to_cardinalc                 C   s
   |   |¡S r   )rS   )r   rA   r   r   r   Ú
to_ordinal’   s   
zNum2Word_TH.to_ordinalr   c                 C   sò   |   |¡\}}| d¡}|d }|  |¡}|d }|  |d d d…  d¡¡}z	| j| \}	}
W n ty@   td|| jj	f ƒ‚w |dkrY|dkrR||	d  d	 }n||	d  }n|dkrd||
d  }n||	d  | |
d  }|rw| j
| }|S )
Nr?   r   r#   r1   r>   z+Currency code "%s" not implemented for "%s"Ú00r   u   à¸–à¹‰à¸§à¸™)rG   ÚsplitrK   r.   Úrstripr   ÚKeyErrorÚNotImplementedErrorÚ	__class__Ú__name__r   )r   rA   ÚcurrencyrD   Ú	split_numÚleft_numrJ   Ú	right_numrR   Úcr1Úcr2r5   r   r   r   Úto_currency•   s2   


ÿÿÿ
zNum2Word_TH.to_currencyN)r   )r[   Ú
__module__Ú__qualname__r   r    r"   r.   r8   r;   rG   rK   rS   rT   rb   r   r   r   r   r      s    r   N)	Ú
__future__r   Únum2words.baser   Únum2words.currencyr   Únum2words.utilsr   r   r   r   r   r   Ú<module>   s
   