
    \e                     6    d dl Z d dlmZ d dl  G d d      Zy)    N)translit)*c                       e Zd Zd Zy)CmfTranslitCodec                    ddl m} | j                  j                  st	        d      t        | j                  j                  xs ddd      }t        j                  dd	|      j                  d	      j                         }| j                  j                  rVt        |      d
z   | j                  j                  kD  r1|d| j                  j                  dz
    d|j                  |d
       }t        d      D ]z  }|dk(  r|}n| d	| }t        j!                         5  t#        t$              | j&                     j)                  dd|gdd| j*                  ggd      s	 ddd        |S 	 ddd       | t-        d      # 1 sw Y   xY w)um   
        По умолчанию код у группы равен названию
        :return:
        r   )cmf_hashlibu   Укажите имя ruT)language_codereversedz[^\w@-\\.]+-   N	   _d   code=idz!=)filterinclude_deleteduJ   model.gen_code: Слишком много попыток создать ID)cmf.utilr   namevalue	Exceptionr   resubstriplowerr   
max_lengthlenshort_str_encrangecmfutildisable_aclvarsmodels
class_namesgetr   CmfError)selfr   r   nnres_codes        !./cmf/models/cmf_translit_code.pygen_codezCmfTranslitCode.gen_code   s{   
 	)yy344		-2TDQ vvnc4066s;AAC99CIMDII4H4H$H2DII00234Ak6O6OPTVW6X5YZD* 	iBQw"V1RD>$$& F|DOO499!'h 7$dgg9NO(, : . 	  . 	i ghh s   AFF
	N)__name__
__module____qualname__r.        r-   r   r      s    r3   r   )r   transliterater   cmf.includer   r2   r3   r-   <module>r6      s    	 "  r3   