U
    -g                     @   s.   d dl Z d dlmZ d dlT G dd dZdS )    N)translit)*c                   @   s   e Zd Zdd ZdS )CmfTranslitCodec              
   C   s  ddl m} | jjstdt| jjp(dddd}tdd	|d		 }| j
jrt|d
 | j
jkr|d| j
jd   d||d
 }tdD ]n}|dkr|}n| d	| }t @ tt| j jdd|gdd| jggddsW 5 Q R   qW 5 Q R X qtd|S )um   
        По умолчанию код у группы равен названию
        :return:
        r   )cmf_hashlibu   Укажите имя ruT)Zlanguage_codereversedz[^\w@-\\.]+-   N	   _d   code=idz!=)filterZinclude_deleteduJ   model.gen_code: Слишком много попыток создать ID)Zcmf.utilr   namevalue	Exceptionr   resubstriplowerr   Z
max_lengthlenZshort_str_encrangeZcmfutilZdisable_aclvarsZmodels
class_namesgetr   ZCmfError)selfr   r   nnZres_code r    !./cmf/models/cmf_translit_code.pygen_code   s&    &
zCmfTranslitCode.gen_codeN)__name__
__module____qualname__r"   r    r    r    r!   r      s   r   )r   Ztransliterater   Zcmf.includer   r    r    r    r!   <module>   s   