a
   ªöLÙhÕWUã                   @   s˜   d dl Z d dlZd dlZd dlmZ d dlmZ d dl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)ÚIS_WINDOWS_PLATFORM)ÚDEFAULT_UNIX_SOCKET)Úfind_config_filez	meta.jsonc                  C   sh   d} t ƒ }|rdz@t|dƒ"}t |¡ dd¡} W d   ƒ n1 sB0    Y  W n tyb   Y dS 0 | S )NÚdefaultÚrÚcurrentContext)r   ÚopenÚjsonÚloadÚgetÚ	Exception)ÚnameÚdocker_cfg_pathÚf© r   ú9/usr/lib/python3.9/site-packages/docker/context/config.pyÚget_current_context_name   s    4r   c              
   C   s  | dkrd } t ƒ }i }|r|z8t|dƒ}t |¡}W d   ƒ n1 sF0    Y  W n( tyz } z|W  Y d }~S d }~0 0 | dd ¡}|r˜| s˜|d= n| r¦| |d< nd S z>t|dƒ }tj||dd W d   ƒ n1 sÜ0    Y  W n* ty } z|W  Y d }~S d }~0 0 d S )Nr   r   r   Úwé   )Úindent)r   r	   r
   r   r   r   Údump)r   r   Zconfigr   ÚeZcurrent_contextr   r   r   Ú#write_context_name_to_docker_config   s*    ,
2r   c                 C   s   t  |  d¡¡ ¡ S )Nzutf-8)ÚhashlibZsha256ÚencodeZ	hexdigest©r   r   r   r   Úget_context_id2   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_dir6   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_dir:   s    r%   c                 C   s   t j t| ƒt¡S )N)r   r    r!   r%   ÚMETAFILEr   r   r   r   Úget_meta_fileA   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_dirE   s    r)   Fc                 C   s$   t  | t|¡}|tkr | d¡S |S )Nzhttp+)r   Z
parse_hostr   r   Ústrip)r    r(   Úhostr   r   r   Úget_context_hostL   s    
r,   )N)N)Nr   )NF)r   r
   r   Zdockerr   Zdocker.constantsr   r   Zdocker.utils.configr   r&   r   r   r   r#   r%   r'   r)   r,   r   r   r   r   Ú<module>   s   


