o
    ph                     @   s0   d dl mZmZ ddlmZ G dd deZdS )    )print_functionunicode_literals   )Num2Word_Basec                       sr   e Zd ZddddddZdZdZd	d
 Zdd Zdd Zdd Z	dd Z
dd Z		d fdd	Zdd Z  ZS )Num2Word_EO))u   eŭrou   eŭrojcentimocentimoj))dolarodolaroj)cendocendoj))frankofrankojr   ))pundopundoj)pencopencoj))juanojuanoj)fenofenoj)EURUSDFRFGBPCNYiliardoilionoc                 C   sh   ddt |  }t|t|ddD ] \}}| jr"|| j | jd| < | jr1|| j | jd|d  < qd S )N      i
   )lenziprangeGIGA_SUFFIXcardsMEGA_SUFFIX)selfhighcapwordn r-   ]/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/num2words/lang_EO.pyset_high_numwords"   s   zNum2Word_EO.set_high_numwordsc                    s"    fdd|D }|   || S )Nc                    s   g | ]} D ]}|| qqS r-   r-   ).0tuunitsr-   r.   
<listcomp>-   s    z1Num2Word_EO.gen_high_numwords.<locals>.<listcomp>)reverse)r(   r4   tenslowsoutr-   r3   r.   gen_high_numwords,   s   zNum2Word_EO.gen_high_numwordsc                 C   s   g d}g d}g d}dg|  ||| | _d| _d| _d| _d| _g d	| _g d
| _g d| _ddddddddddd
| _	d S )N)	   naŭoksepseskvinkvartrbm)
 unduotrekvatuorr?   seksseptenoktonovem)	dekviginttrigint
kvadragintkvinkvagint	seksagint
septuagintoktogintnonagintcentzminus komoz.Sole nombroj povas esti konvertita en vortojn.z@Tro granda nombro por esti konvertita en vortojn (abs(%s) > %s).)kajrW   minus)	)i  mil)d   rV   )Z   u   naŭdek)P   okdek)F   sepdek)<   sesdek)2   kvindek)(   kvardek)   tridek)dudeku   dek naŭzdek okzdek sepzdek seszdek kvinzdek kvarzdek trizdek duzdek unurM   r;   r<   r=   r>   r?   r@   triduununulunuaduatriakvarakvinasesasepaokau   naŭadeka)
rl   rk   rj   r@   r?   r>   r=   r<   r;   rM   )
r:   high_numwordsnegword	pointworderrmsg_nonnumerrmsg_toobigexclude_titlemid_numwordslow_numwordsords)r(   r8   r4   r7   r-   r-   r.   setup1   s2   


zNum2Word_EO.setupc                 C   sx   || \}}}}|dkr|dk r|S |dkr$|dkr$d||f || fS |dkr2d||f || fS d||f || fS )Nr   i@B z%s %sjr[   z%s%sz%s %sr-   )r(   currnextctextcnumntextnnumr-   r-   r.   mergeV   s   zNum2Word_EO.mergec                 C   s   |  | | |}| j D ]\}}||r'|d t|  | }|  S q|dr7|d d d }|S |drF|d d d }|S |d }|S )Noaoj)verify_ordinalto_cardinalr   itemsendswithr"   )r(   valuer+   srcreplr-   r-   r.   
to_ordinalc   s   




zNum2Word_EO.to_ordinalc                 C   s   |  | t|}|d7 }|S )Nr   )r   str)r(   r   r9   r-   r-   r.   to_ordinal_nums   s   
zNum2Word_EO.to_ordinal_numr   T kajFc                    s   t t| j|||||d}|S )N)currencycents	separator	adjective)superr   to_currency)r(   valr   r   r   r   result	__class__r-   r.   r   y   s
   
zNum2Word_EO.to_currencyc                 C   s   |dkrdnd}|| S )Nr   r   r-   )r(   r,   formsformr-   r-   r.   	pluralize   s   zNum2Word_EO.pluralize)r   Tr   F)__name__
__module____qualname__CURRENCY_FORMSr%   r'   r/   r:   r   r   r   r   r   r   __classcell__r-   r-   r   r.   r      s&    
%r   N)
__future__r   r   baser   r   r-   r-   r-   r.   <module>   s   