
    Ljj                    ~    S SK Jr  S SKrS SKrS SKJr  S SKJr  S SKJ	r	J
r
Jr  S rSS jrSS jrSSS	 jjrSS
 jrg)    )annotationsN)Path)Any)MASTER_KEY_FILESECRETS_ROOTensure_dirsc                     SSK Jn   [	        5         [
        R                  " 5       (       a$  [
        R                  " 5       R                  5       nOBU R                  5       n[
        R                  " U5         [        R                  " [
        S5        U " U5      $ ! [         a  n[        S5      UeS nAff = f! [         a     N2f = f)Nr   )Fernetu2   Не установлен пакет cryptography.  )cryptography.fernetr
   ImportErrorRuntimeErrorr   r   exists
read_bytesstripgenerate_keywrite_bytesoschmodOSError)r
   exckeys      2/mnt/data/_core_build/package/core/secret_store.py_fernetr   
   s    Z. M((*002!!###C(	HH_e, #;  ZOPVYYZ  		s)   B 7B8 
B5$B00B58
CCc                    SR                  S U R                  5        5       5      nU(       d  [        S5      e[        U S3-  $ )N c              3  ^   #    U  H#  oR                  5       (       d  US ;   d  M  Uv   M%     g7f)z_-N)isalnum).0chs     r   	<genexpr>_path.<locals>.<genexpr>   s"     P 1"ZZ\\R4Z22 1s   -	-u&   Некорректный connector keyz.enc)joinlower
ValueErrorr   )	connectorsafes     r   _pathr(      s=    77P	 1PPDABBTF$-''    c                   [        5         [        R                  " USS9R                  S5      n[	        U 5      nUR                  [        5       R                  U5      5         [        R                  " US5        g ! [         a     g f = f)NF)ensure_asciiutf-8r   )r   jsondumpsencoder(   r   r   encryptr   r   r   )r&   payloaddatapaths       r   save_secretr4   "   sl    M::gE299'BDDWY&&t,-
u s   #A; ;
BBc                   [        U 5      nUR                  5       (       d  U(       a  [        SU  S35      e0 $  [        5       R	                  UR                  5       5      n[        R                  " UR                  S5      5      n[        U[        5      (       a  U$ 0 $ ! [         a  n[        SU  S35      UeS nAff = f)Nu   Секреты connector «u   » не настроены.r,   uB   Не удалось прочитать секреты connector «u   ».)r(   r   r   r   decryptr   r-   loadsdecode
isinstancedict	Exception)r&   requiredr3   rawobjr   s         r   load_secretr?   ,   s    D;;==!<YKGbcdd	yi 12jjG,- d++s33 y_`i_jjmnouxxys   A"B B 
B>)B99B>c                l    [        U 5      R                  5       =(       a    [        R                  " 5       $ )N)r(   r   r   )r&   s    r   
configuredrA   9   s$    ""$A)?)?)AAr)   )r&   strreturnr   )r&   rB   r1   dict[str, Any]rC   None)T)r&   rB   r<   boolrC   rD   )r&   rB   rC   rF   )
__future__r   r-   r   pathlibr   typingr   core_dbr   r   r   r   r(   r4   r?   rA    r)   r   <module>rL      s5    "  	   > >$(yBr)   