o
    Uh                     @   s   g d Z ddlZddlmZmZmZmZ h dZdadd Z	G dd de
Zdd
dZdddZ						dddZdddZdS ))Environmentfindallfindfindone    N)REGISTRY_SOURCE_CUREGISTRY_SOURCE_LMREGISTRY_SOURCE_LM_WOW6432open_source>   2.02.12.22.32.42.52.62.73.03.13.23.33.4c                  C   s2   t d u rtjdkrdd l} |  dka t S da t S )Nl        r   AMD64F)_IS_64BIT_OSsysmaxsizeplatformmachine)r    r   v/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/findpython/pep514tools/environment.py_is_64bit_os'   s   
r   c                   @   s8   e Zd ZdddZdd ZdddZd	d
 Zdd ZdS )r   Nc                 C   s,   || _ || _|| _|| _||f| _i | _d S N)_sourcecompanytag_guessed_arch
_orig_infoinfo)selfsourcer"   r#   guessed_archr   r   r   __init__4   s   

zEnvironment.__init__c                 C   s   | j std| j | j | j   | _}| jdkrK|dd| j  |dd |d| jd d  |d	| jd d  | jrM|d
| j d S d S d S )N)Environment not initialized with a source
PythonCoreDisplayNamezPython 
SupportUrlzhttp://www.python.org/Version   
SysVersionSysArchitecture)r!   
ValueErrorr"   r#   get_all_valuesr&   _setdefaultr$   )r'   r&   r   r   r   load<   s   
zEnvironment.loadFc                 C   s|   | j std| j| jf| jkr(|s!| j | jd  | jd    | j| jf| _| j | j | j }|| j | | _d S )Nr+   r      )	r!   r3   r"   r#   r%   deleteset_all_valuesr&   r4   )r'   copysrcr   r   r   saveH   s   zEnvironment.savec                 C   s6   | j | jf| jkrtd| jstd| j  d S )Nz=cannot delete Environment when company/tag have been modifiedr+   )r"   r#   r%   r3   r!   r8   r'   r   r   r   r8   U   s   zEnvironment.deletec                 C   s   d | j| jS )Nz<environment {}\{}>)formatr"   r#   r=   r   r   r   __repr___   s   zEnvironment.__repr__r    )F)__name__
__module____qualname__r*   r6   r<   r8   r?   r   r   r   r   r   3   s    


r   Tc                 c   sn    t  r!|rttd fV  | rttdfV  ttdfV  d S d S |r*ttdfV  | r5ttdfV  d S d S )N64bit32bit)r   r	   r   r   r   include_per_machineinclude_per_userr   r   r   _get_sourcesc   s   rH   c                 c   sh    t | |dD ]*\}}|D ]#}|D ]}zt||j|j|}|  W n	 ty+   Y qw |V  qqqd S )NrE   )rH   r   namer6   OSError)rF   rG   r;   archr"   r#   envr   r   r   r   q   s    r   c           	   	   C   sr   |s	t d d| }nt d | |}g }t||dD ]\}}z||_||_|  W n	 ty0   Y qw || q|S )Nr,   rE   )r   rH   r!   r$   r6   rJ   append)	company_or_tagr#   rF   rG   maxcountrL   resultsr;   rK   r   r   r   r      s    r   c                 C   s"   t | |||dd}|r|d S d S )Nr7   )rO   r   )r   )rN   r#   rF   rG   foundr   r   r   r      s   r   )TT)NTTN)NTT)__all__r    findpython.pep514tools._registryr   r   r   r	   _PYTHONCORE_COMPATIBILITY_TAGSr   r   objectr   rH   r   r   r   r   r   r   r   <module>   s   
0

