
    xi"                        U d dl Z d dlT d dlmZ d Z e             e                    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 )    N)*c                     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	          j        d           t          j        d         }t          j        d         }t                              d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        j                            |	|          d         d         }dddd||
<   ||
                             |           t          d|
 dt'          |                                                      O|rQt          dt'          |                                                      t          j                            |           nt          d           dt          j        v r<t          j        d         }	d}
t          t          d          st          d            d S t          d!|
 d|	 d           |j        j        j                            |	|          d         d         }i }d"d#d$d%d&d'd(d)|d<   |d                             |           d*t'          |                                           dt'          |                                           }t          |           t          j                            di                               |d                    d S t          d+           d S ),Nr   	VAULT_URLVAULT_TOKENuM   VAULT Error! Не указаны параметры VAULT_URL и VAULT_TOKEN!VAULT_MOUNT_POINTsecret)urltokenVAULT_REDIS
   _PATHdefault_NAMEu   VAULT Укажите cache_settingsuE   VAULT Для текущего APP не используется Redisu1   VAULT Получаем настройки для r
   z ())pathmount_point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sysexitgetenvClientrangeappendgethasattrr   r6   secretskvv2read_secretupdatelistkeysrB   
setdefault)rG   r/   r0   r9   clientredis_settingsredis_prefixesiredis_prefixr8   nameredis_connection_configpg_connection_configpg_settings	vault_msgs                  r$   
vault_initre   7   s   bj((M,K,KabbbHQKKKj%
=)ii 3X>>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&:&F&FD^i&F&j&jkq&rsy&z#  	$ $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 	S  Ikop~  qD  qD  qF  qF  lG  lG  I  I  J  J  J!((8888QRRR BJ..:34DD6>22 `aaa^t^^W[^^^___ $*>#4#7#C#C[f#C#g#ghn#opv#w  K$ )*+/(3,0+.+/
& 
&K	" 	"))*>???S((**++S S/34H4M4M4O4O/P/PS S  )**9b99@@YAWXXXXXVWWWWWr&   c                     g | ]}||S  rg   ).0domains     r$   
<listcomp>rj      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.apprn   getattr)selfr`   rn   s      r$   __getattr__zAppProxy.__getattr__   s$    sD!!!r&   N)__name__
__module____qualname__rr   rg   r&   r$   rl   rl      s#        " " " " "r&   rl   rn   zcmf.app.Flask)cmf_deferred_jobCmfDeferredJobWrapper)on_server_eventcmf_emit_server_event)SAModelAccessor)cmfutil)#rn   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)OrK   cmf.include_cmfcmf.config_loadconfig_loadr   r%   rH   rM   lowerrJ   re   CORS_ALLOWED_DOMAINS
isinstancestrr   tmp.__autogen_models_tmp__autogen_models_tmpmodelscmf.base_errorobjectrl   globalsrn   __annotations__cmf.cmf_deferred_jobrv   rw   cmf.cmf_server_event_listenerrx   ry   cmf.data_providers.sqlalchemyrz   _SAModelAccessorsar   
UPLOAD_DIRcmf.utilr{   ro   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   r   r   r   r   r   r   r   	cmf.viewscmf
cmf.fields
cmf.modelscmf.models.base_modelr   rg   r&   r$   <module>r      s   




                # # #L  99_b!!''))V33	E
:;;;eX eX eXN 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&   