o
    ph!                     @   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`   ]/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/num2words/lang_SR.pysetupi   s   
zNum2Word_SR.setupFc                 C   s   t |dd}d|v r<|d\}}t|t|d }td d | | t|| }d| t||| j|f S | t||S )N,.0r    z%s %s %s)	strreplacesplitlenlstripZERO	_int2wordintr^   )r_   numberfemininenleftrightleading_zero_countdecimal_partr`   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 )Nd   rG      r   r   r   r   r`   )r_   ro   formsformr`   r`   ra   	pluralize|   s   zNum2Word_SR.pluralizec                 C   s   t  )N)NotImplementedError)r_   ro   r`   r`   ra   
to_ordinal   s   zNum2Word_SR.to_ordinalc                 C   s   |  || j| d d S )Nr   )rm   CURRENCY_FORMS)r_   ro   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   rf   r   r   r~   )joinr]   rm   absrl   listr   rg   rj   r   appendHUNDREDSTWENTIESTENSSCALErn   ONESr{   )r_   ro   rp   wordschunks	chunk_lenchunkdigit_right	digit_mid
digit_leftis_feminine
gender_idxr`   r`   ra   rm      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
            separator (str): Cent separator
            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 %sr~   )rp   )r   r   KeyErrorr|   	__class____name__CURRENCY_ADJECTIVESr   r]   r   _cents_terserv   r{   )r_   valr   cents	separator	adjectiverr   rs   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__r   rb   rv   r{   r}   r   rm   r   r`   r`   r`   ra   rH   Y   s    

"rH   N)
__future__r   baser   r   r   r   utilsr   r   rl   r   r   r   r   r   rH   r`   r`   r`   ra   <module>   st   