o
    ph                     @   s:   d dl mZmZmZ ddlmZ dZG dd dejZdS )    )divisionprint_functionunicode_literals   )lang_EUnullac                       s   e Zd ZdZdZ fddZef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 fdd	Zdd Z  ZS ) Num2Word_HU   illiárd   illióc                    s   t t|   d| _d| _g d| _g d}dd |D dg | | _dd |D d	g | j tg | _i 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)d*d+d,d-d.d/d0| _d S )1Nu   mínusz u   egész)	)  ezer)d      száz)Z   	kilencven)P   nyolcvan)F   hetven)<   hatvan)2      ötven)(   negyven)   harminc)	kilencnyolc   héthat   öt   négy   három   kettőegyc                 S      g | ]}d | qS )tizen .0wr(   r(   ]/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/num2words/lang_HU.py
<listcomp>)       z%Num2Word_HU.setup.<locals>.<listcomp>u   tízc                 S   r&   )huszonr(   r)   r(   r(   r,   r-   ,   r.   u   húszr   nulladr%   egyedr$   kettedr#   harmadr"   negyedr!   u   ötödr    hatodr   hetedr   nyolcadr   kilencedtizedhuszadr   	harmincadr   	negyvenedr   u   ötvenedr   hatvanadr   hetvened
nyolcvanadkilencvenedu   századezred	milliomodu   milliárdod)r   r   r   r   r
   r	   )	superr   setupnegword	pointwordmid_numwordslow_numwordsZEROpartial_ords)selfrH   	__class__r(   r,   rD      sv   
	
zNum2Word_HU.setupc                 C   s   t ||kr| |S |dk r| j| |  }|S |dkr"|}|S |dkr.|dkr.d}|S |dk r9| j| }|S |dk rD| |}|S |dk rO| |}|S |dk rZ| |}|S | |}|S )	Nr       u   kétr   r   r   i@B )	intto_cardinal_floatrE   to_cardinalcardstens_to_cardinalhundreds_to_cardinalthousands_to_cardinalbig_number_to_cardinal)rK   valuezerooutr(   r(   r,   rR   K   s2   

	



zNum2Word_HU.to_cardinalc                 C   s@   z| j | W S  ty   | j |d d  | |d   Y S w )N
   )rS   KeyErrorrR   rK   rX   r(   r(   r,   rT   `   s
   $zNum2Word_HU.tens_to_cardinalc                 C   s@   |d }d}|dkr| j |dd| }| j |d dd}|| S )Nr   r   r   rN   rY   rR   )rK   rX   hundredsprefixpostfixr(   r(   r,   rU   f   s   z Num2Word_HU.hundreds_to_cardinalc                 C   sZ   |d }d}|dkr| j |dd| }| j |d dd}||dks#|s(d | S d | S )Nr   r   r   rN   r^   i  -r_   )rK   rX   	thousandsra   rb   r(   r(   r,   rV   n   s   "z!Num2Word_HU.thousands_to_cardinalc                 C   sp   t t|}|d dkr|n|d }d|d d  }| || d}| || d| j|  |r5d|  S d S )N   r   rO   r[   rN   rc   )lenstrrR   rS   )rK   rX   digitsexprestr(   r(   r,   rW   v   s   
z"Num2Word_HU.big_number_to_cardinalc                 C   s   |dk r| j | |  S |dkrdS |dkrdS | |}| j D ]\}}|t| d  |krB|d t|  | } |d S q#|d S )Nr   r   u   elsőrO   u   másodikik)rE   
to_ordinalrR   rJ   itemsrf   )rK   rX   rZ   	card_wordord_wordr(   r(   r,   rl   ~   s   
zNum2Word_HU.to_ordinalc                 C   s   |  | t|d S )N.)verify_ordinalrg   r]   r(   r(   r,   to_ordinal_num   s   
zNum2Word_HU.to_ordinal_numNTc                 C   s>   d}|dk s
|d urt |}|d ur|d nd}|| | S )NrN   r    zi. e. )absrR   )rK   valsuffixlongvalra   r(   r(   r,   to_year   s
   zNum2Word_HU.to_yearHUF,Fc                    s   t t| |||||S )N)rC   r   to_currency)rK   ru   currencycents	separator	adjectiverL   r(   r,   r{      s   

zNum2Word_HU.to_currencyc                 C   sl   t ||kr| j| |  S t|d\}}| t|d | t| d | j| jdt	|    S )Nrp   u    egész rs   r[   )
rt   rE   rQ   rg   splitrR   rP   rJ   rS   rf   )rK   rX   leftrightr(   r(   r,   rQ      s   zNum2Word_HU.to_cardinal_float)NT)ry   Trz   F)__name__
__module____qualname__GIGA_SUFFIXMEGA_SUFFIXrD   rI   rR   rT   rU   rV   rW   rl   rr   rx   r{   rQ   __classcell__r(   r(   rL   r,   r      s     .
r   N)	
__future__r   r   r   rN   r   rI   Num2Word_EUr   r(   r(   r(   r,   <module>   s   