a
    p=ic                     @   s*   d dl Z d dlmZ eZG dd dZdS )    N)Distributionc                   @   sP   e Zd ZdddZdd Zdd Zdd	 ZdddZdd Zdd Z	dd Z
d
S )EnvironmentConfigALLc                 K   s   || _ || _d | _d | _d S N)_distutils_section
_conf_keys_conf_hook_handler)selfdistutils_sectionkw r   v/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/numpy/distutils/fcompiler/environment.py__init__   s    zEnvironmentConfig.__init__c           	      C   s   | j | }|\}}}}}|s$dd }td| j|f  | ||}td||f  |rxtj|d }td||f  |r| jr| j|dd }td||f  d S )	Nc                 S   s   | S r   r   xr   r   r   <lambda>       z1EnvironmentConfig.dump_variable.<locals>.<lambda>z%s.%s:z  hook   : %sz  environ: %s)NN   z  config : %s)r   printr   r	   osenvirongetr   )	r
   name	conf_deschookenvvarconfvarconvertappendvr   r   r   dump_variable   s    

zEnvironmentConfig.dump_variablec                 C   s   | j D ]}| | qd S r   )r   r!   )r
   r   r   r   r   dump_variables   s    
z EnvironmentConfig.dump_variablesc                 C   s@   z| j | }W n$ ty2   td| dd Y n0 | ||S )Nz-'EnvironmentConfig' object has no attribute '')r   KeyErrorAttributeError_get_var)r
   r   r   r   r   r   __getattr__    s    
zEnvironmentConfig.__getattr__Nc                 C   sB   z| j | }W n ty$   | Y S 0 | ||}|d u r>|}|S r   )r   r$   r&   )r
   r   defaultr   varr   r   r   r   *   s    
zEnvironmentConfig.getc                 C   s   |\}}}}}|d u rdd }|  ||}|d ur~tj|}	|	d ur~||	}	|rz|rztjdddkrt||	 q~|	}n|	}|d ur| jr|| jv r| j| \}
}||}|S )Nc                 S   s   | S r   r   r   r   r   r   r   7   r   z,EnvironmentConfig._get_var.<locals>.<lambda>ZNPY_DISTUTILS_APPEND_FLAGS1)r	   r   r   r   extendr   )r
   r   r   r   r   r   r   r   r)   Zenvvar_contentssourceZconfvar_contentsr   r   r   r&   4   s$    
zEnvironmentConfig._get_varc                 C   s"   | j f d| ji| j}||_|S )Nr   )	__class__r   r   r	   )r
   Zhook_handlerecr   r   r   cloneN   s
    zEnvironmentConfig.clonec                 C   s$   t |tr|| j| _n|| _d S r   )
isinstancer   get_option_dictr   r   )r
   distr   r   r   use_distributionT   s    
z"EnvironmentConfig.use_distribution)r   )N)__name__
__module____qualname__r   r!   r"   r'   r   r&   r/   r3   r   r   r   r   r      s   



r   )r   distutils.distr   type__metaclass__r   r   r   r   r   <module>   s   