U
    cUhS                     @   s   d dl Z d dlZd dlmZmZmZ ed Zde	eee	  e
e
ee	 dddZe	ee	 ee	 e	ee	 dd	d
Ze	ee	 ee	 dddZe	ee	 e
ee	 ee	 e
ee	 dddZe	ee	 e
ee	 dddZdS )    N)ListOptionalSequenceah  
    exec(compile('''
    # This is <pip-setuptools-caller> -- a caller that pip uses to run setup.py
    #
    # - It imports setuptools before invoking setup.py, to enable projects that directly
    #   import from `distutils.core` to work with newer packaging standards.
    # - It provides a clear error message when setuptools is not installed.
    # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so
    #   setuptools doesn't think the script is `-c`. This avoids the following warning:
    #     manifest_maker: standard file '-c' not found".
    # - It generates a shim setup.py, for handling setup.cfg-only projects.
    import os, sys, tokenize

    try:
        import setuptools
    except ImportError as error:
        print(
            "ERROR: Can not execute `setup.py` since setuptools is not available in "
            "the build environment.",
            file=sys.stderr,
        )
        sys.exit(1)

    __file__ = %r
    sys.argv[0] = __file__

    if os.path.exists(__file__):
        filename = __file__
        with tokenize.open(__file__) as f:
            setup_py_code = f.read()
    else:
        filename = "<auto-generated setuptools caller>"
        setup_py_code = "from setuptools import setup; setup()"

    exec(compile(setup_py_code, filename, "exec"))
    ''' % ({!r},), "<pip-setuptools-caller>", "exec"))
    F)setup_py_pathglobal_optionsno_user_configunbuffered_outputreturnc                 C   sF   t jg}|r|dg7 }|dt| g7 }|r4||7 }|rB|dg7 }|S )ao  
    Get setuptools command arguments with shim wrapped setup file invocation.

    :param setup_py_path: The path to setup.py to be wrapped.
    :param global_options: Additional global options.
    :param no_user_config: If True, disables personal user configuration.
    :param unbuffered_output: If True, adds the unbuffered switch to the
     argument list.
    z-uz-cz--no-user-cfg)sys
executable_SETUPTOOLS_SHIMformat)r   r   r   r   args r   d/opt/bot/vods_filmes/script/venv/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.pymake_setuptools_shim_args1   s    

r   )r   r   build_optionsdestination_dirr	   c                 C   s(   t | |dd}|dd|g7 }||7 }|S )NTr   r   Zbdist_wheelz-dr   )r   r   r   r   r   r   r   r    make_setuptools_bdist_wheel_argsK   s    
  r   )r   r   r	   c                 C   s   t | |dd}|ddg7 }|S )NTr   cleanz--allr   )r   r   r   r   r   r   make_setuptools_clean_args]   s      r   )r   r   r   prefixhomeuse_user_siter	   c                C   s^   |r|rt t| ||d}|ddg7 }|r6|d|g7 }|d k	rJ|d|g7 }|rZ|ddg7 }|S )N)r   r   Zdevelopz	--no-depsz--prefixz--install-dirz--userz	--prefix=)AssertionErrorr   )r   r   r   r   r   r   r   r   r   r   make_setuptools_develop_argsh   s    	r   )r   egg_info_dirr   r	   c                 C   s*   t | |d}|dg7 }|r&|d|g7 }|S )N)r   egg_infoz
--egg-baser   )r   r   r   r   r   r   r   make_setuptools_egg_info_args   s
    
r    )NFF)r
   textwraptypingr   r   r   dedentrstripr   strboolr   r   r   r   r    r   r   r   r   <module>   sL   +   
