o
    Uh
                     @  s   d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	 e
dZejfdddZdddZddddZdddZedkrFe  dS dS )    )annotationsN)ArgumentParser)Finder)__version__
findpythonlevelintreturnNonec                 C  s0   t  }|t d t| t|  dS )z
    Setup the logger.
    z#%(name)s-%(levelname)s: %(message)sN)loggingStreamHandlersetFormatter	Formatterlogger
addHandlersetLevel)r   handler r   g/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/findpython/__main__.pysetup_logger   s   
r   valuestr	list[str]c                 C  s
   |  dS )N,)split)r   r   r   r   	split_str   s   
r   argvlist[str] | Nonec                 C  sB  t ddd}|jddddt d |jd	d
ddd |jdddd |jddddd |jdddd |jdddd |jddddd |jdtdd |jdddd  || }|jr`t  t|j|j	|j
d!}|jrq|j}n|j}||j|jd"}|std#tjd$ d%S t|ts|g}td&tjd$ |D ]}t| qd'S )(z0
    Command line interface for findpython.
    r   z0A utility to find python versions on your system)descriptionz-Vz	--versionversionz	%(prog)s )actionr   z-az--all
store_truez!Show all matching python versions)r    helpz--resolve-symlinkzResolve all symlinksz-vz	--verbosezVerbose outputz--no-same-filez<Eliminate the duplicated results with the same file contentsz--no-same-pythonz=Eliminate the duplicated results with the same sys.executablez--prez--prereleaseszAllow prereleasesz--providerszSelect provider(s) to use)typer"   version_spec?zPython version spec or name)nargsr"   )resolve_symlinksno_same_fileselected_providers)allow_prereleasesz No matching python version found)file   zFound matching python versions:r   )r   add_argumentr   r   
parse_argsverboser   r   resolve_symlinkr(   	providersallfind_allfindr$   preprintsysstderr
isinstancelist)r   parserargsfinder	find_funcpython_versionspython_versionr   r   r   cli   sb   


rA   c                   C  s   t t  dS )z
    Main function.
    N)r7   exitrA   r   r   r   r   mainV   s   rC   __main__)r   r   r	   r
   )r   r   r	   r   )N)r   r   r	   r   )r	   r
   )
__future__r   r   r7   argparser   r   r   findpython.__version__r   	getLoggerr   DEBUGr   r   rA   rC   __name__r   r   r   r   <module>   s    



;
