o
    ph\                     @   s@   d dl mZmZmZ ddlmZ ddlmZ G dd deZdS )    )divisionprint_functionunicode_literals   )Num2Word_Base)parse_currency_partsc                       s`   e Zd ZddddZdd Z fddZd	d
 Zdd Zdd ZdddZ			dddZ
  ZS )Num2Word_KO)u   원N)u   달러u   센트)u   엔N)KRWUSDJPYc                 C   s:   dt | }t|t|ddD ]\}}|| jd| < qd S )N   r   
   )lenziprangecards)selfhighmaxwordn r   ]/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/num2words/lang_KO.pyset_high_numwords   s   zNum2Word_KO.set_high_numwordsc                    s   t t|   d| _d| _g d| _ddg| _g d| _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*i| _d S )+Nu   마이너스 u   점)u   무량대수u   불가사의u	   나유타u	   아승기u	   항하사u   극u   재u   정u   간   구u   양u   자u   해u   경u   조u   억u   만)i  u   천)d      백)   십r      팔   칠   육   오   사   삼   이   일u   영r&   u   한r%   u   두r$   u   세r#   u   네r"   u   다섯r!   u   여섯r    u   일곱r   u   여덟r   u   아홉r   u   열u   이십   스물u   삼십u   서른u   사십u   마흔u   오십u   쉰u   육십u   예순u   칠십u   일흔u   팔십u   여든u   구십u   아흔)	superr   setupnegword	pointwordhigh_numwordsmid_numwordslow_numwordsords)r   	__class__r   r   r)   $   sR   


	
zNum2Word_KO.setupc                 C   s   |\}}|\}}|dkr|dkr|S d|  kr|kr(n n
d||f || fS |dkr:||kr:d||f || fS d||f || fS )Nr   i'  z%s%sz%s %sr   )r   lpairrpairltextlnumrtextrnumr   r   r   mergeR   s   zNum2Word_KO.mergec                 C   s   |  | |dkrdS | |d}|d d}d|d v rY|d d}| j|d d  |d< z| j|d  |d< |d dd	|d< W n	 tyP   Y nw d
||d< n	| j|d  |d< d||d< d|d S )Nr   u
   첫 번째 r   r   r   u   스무r'    u   백 u    번째)verify_ordinalto_cardinalsplitr/   replaceKeyErrorjoin)r   valueoutwords	lastwordsten_oner   r   r   
to_ordinal^   s$   
zNum2Word_KO.to_ordinalc                 C   s   |  | d| S )Nu	   %s 번째)r<   )r   rB   r   r   r   to_ordinal_numr   s   
zNum2Word_KO.to_ordinal_numNTc                 C   s>   |dk rt |}|sdn|}| |}|sd| S d||f S )Nr   u	   기원전u   %s년u   %s %s년)absr=   )r   valsuffixlongvalvaltextr   r   r   to_yearv   s   

zNum2Word_KO.to_yearr	   Fr;   c                 C   s   t ||d\}}}z| j| \}	}
|s|r|
std| W n ty/   td|| jjf w |r5| jnd}d|d| 	|
 |	|
rLd| 	| nd|
rS|
f S df S )N)is_int_with_centszDecimals not supported for "%s"z+Currency code "%s" not implemented for "%s"r;   z
%s%s%s%s%sr9   )r   CURRENCY_FORMS
ValueErrorr@   NotImplementedErrorr1   __name__r*   rA   r=   r>   )r   rI   currencycents	separator	adjectiveleftrightis_negativecr1cr2	minus_strr   r   r   to_currency~   s6   
zNum2Word_KO.to_currency)NT)r	   Fr;   F)rR   
__module____qualname__rO   r   r)   r8   rF   rG   rM   r]   __classcell__r   r   r0   r   r      s    .
r   N)	
__future__r   r   r   baser   rS   r   r   r   r   r   r   <module>   s   