
    im"                        U d dl T d dlmZ d Z e             ej                            dd                                          dk    r e	d           d Z
 e
             ej        r9 eej        e          r(d	 ej                                        D             e_        d dlmZ d dlT  G d
 de          Zd e            vr e            Zded<   d dlmZmZ d dlmZmZ d dlmZ   e             Z!ej"        Z"ej#        Z#d dl$m%Z% d dl&mZm'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZH d dlIZJd dlKZJd dlLZJd dlMmNZN dS )    )*Nc                     ddl m}   | t          j        d          }d }d } | d          } | d          }|                                r'|                                                    d          }|                                r'|                                                    d          }|                                r|dz                                                      d          }d|v rw|                    d	          d
         }||                    dd          d
         z  }|                                r'|                                                    d          }n|}|t          _        |t          _	        |t          _
        t          j        ?t          j
        r5dD ]4}t          j
                            |          rdt          _         d S 1d S d S d S )Nr   )Pathz.gitz/opt/eva_branchz/opt/eva_version
HEADzref: /    )maxsplit)develreleasemasterT)pathlibr   configPROJECT_DIRexists	read_textstripsplitCMF_VERSIONEVA_VERSION
EVA_BRANCH
PRODUCTION
startswith)	r   git_pathbranchversionbranch_pathversion_pathhead	head_pathbranch_prefixs	            ./cmf/include.pyinit_versionsr%   
   s   tF&//HFG$())K4*++L 5&&((..t44 7((**0066  **,,22488d??ZZ__R(F $**S1*"="=b"ABI!! <#--//55d;;G F FF V%6 ; 	 	M ++M:: $(! !   	 	    VAULT_ENABLED trueu.   Включена интеграция с vaultc            
      `   dd l } dt          j        vsdt          j        vrt          d           t	          d           t          j        d         }t          j        d         }|                     ||          }i }dg}t          d          D ]}|                    d|            |D ]M}t          j                            | d          }|s(|dk    rd	}	nFt          j                            | d
          }	|	s"t          d| d
           t	          d           t          t          d          rd	t          j        vrt          d           t          d| d|	 d| d           |j        j                            |          d         }
d|
v r|
d         }
dddd||	<   ||	                             |
           t          d|	 dt!          |
                                                      O|rQt          dt!          |                                                      t          j                            |           nt          d           dt          j        v r4t          j        d         }d	}	t          t          d          rd	t          j        vrt          d           d S t          d|	 d| d           |j        j                            |          d         }d|v r|d         }i }d d!d"d#d$d%d&d'|d	<   |d	                             |           t          d(t!          |                                           dt!          |                                                      t          j        d	                             |           d S t          d)           d S )*Nr   	VAULT_URLVAULT_TOKENuM   VAULT Error! Не указаны параметры VAULT_URL и VAULT_TOKEN!)urltokenVAULT_REDIS
   _PATHdefault_NAMEu   VAULT Укажите cache_settingsuE   VAULT Для текущего APP не используется Redisu1   VAULT Получаем настройки для r
   z ())pathdataredis6379   )typeportdbuT   VAULT Получили настройки доступа в Redis из vault для z: uV   VAULT Применили настройки доступа в Redis из vault для u=   VAULT найстройки для Redis не переданыVAULT_POSTGRES_PATHdata_sourcesuH   VAULT Для текущего APP не используется Postgresu:   VAULT Получаем настройки для Postgres 
sqlalchemy   i  	QueuePoolTd   i  )r;   zsqlalchemy.pool_sizezsqlalchemy.pool_recyclezsqlalchemy.poolclasszsqlalchemy.pool_use_lifozsqlalchemy.max_overflowzsqlalchemy.pool_timeoutuW   VAULT Получили настройки доступа в Postgres из vault для uB   VAULT Найстройки для PostgreSQL не переданы)hvacosenvironprintexitClientrangeappendgethasattrr   r4   secretskvread_secretupdatelistkeysr?   )rD   r-   r.   clientredis_settingsredis_prefixesiredis_prefixr6   nameredis_connection_configpg_connection_configpg_settingss                r$   
vault_initr]   5   s   bj((M,K,KbcccGGGj%
=)E22$ 'r 	5 	5A!!"3"3"34444* 	Y 	YL:>>\"8"8"899D },, z~~&<&<&<== E,EEEFFFGGG6#344 	I^8^8^^___dlddUYdd]adddeee&,n&7&C&C&C&N&Nv&V#000*A&*I'  	$ $N4  4 ''(?@@@  Xim  X  Xqu  wN  wS  wS  wU  wU  rV  rV  X  X  Y  Y  Y  Y 	T  Ikop~  qD  qD  qF  qF  lG  lG  I  I  J  J  J!((8888RSSS BJ..:34DD6>22 ivGZ6Z6Zabbb^t^^W[^^^___#)>#4#@#@d#@#K#KF#S ---';F'C$ K$ )*+/(3,0+.+/
& 
&K	" 	"))*>???  llpq|  rB  rB  rD  rD  mE  mE  l  l  IM  Nb  Ng  Ng  Ni  Ni  Ij  Ij  l  l  m  m  m	*11+>>>>>WXXXXXr&   c                     g | ]}||S  r_   ).0domains     r$   
<listcomp>rb      s    "f"f"ff_e"f6"f"f"fr&   c                       e Zd Zd ZdS )AppProxyc                 .    ddl m} t          ||          S )Nr   )APP)cmf.apprf   getattr)selfrY   rf   s      r$   __getattr__zAppProxy.__getattr__   s$    sD!!!r&   N)__name__
__module____qualname__rj   r_   r&   r$   rd   rd      s#        " " " " "r&   rd   rf   zcmf.app.Flask)cmf_deferred_jobCmfDeferredJobWrapper)on_server_eventcmf_emit_server_event)SAModelAccessor)cmfutil)#rf   send_staticsocketioREDIS_DBprint_debug	CMF_CACHE	cmf_alertcmf_notecmf_emit_eventrun_bash_commandrsa_sign_pack_jwt
create_jwtcmf_get_versioncmf_remove_filewhatsapp_siowhatsapp_go_siostart_viewsschedule_deferred_jobcommit_with_eventrollback_purge_eventcmf_pycharm_debuggen_eva_app_tokencall_eva_account
cmf_commitcmf_rollbackapp_base_hrefauth_base_hrefstart_of_day
end_of_daystart_of_weekend_of_weekstart_of_monthend_of_monthstart_of_yearend_of_year)CmfUiMenuNode)Ocmf.include_cmfcmf.config_loadconfig_loadr   r%   rE   rF   rL   lowerrG   r]   CORS_ALLOWED_DOMAINS
isinstancestrr   tmp.__autogen_models_tmp__autogen_models_tmpmodelscmf.base_errorobjectrd   globalsrf   __annotations__cmf.cmf_deferred_jobrn   ro   cmf.cmf_server_event_listenerrp   rq   cmf.data_providers.sqlalchemyrr   _SAModelAccessorsar   
UPLOAD_DIRcmf.utilrs   rg   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	cmf.viewscmf
cmf.fields
cmf.modelscmf.models.base_modelr   r_   r&   r$   <module>r      s                   # # #L  :>>/2&&,,..&88	E
:;;;cY cY cYJ JLLL 
 g::f.I3#O#O g"f"f8S8Y8Y8[8["f"f"fF ) ) ) ) ) )    " " " " "v " " " 			#8::C%%% I H H H H H H H P P P P P P P P M M M M M M 
      J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J             / / / / / / / /r&   