o
    2.a                     @   sh   d dl Z d dlZd dlZddlmZ ejddZdZe	e
ZdddZd	d
 Zdd ZdddZdS )    N   )IS_WINDOWS_PLATFORMz.dockerzconfig.jsonz
.dockercfgc              
   C   s   t td | t tjt ttjt tg}t	
dt|  |D ]}tj|r8t	
d|  |  S q$t	
d d S )NzTrying paths: zFound file at path: zNo config file found)listfilterconfig_path_from_environmentospathjoinhome_dirDOCKER_CONFIG_FILENAMELEGACY_DOCKER_CONFIG_FILENAMElogdebugreprexists)config_pathpathsr    r   5/usr/lib/python3/dist-packages/docker/utils/config.pyfind_config_file   s   
r   c                  C   s*   t jd} | s
d S t j| t jtS )NZDOCKER_CONFIG)r   environgetr   r	   basenamer   )Z
config_dirr   r   r   r   !   s   r   c                   C   s   t r	tjddS tjdS )z
    Get the user's home directory, using the same logic as the Docker Engine
    client - use %USERPROFILE% on Windows, $HOME/getuid on POSIX.
    ZUSERPROFILE ~)r   r   r   r   r   
expanduserr   r   r   r   r
   (   s   r
   c              
   C   s   t | }|si S zt|}t|W  d    W S 1 sw   Y  W n ttfy= } zt| W Y d }~nd }~ww td i S )Nz4All parsing attempts failed - returning empty config)r   openjsonloadOSError
ValueErrorr   r   )r   Zconfig_filefer   r   r   load_general_config3   s   
&
r#   )N)r   Zloggingr   Z	constantsr   r   r	   r   r   Z	getLogger__name__r   r   r   r
   r#   r   r   r   r   <module>   s    

