a
    Wä%bš  ã                   @   s*   d dl Z d dlZe je jB dfdd„ZdS )é    Nc                    s   dd„ }|ˆ |ƒrˆ S |p(t j dt j¡ t j¡}tjdkršt j|vrT| 	dt j¡ t j dd¡ t j¡}‡ fdd	„|D ƒ}|r†ˆ gn‡ fd
d	„|D ƒ}nˆ g}t
ƒ }|D ]P}t j |¡}||vrª| |¡ |D ](}	t j ||	¡}
||
|ƒrÐ|
    S qÐqªdS )a3  Given a command, mode, and a PATH string, return the path which
    conforms to the given mode on the PATH, or None if there is no such
    file.

    `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result
    of os.environ.get("PATH"), or can be overridden with a custom search
    path.

    c                 S   s&   t j | ¡o$t  | |¡o$t j | ¡ S )N)ÚosÚpathÚexistsÚaccessÚisdir)ÚfnÚmode© r	   ú_/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/shutilwhich/lib.pyÚ_access_check   s    ÿzwhich.<locals>._access_checkÚPATHÚwin32r   ÚPATHEXTÚ c                    s"   g | ]}ˆ   ¡  |  ¡ ¡rˆ ‘qS r	   )ÚlowerÚendswith©Ú.0Úext©Úcmdr	   r
   Ú
<listcomp>(   ó    zwhich.<locals>.<listcomp>c                    s   g | ]}ˆ |  ¡  ‘qS r	   )r   r   r   r	   r
   r   +   r   N)r   ÚenvironÚgetÚdefpathÚsplitÚpathsepÚsysÚplatformÚcurdirÚinsertÚsetr   ÚnormcaseÚaddÚjoin)r   r   r   r   ÚpathextÚmatchesÚfilesÚseenÚdirÚthefileÚnamer	   r   r
   Úwhich   s*    




r-   )r   r   ÚF_OKÚX_OKr-   r	   r	   r	   r
   Ú<module>   s   