o
    Nrfg                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlm	Z	 dZ
dd Zddd	Zd
d Zdd ZdddZdd ZdddZdddZdS )    N)utils)DEFAULT_UNIX_SOCKETIS_WINDOWS_PLATFORM)find_config_filez	meta.jsonc                  C   sl   d} t  }|r4z"t|}t|dd} W d    W | S 1 s"w   Y  W | S  ty3   Y dS w | S )NdefaultcurrentContext)r   openjsonloadget	Exception)namedocker_cfg_pathf r   ^/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/docker/context/config.pyget_current_context_name   s   
r   c              
   C   s  | dkrd } t  }i }|r=zt|}t|}W d    n1 s"w   Y  W n ty< } z|W  Y d }~S d }~ww |dd }|rK| sK|d= n	| rR| |d< nd S z"t|d}tj||dd W d    W d S 1 sow   Y  W d S  ty } z|W  Y d }~S d }~ww )Nr   r   w   )indent)r   r   r	   r
   r   r   dump)r   r   configr   eZcurrent_contextr   r   r   #write_context_name_to_docker_config   s8   

&r   c                 C   s   t | d S )Nzutf-8)hashlibsha256encode	hexdigestr   r   r   r   get_context_id1   s   r   c                   C   s   t jt jt p
ddS )N Zcontexts)ospathjoindirnamer   r   r   r   r   get_context_dir5   s   r%   c                 C   s*   t jt d}| rt j|t| S |S )Nmeta)r!   r"   r#   r%   r   )r   Zmeta_dirr   r   r   get_meta_dir9   s   r'   c                 C   s   t jt| tS N)r!   r"   r#   r'   METAFILEr   r   r   r   get_meta_file@   s   r*   r    c                 C   s.   t  }| rtj|dt| |S tj|dS )Ntls)r%   r!   r"   r#   r   )r   ZendpointZcontext_dirr   r   r   get_tls_dirD   s   r,   Fc                 C   s0   t | t|}|tkr|dr|dd  }|S )Nzhttp+   )r   Z
parse_hostr   r   
startswith)r"   r+   hostr   r   r   get_context_hostK   s
   
r0   r(   )Nr    )NF)r   r	   r!   dockerr   Zdocker.constantsr   r   Zdocker.utils.configr   r)   r   r   r   r%   r'   r*   r,   r0   r   r   r   r   <module>   s    


