o
    |¨Êho  ã                   @   sÌ   d dl mZ ddlmZ ddlmZmZ ddlmZm	Z	 dZ
ddd	d
ddddddœ	Zdddddddddddœ
Zddddd d!d"d#d$œZd%d&d'd(d)d*d+d,d-dœ	Zd.d/d0d1d2d3d4d5d6d7d8d9œZG d:d;„ d;eƒZd<S )=é    )Úunicode_literalsé   )ÚNum2Word_Base)Úparse_currency_partsÚprefix_currency)Ú
get_digitsÚsplitbyx)Únula)ÚjedanÚjedna)ÚdvaÚdve)Útrir   )õ   Ä�etirir   )Úpetr   )õ   Å¡estr   )Úsedamr   )Úosamr   )Údevetr   )	r   é   é   é   é   é   é   é   é	   )Údeset)Ú	jedanaest)Údvanaest)Útrinaest)u
   Ä�etrnaest)Úpetnaest)u	   Å¡esnaest)Ú
sedamnaest)Ú	osamnaest)Ú
devetnaest)
r   r   r   r   r   r   r   r   r   r   )Údvadeset)Útrideset)u
   Ä�etrdeset)Úpedeset)u	   Å¡ezdeset)Ú
sedamdeset)Ú	osamdeset)Ú	devedeset)r   r   r   r   r   r   r   r   )Ústo)Údvesta)Útrista)u	   Ä�etristo)Úpetsto)u   Å¡esto)Úsedamsto)Úosamsto)Údevetsto)Ú r2   r2   F)ÚhiljadaÚhiljader3   T)ÚmilionÚmilionar6   F)ÚbilionÚbilionar8   F)ÚtrilionÚtrilionar:   F)Ú
kvadrilionÚkvadrilionar<   F)Ú
kvintilionÚkvintilionar>   F)Ú
sekstilionÚsekstilionar@   F)Ú	septilionÚ
septilionarB   F)ÚoktilionÚ	oktilionarD   F)ÚnonilionÚ	nonilionarF   F)r   r   r   r   r   r   r   r   r   r   é
   c                   @   sZ   e Zd ZddddœZdd„ Zddd	„Zd
d„ Zdd„ Zdd„ Zddd„Z			ddd„Z
dS )ÚNum2Word_SR))ÚrubljaÚrubljeÚrubljiT)ÚkopejkaÚkopejkeÚkopejkiT))ÚevroÚevrarP   F)ÚcentÚcentaÚcentiF))ÚdinarÚdinararU   F)ÚparaÚparerV   T)ÚRUBÚEURÚRSDc                 C   s   d| _ d| _d S )NÚminusÚzapeta)ÚnegwordÚ	pointword)Úself© r`   úC/var/www/html/env/lib/python3.10/site-packages/num2words/lang_SR.pyÚsetupi   s   
zNum2Word_SR.setupFc                 C   s^   t |ƒ dd¡}d|v r'| d¡\}}d|  t|ƒ|¡| j|  t|ƒ|¡f S |  t|ƒ|¡S )Nú,Ú.z%s %s %s)ÚstrÚreplaceÚsplitÚ	_int2wordÚintr^   )r_   ÚnumberÚfeminineÚnÚleftÚrightr`   r`   ra   Úto_cardinalm   s   ýzNum2Word_SR.to_cardinalc                 C   sp   |d dk s|d dkr2|d dkrd}|| S d|d   k r$dk r,n nd}|| S d}|| S d}|| S )Néd   rG   é   r   r   r   r   r`   )r_   rj   ÚformsÚformr`   r`   ra   Ú	pluralizey   s   úýÿzNum2Word_SR.pluralizec                 C   s   t ƒ ‚)N)ÚNotImplementedError)r_   rj   r`   r`   ra   Ú
to_ordinal…   s   zNum2Word_SR.to_ordinalc                 C   s   |   || j| d d ¡S )Nr   éÿÿÿÿ)rh   ÚCURRENCY_FORMS)r_   rj   Úcurrencyr`   r`   ra   Ú_cents_verboseˆ   s   þzNum2Word_SR._cents_verbosec                 C   s"  |dk rd  | j|  t|ƒ¡g¡S |dkrtd S g }ttt|ƒdƒƒ}t|ƒ}|D ]a}|d8 }t	|ƒ\}}}	|	dkrD| 
t|	 d ¡ |dkrQ| 
t| d ¡ |dkr_| 
t| d ¡ n|dkrx|pjt| d }
t|
ƒ}| 
t| | ¡ |dkr‹|dkr‹| 
|  |t| ¡¡ q*d  |¡S )Nr   ú r   r   rw   )Újoinr]   rh   ÚabsÚZEROÚlistr   re   Úlenr   ÚappendÚHUNDREDSÚTWENTIESÚTENSÚSCALEri   ÚONESrt   )r_   rj   rk   ÚwordsÚchunksÚ	chunk_lenÚchunkÚdigit_rightÚ	digit_midÚ
digit_leftÚis_feminineÚ
gender_idxr`   r`   ra   rh   Ž   s4   
ÿ€
zNum2Word_SR._int2wordrY   Trc   c              
   C   sÂ   t |ƒ\}}}z	| j| \}	}
W n ty!   td|| jjf ƒ‚w |r1|| jv r1t| j| |	ƒ}	|r8d| j nd}|rB|  	||¡n|  
||¡}d|| j||	d d�|  ||	¡|||  ||
¡f S )a*  
        Args:
            val: Numeric value
            currency (str): Currency code
            cents (bool): Verbose cents
            seperator (str): Cent seperator
            adjective (bool): Prefix currency name with adjective
        Returns:
            str: Formatted string

        z+Currency code "%s" not implemented for "%s"z%s r2   z%s%s %s%s %s %srw   )rk   )r   rx   ÚKeyErrorru   Ú	__class__Ú__name__ÚCURRENCY_ADJECTIVESr   r]   rz   Ú_cents_tersero   rt   )r_   Úvalry   ÚcentsÚ	seperatorÚ	adjectiverm   rn   Úis_negativeÚcr1Úcr2Ú	minus_strÚ	cents_strr`   r`   ra   Úto_currency°   s8   
ÿÿÿþÿ
ÿ

úzNum2Word_SR.to_currencyN)F)rY   Trc   F)r’   Ú
__module__Ú__qualname__rx   rb   ro   rt   rv   rz   rh   rž   r`   r`   r`   ra   rH   Y   s    ÷

"ÿrH   N)Ú
__future__r   Úbaser   ry   r   r   Úutilsr   r   r~   r†   r„   rƒ   r‚   r…   rH   r`   r`   r`   ra   Ú<module>   st   ÷öø÷õ