
    Cjg                         S SK r S SKrS SKrS SKJr  S SKJrJr  S SKJ	r	  Sr
S rSS jrS rS	 rSS
 jrS rSS jrSS jrg)    N)utils)DEFAULT_UNIX_SOCKETIS_WINDOWS_PLATFORM)find_config_filez	meta.jsonc                      Sn [        5       nU(       a=   [        U5       n[        R                  " U5      R	                  SS5      n S S S 5        U $ U $ ! , (       d  f       U $ = f! [
         a     gf = f)NdefaultcurrentContext)r   openjsonloadget	Exception)namedocker_cfg_pathfs      g/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/docker/context/config.pyget_current_context_namer      so    D&(O	o&!yy|''(8)D ' K4K	 '& K  		s.   A% 'AA% 
A"A% "A% %
A21A2c                    U S:X  a  S n [        5       n0 nU(       a+   [        U5       n[        R                  " U5      nS S S 5        UR                  SS 5      nU(       a  U (       d  US	 OU (       a  XS'   Og  [        US5       n[        R                  " X#SS9  S S S 5        g ! , (       d  f       Nk= f! [         a  nUs S nA$ S nAff = f! , (       d  f       g = f! [         a  nUs S nA$ S nAff = f)Nr   r	   w   )indent)r   r
   r   r   r   r   dump)r   r   configr   ecurrent_contexts         r   #write_context_name_to_docker_configr      s    y&(OF	o&!1 ' jj!148Ot#$	#' /3'1IIf* (' '& 	H	 (' su   B5 B$B5 9C CC $
B2.B5 2B5 5
C?C CC
CC C 
C5)C0*C50C5c                 h    [         R                  " U R                  S5      5      R                  5       $ )Nzutf-8)hashlibsha256encode	hexdigestr   s    r   get_context_idr#   1   s#    >>$++g./99;;    c                      [         R                  R                  [         R                  R                  [	        5       =(       d    S5      S5      $ )N contexts)ospathjoindirnamer    r$   r   get_context_dirr-   5   s-    77<<(8(:(@bA:NNr$   c                     [         R                  R                  [        5       S5      nU (       a)  [         R                  R                  U[	        U 5      5      $ U$ )Nmeta)r(   r)   r*   r-   r#   )r   meta_dirs     r   get_meta_dirr1   9   s;    ww||O-v6Hww||HnT&:;;Or$   c                 \    [         R                  R                  [        U 5      [        5      $ N)r(   r)   r*   r1   METAFILEr"   s    r   get_meta_filer5   @   s    77<<T*H55r$   c                     [        5       nU (       a+  [        R                  R                  US[	        U 5      U5      $ [        R                  R                  US5      $ )Ntls)r-   r(   r)   r*   r#   )r   endpointcontext_dirs      r   get_tls_dirr:   D   s@    !#Kww||Kt0DhOO77<<U++r$   c                     [         R                  " U [        U5      nU[        :X  a  UR	                  S5      (       a  USS  nU$ )Nzhttp+   )r   
parse_hostr   r   
startswith)r)   r7   hosts      r   get_context_hostr@   K   s?    D"5s;D""??7##8DKr$   r3   )Nr&   )NF)r   r   r(   dockerr   docker.constantsr   r   docker.utils.configr   r4   r   r   r#   r-   r1   r5   r:   r@   r,   r$   r   <module>rD      sE      	  E 0	2<O6,r$   