o
    ph"                     @   s   d dl mZ ddlmZ dZeddddd	d
dddddddddddddgZeddddddddd d!d"d#d$d%d&d'd(d)d*gZd+d,d-d.d/Zed0d1d2d3d4d5d6d7d8d9gZd:Z	d;Z
d<ZG d=d> d>eZd?d@ ZdAdB ZdCdD ZdEdF ZdGS )H    )unicode_literals   )Num2Word_EUzerounoduetrequattrocinqueseisetteottonovedieciundicidodicitrediciquattordiciquindicisedicidiciassettediciotto
diciannoveprimosecondoterzoquartoquintosestosettimoottavononodecimo
undicesimo
dodicesimotredicesimoquattordicesimoquindicesimo
sedicesimodiciassettesimodiciottesimodiciannovesimoventitrentaquarantasessanta)            mbtrquadrquintsestsettottnovdec)dollarodollari)	centesimo	centesimiGBPc                       s   e Zd ZdefeefdddZdZdZdd Zd	d
 Z	dd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  ZS )!Num2Word_IT)eurorD   ))sterlinasterline)pennyrG   ))yuanrH   )fenrI   )EURUSDrB   CNYzmeno z	 virgola c                 C   s   t |  d S N)r   setupself rQ   ]/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/num2words/lang_IT.pyrN   B   s   zNum2Word_IT.setupc                 C   s   d S rM   rQ   rO   rQ   rQ   rR   __init__E   s   zNum2Word_IT.__init__Fc                    sZ   |r
  t|}n t|}t|dd }d fdd|D }|tj | S )N.r    c                    s   g | ]	}  t|qS rQ   )to_cardinalint.0crO   rQ   rR   
<listcomp>P   s    z.Num2Word_IT.float_to_words.<locals>.<listcomp>)
to_ordinalrW   rV   strsplitjoinrC   FLOAT_INFIX_WORD)rP   float_numberordinalprefix
float_partpostfixrQ   rO   rR   float_to_wordsH   s   zNum2Word_IT.float_to_wordsc                 C   sN   |d }|d }|t v rt | }n
t| d d d }tt| }t|| S )N
   anta)STR_TENSCARDINAL_WORDSomitt_if_zerophonetic_contraction)rP   numbertensunitsrc   re   rQ   rQ   rR   tens_to_cardinalT   s   
zNum2Word_IT.tens_to_cardinalc                 C   s>   |d }d}|dkrt | | }t| |d }t|| S )Nd   centor   )rk   rl   rV   rm   )rP   rn   hundredsrc   re   rQ   rQ   rR   hundreds_to_cardinal^   s   z Num2Word_IT.hundreds_to_cardinalc                 C   s>   |d }|dkrd}n|  |d }t|  |d }|| S )N  r   millemila)rV   rl   )rP   rn   	thousandsrc   re   rQ   rQ   rR   thousands_to_cardinalf   s   z!Num2Word_IT.thousands_to_cardinalc           
      C   s   dd t |D }t|}|dkrtd|d pd}|d | }||d  }tt|}|dgkr5d}n| td|}d	|d d
  d }t|tdkri| td|}	d|	v rd|d7 }n|d7 }nd}	|| |	 S )Nc                 S   s   g | ]}|qS rQ   rQ   rX   rQ   rQ   rR   r[   q   s    z6Num2Word_IT.big_number_to_cardinal.<locals>.<listcomp>B   zThe given number is too large.r1   1zun  rU   rh   i0z e z, )r]   lenNotImplementedErrorexponent_length_to_stringrV   rW   r_   set)
rP   rn   digitslength	predigits
multiplierexponentinfixrc   re   rQ   rQ   rR   big_number_to_cardinalp   s&   


z"Num2Word_IT.big_number_to_cardinalc                 C   s   |dk rt j| |  }t|S t|tr| |}t|S |dk r-tt| }t|S |dk r<| t|}t|S |dk rK| 	t|}t|S |dk rZ| 
t|}t|S | |}t|S )Nr      rr   rv   i@B )rC   MINUS_PREFIX_WORDrV   
isinstancefloatrf   rk   rW   rq   ru   rz   r   
accentuate)rP   rn   stringrQ   rQ   rR   rV      s(   

	
zNum2Word_IT.to_cardinalc                 C   s   |d }d|  k odk n   }|dk rt j| |  S |d dkr+| j|ddS |dk r5tt| S |rH|d dkrH| |d d	 d
 S |rW|d dkrW| |d S | |d d	 }|dd  dkrl|d7 }|d S )Nrr   rg   r   r   r   T)rb   r1   rh   eesimor3   esimomill)rC   r   r\   rf   ORDINAL_WORDSrW   rV   )rP   rn   ro   is_outside_teensr   rQ   rQ   rR   r\      s    zNum2Word_IT.to_ordinalrJ   T ec                    sf   t t| j|||||d}|tv r+|d}|d dkr+|d dd|d< d|}|dd}|S )N)currencycents	separator	adjectiverU   r   r   unaun)superrC   to_currencyCURRENCIES_UNAr^   replacer_   )rP   valr   r   r   r   resultlist_result	__class__rQ   rR   r      s   


zNum2Word_IT.to_currency)F)rJ   Tr   F)__name__
__module____qualname__GENERIC_CENTSGENERIC_DOLLARSCURRENCY_FORMSr   r`   rN   rS   rf   rq   ru   rz   r   rV   r\   r   __classcell__rQ   rQ   r   rR   rC   8   s(    


rC   c                 C   s,   |  dd dd dd dd ddS )Noooaoioauuiu)r   r   rQ   rQ   rR   rm      s   rm   c                 C   s(   t | d  }| d dkr|d S |d S )Nr3   r   ilioneiliardo)EXPONENT_PREFIXES)exponent_lengthrc   rQ   rQ   rR   r      s   r   c                 C   s   d dd |  D S )NrU   c                 S   sL   g | ]"}|d d dkrt |dkr|dddd  d n|ddqS )r   Nr   r1   u   tré)r   r   )rY   wrQ   rQ   rR   r[      s    
zaccentuate.<locals>.<listcomp>)r_   r^   r   rQ   rQ   rR   r      s
   r   c                 C   s   | t krdS | S )Nr}   )ZERO)number_to_stringrQ   rQ   rR   rl      s   rl   N)
__future__r   lang_EUr   r   rk   r   rj   r   r   r   r   rC   rm   r   r   rl   rQ   rQ   rQ   rR   <module>   s0    

