o
    
i2                     @   s  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#d$d%d&d'Z i d d(dd)dd*dd+dd,d
d-dd.dd/dd0dd1dd2dd3dd4dd5dd6dd7d d8d9d:d;d<d=d'Zi d d>dd?dd@ddAddBd
dCddDddEddFddGddHddIddJddKddLddMd dNdOdPdQdRdSd'Zeee dTZdUdV ZdWdX ZdYdZ Zd[d\ Zd]d^ Zd_d` Z	dadb Z
dcdd Zdedf ZdmdhdiZdjdk ZdlS )n.ten0zero1ichi2ni3san4yon5go6roku7nana8hachi9kyuu10juu100hyaku1000sen10000man	100000000oku300sanbyakuroppyakuhappyakusanzenhassenissen)6008003000800001000   点   零   一   二   三   四   五   六   七   八   九   十   百   千   万   億u   三百u   六百u   八百u   三千u   八千u   一千u   てんu   ゼロu   いちu   にu   さんu   よんu   ごu   ろくu   ななu   はちu	   きゅうu	   じゅうu	   ひゃくu   せんu   まんu   おくu   さんびゃくu   ろっぴゃくu   はっぴゃくu   さんぜんu   はっせんu   いっせんkanjihiraganaromajic                 C   s   ||  S )N convert_numrequested_dictrA   rA   C/home/ubuntu/.local/lib/python3.10/site-packages/misaki/num2kana.pylen_one   s   rF   c                 C   s   | d dkrt | d |S | dkr|d S | d dkr(|d d t | d | S | d dkr;t | d |d |d  S g }| D ]	}|||  q?|d|d  d}|D ]}||d 7 }qU|d t|d  }|S )N    r      r   r     )rF   appendinsertlen)rC   rD   num_listxoutputyrA   rA   rE   len_two   s"   rR   c                 C   s  g }| d dkr| |d  n:| d dkr| |d  n,| d dkr,| |d  n| d dkr:| |d	  n| || d   | |d  | d
d  dkrYt| dkrYn| d
 dkri| || d   n| t| d
d  | d}|D ]}||d 7 }qy|d t|d
  }|S )NrG   r   r   r	   r!   r   r(   r   r)   rH   00   r      rJ   rI   )rK   rM   rR   rC   rD   rN   rP   rQ   rA   rA   rE   	len_three/   s*   rW   c                 C   s  g }| dkrdS | d dkr| dd  } | d dkst | dkr%t| |S t | dkr0t| |S t | dkr;t| |S | d dkrK|rK||d	  n:| d dkrY||d
  n,| d dkrg||d  n| d dkru||d  n||| d   ||d	  | dd  dkrt | dkrn| d dkr|t| dd  | n|t| dd  | d}|D ]}||d 7 }q|d t |d  }|S )N0000rJ   rG   r   rH   rU   rT   r   r   r,   r	   r*   r   r+   000   rI   )rM   rF   rR   rW   rK   )rC   rD   stand_alonerN   rP   rQ   rA   rA   rE   len_fourJ   s@   


r\   c                 C   s  g }t | dd dkr||| dd   ||d  nt | dd dkr=|t| dd | ||d  nyt | dd dkr[|t| dd | ||d  n[t | dd dkrz|t| dd |d ||d  n<t | dd d	kr||| d   ||d
  |t| dd	 |d | dd	 dkrn||d  nJ d|t| dd  |d d}|D ]}||d 7 }q|d t |d  }|S )NrG   rH   r   rU   rT   rZ   F   r   rX   z2Not yet implemented, please choose a lower number.rJ   rI   )rM   rK   rR   rW   r\   rV   rA   rA   rE   len_xt   s6   r_   c                 C   s$   d}| D ]}|dkrq||7 }q|S )NrJ   rI   rA   )convert_result
correctionrO   rA   rA   rE   remove_spaces   s   
rb   c                 C   sd   t | dkrt| |S t | dkrt| |S t | dkr!t| |S t | dkr-t| |dS t| |S )NrH   rU   rT   rZ   T)rM   rF   rR   rW   r\   r_   rB   rA   rA   rE   
do_convert   s   



rc   c                 C   s   |  d} | d }| d }d}|D ]}|t|t| d 7 }q|d dkrF|d dkrF|dkrFt||}|dd d	 }|t| d  | S |d dkrm|d dkrm|d
krmt||}|dd d }|t| d  | S t||d t| d  | S )Nr   rG   rH   rI   r   r?   u   っr@   t)splitrF   key_dictConvert)	split_numdict_choicesplit_num_asplit_num_bsplit_num_b_endrO   	small_TsurA   rA   rE   split_Point   s   
 
 
rp   c              	   C   sj  | dkrdS g }g }d}| D ]%}|dks|dkr/| | | d | | | d d}q||7 }q|dkr=| | g }g d}g d	}|D ]}t|}	d}
d
}t|D ]}}d}|d
8 }|	d
 }	|d
krhqW||v rt D ]\}}||kr~|
t|7 }
qpqW||v r||	d
  |v r|	dkrt D ]+\}}|||	d
  krt|}t D ]\}}||kr||t| 7 }|
|7 }
d}qqqWt D ]\}}||kr|
t|7 }
qqW| t|
 qI|d }
d}td
t|D ]H}|| dkr(z"||d
  dkr|
|| ||d
    }
|d
7 }n|
|| 7 }
W n ty'   |
|d 7 }
Y  |
S w |
||  }
|d
7 }q|
S )Nr.   rG   rJ   r;   r<   timesplus)	r/   r0   r1   r2   r3   r4   r5   r6   r7   )r8   r9   r:   r;   r<   rH   rU   rd   )rK   rM   reversed
kanji_dictitemsintrange
IndexError)rC   key
numberListrQ   rO   numberListConverted
baseNumber
linkNumbernoXcountresultskipaddToztempNorA   rA   rE   do_kanji_convert   s   





	

r   r?   c                 C   s   t | } | dd} | }|dkr#g }dD ]
}|t| | q|S t| }t| dkr/dS | d dkrMt| d	krM| d	d  } | d dkrMt| d	ks;d
| v rWt| |}nt| |}t| t	kre	 |S t
|}|S )N,rJ   allr=   	   z2Number length too long, choose less than 10 digitsrG   r   rH   r   )strreplacelowerrK   ri   rh   rM   rp   rc   romaji_dictrb   )rC   rk   result_listrO   
dictionaryr   rA   rA   rE   ri     s,   
ri   c                 C   s   | d t  v rCd| v r=| d}d}| |d d  D ]}|tt  tt  | 7 }qtt| d| d | S tt| S d S )NrG   r-   rJ   rH   r   )rt   valuesfindlistkeysindexr   r   )rC   point	endNumberrO   rA   rA   rE   ConvertKanji4  s   
$r   N)r?   )r   rt   hiragana_dictrh   rF   rR   rW   r\   r_   rb   rc   rp   r   ri   r   rA   rA   rA   rE   <module>   s   8
8
8
* 

P$