o
    Ni_                     @   sF   d dl mZ d dlmZmZmZmZ dd Zdd ZG dd dZ	d	S )
   )DECODERS)
Ind2Target
Rom2Target
Urd2Target	Ind2IndRBc                 C   s(   zt |  W S  ty   td| w )NzUnknown decoder {0!r})r   KeyError
ValueErrorformat)decode r   M/home/ubuntu/.local/lib/python3.10/site-packages/indictrans/transliterator.py_get_decoder   s
   
r   c                 C   s   |dkr| j S | jS )Nviterbi)transliteratetop_n_trans)transr
   r   r   r   
_get_trans   s   r   c                   @   s&   e Zd ZdZ		dddZd	d
 ZdS )Transliteratoruk  Transliterator for Indic scripts including English and Urdu.

    Parameters
    ----------

    source : str, default: hin
        Source Language (3 letter ISO-639 code)

    target : str, default: eng
        Target Language (3 letter ISO-639 code)

    decode : str, default: viterbi
        Decoding algorithm, either ``viterbi`` or ``beamsearch``.

    build_lookup : bool, default: False
        Flag to build lookup-table. Fastens the transliteration
        process if the input text contains repeating words.

    rb : bool, default: True
        Decides whether to use rule-based system or ML system for
        transliteration. This choice is only for Indic to Indic
        transliterations. If ``True`` uses ruled-based one.

    Examples
    --------

    >>> from indictrans import Transliterator
    >>> trn = Transliterator(source='hin', target='eng', build_lookup=True)
    >>> hin = '''कांग्रेस पार्टी अध्यक्ष सोनिया गांधी, तमिलनाडु की मुख्यमंत्री
    ... जयललिता और रिज़र्व बैंक के गवर्नर रघुराम राजन के बीच एक
    ... समानता है. ये सभी अलग-अलग कारणों से भारतीय जनता पार्टी के
    ... राज्यसभा सांसद सुब्रमण्यम स्वामी के निशाने पर हैं. उनके
    ... जयललिता और सोनिया गांधी के पीछे पड़ने का कारण कथित
    ... भ्रष्टाचार है.'''
    >>> eng = trn.transform(hin)
    >>> print(eng)
    congress party adhyaksh sonia gandhi, tamilnadu kii mukhyamantri
    jayalalita our reserve baink ke governor raghuram rajan ke beech ek
    samanta hai. ye sabi alag-alag carnon se bharatiya janata party ke
    rajyasabha saansad subramanyam swami ke nishane par hain. unke
    jayalalita our sonia gandhi ke peeche padane ka kaaran kathith
    bhrashtachar hai.
    hinengr   FTc                 C   s$  |  }|  }d }|t|f}|dv rA||vs||kr&td||f |dkr2t||||}nt||||}t||| _d S |dv rd||vsM||krUtd||f t||||}	t|	|| _d S ||vsp||vsp||krxtd||f |rt	||j
| _d S t||||}
t|
|| _d S )NzQhin guj pan ben mal kan tam tel
                  ori mar nep kok bod asm eng urd)r   urdz)Language pair `%s-%s` is not implemented.r   )lowersplitr   NotImplementedErrorr   r   r   	transformr   r   rtrans)selfsourcetargetr
   build_lookuprbimpldecoderru2ii2oi2ir   r   r   __init__E   sH   zTransliterator.__init__c                 C   s
   |  |S )N)r   )r   liner   r   r   converth   s   
zTransliterator.convertN)r   r   r   FT)__name__
__module____qualname____doc__r&   r(   r   r   r   r   r      s    +
#r   N)
_decoder   script_transliterater   r   r   r   r   r   r   r   r   r   r   <module>   s
   