Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/setuptools/__pycache__/__init__.cpython-311.pyc



]j#dZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddl
mZmZddl
mZddlmZdd	lmZmZdd
lmZddlmZddlmZgd
ZejZdZej Z!ej Z"dZ#dZ$dZ%ej&j%je%_ej'ej&j(Z)Gdde)Z(dZ*ej+fdZ,ej-edZGdde.Z/ej0dS)z@Extensions to the 'distutils' for large or complex distributionsN)DistutilsOptionError)convert_path)loggingmonkey)version)Require)
PackageFinderPEP420PackageFinder)Distribution)	Extension)SetuptoolsDeprecationWarning)setuprCommandr
r	r
find_packagesfind_namespace_packagescGddtjj}||}|d|jrt|dSdS)Nc4eZdZdZfdZdfd	ZdZxZS)4_install_setup_requires.<locals>.MinimalDistributionzl
        A minimal version of a distribution for supporting the
        fetch_build_eggs interface.
        cd}fdt|tzD}t||jdS)N)dependency_linkssetup_requiresc"i|]}||Sr).0kattrss  J/opt/imunify360/venv/lib64/python3.11/site-packages/setuptools/__init__.py
<dictcomp>zQ_install_setup_requires.<locals>.MinimalDistribution.__init__.<locals>.<dictcomp>3sEEE58EEE)setsuper__init__set_defaults_disable)selfr_inclfiltered	__class__s `  rr#z=_install_setup_requires.<locals>.MinimalDistribution.__init__1sf8EEEEESZZ#e**-DEEEHGGX&&&&&(((((r Nc~	t|\}}|dfS#t$r|dfcYSwxYw)zAIgnore ``pyproject.toml``, they are not related to setup_requiresr)r" _split_standard_project_metadata	Exception)r&	filenamescfgtomlr)s    r_get_project_config_fileszN_install_setup_requires.<locals>.MinimalDistribution._get_project_config_files8sW
%!GGDDYOO	TBw
%
%
% "}$$$
%s'+<<cdS)zl
            Disable finalize_options to avoid building the working set.
            Ref #2158.
            Nr)r&s rfinalize_optionszE_install_setup_requires.<locals>.MinimalDistribution.finalize_options@sr N)__name__
__module____qualname____doc__r#r0r2
__classcell__r)s@rMinimalDistributionr+so		
	)	)	)	)	)	%	%	%	%	%	%							r r:T)ignore_option_errors)	distutilscorerparse_config_filesr_fetch_build_eggs)rr:dists   r_install_setup_requiresrA(sin96u%%D	666 $  r c	||jdS#t$rU}d}d|jjvr?t|dr||n|d|dd}~wwxYw)Na
        It is possible a package already installed in your system
        contains an version that is invalid according to PEP 440.
        You can try `pip install --use-pep517` as a workaround for this problem,
        or rely on a new virtual environment.

        If the problem refers to a package that is not installed yet,
        please contact that package's maintainers or distributors.
        InvalidVersionadd_note
)fetch_build_eggsrr,r)r4hasattrrDannounce)r@exmsgs   rr?r?Nsd122222r|444r:&&
,C    

l3lll+++
s
A=AA88A=crtjt|tjjdi|S)Nr)r	configurerAr<r=r)rs rrrcs8E""">((%(((r c<eZdZdZdZfdZd	dZdZd
dZxZ	S)ra

    Setuptools internal actions are organized using a *command design pattern*.
    This means that each action (or group of closely related actions) executed during
    the build should be implemented as a ``Command`` subclass.

    These commands are abstractions and do not necessarily correspond to a command that
    can (or should) be executed via a terminal, in a CLI fashion (although historically
    they would).

    When creating a new command from scratch, custom defined classes **SHOULD** inherit
    from ``setuptools.Command`` and implement a few mandatory methods.
    Between these mandatory methods, are listed:

    .. method:: initialize_options(self)

        Set or (reset) all options/attributes/caches used by the command
        to their default values. Note that these values may be overwritten during
        the build.

    .. method:: finalize_options(self)

        Set final values for all options/attributes used by the command.
        Most of the time, each option/attribute/cache should only be set if it does not
        have any value yet (e.g. ``if self.attr is None: self.attr = val``).

    .. method:: run(self)

        Execute the actions intended by the command.
        (Side effects **SHOULD** only take place when ``run`` is executed,
        for example, creating new files or writing to the terminal output).

    A useful analogy for command classes is to think of them as subroutines with local
    variables called "options".  The options are "declared" in ``initialize_options()``
    and "defined" (given their final values, aka "finalized") in ``finalize_options()``,
    both of which must be defined by every command class. The "body" of the subroutine,
    (where it does all the work) is the ``run()`` method.
    Between ``initialize_options()`` and ``finalize_options()``, ``setuptools`` may set
    the values for options/attributes based on user's input (or circumstance),
    which means that the implementation should be careful to not overwrite values in
    ``finalize_options`` unless necessary.

    Please note that other commands (or other parts of setuptools) may also overwrite
    the values of the command's options/attributes multiple times during the build
    process.
    Therefore it is important to consistently implement ``initialize_options()`` and
    ``finalize_options()``. For example, all derived attributes (or attributes that
    depend on the value of other attributes) **SHOULD** be recomputed in
    ``finalize_options``.

    When overwriting existing commands, custom defined classes **MUST** abide by the
    same APIs implemented by the original class. They also **SHOULD** inherit from the
    original class.
    Fct|t||dS)zj
        Construct the command for dist, updating
        vars(self) with any keyword parameters.
        N)r"r#varsupdate)r&r@kwr)s   rr#zCommand.__init__s=
	T

"r Nc	t||}|t||||St|tst	d|d|d|d|S)N'z' must be a z (got `z`))getattrsetattr
isinstancestrr)r&optionwhatdefaultvals     r_ensure_stringlikezCommand._ensure_stringlikesqdF##;D&'***NC%%	&&28&&$$$D

r c6t||}|dSt|tr&t||t	jd|dSt|trtd|D}nd}|std|d|ddS)aEnsure that 'option' is a list of strings.  If 'option' is
        currently a string, we split it either on /,\s*/ or /\s+/, so
        "foo bar baz", "foo,bar,baz", and "foo,   bar baz" all become
        ["foo", "bar", "baz"].

        ..
           TODO: This method seems to be similar to the one in ``distutils.cmd``
           Probably it is just here for backward compatibility with old Python versions?

        :meta private:
        Nz,\s*|\s+c3@K|]}t|tVdSr3)rVrW)rvs  r	<genexpr>z-Command.ensure_string_list.<locals>.<genexpr>s,99As++999999r FrSz!' must be a list of strings (got ))	rTrVrWrUresplitlistallr)r&rXr[oks    rensure_string_listzCommand.ensure_string_listsdF##;F
S
!
!
	D&"(;"<"<=====#t$$
99S99999
**AGM

r rct|||}t|||Sr3)_Commandreinitialize_commandrOrP)r&commandreinit_subcommandsrQcmds     rrjzCommand.reinitialize_commands9++D';MNNS		
r r3)r)
r4r5r6r7command_consumes_argumentsr#r\rgrjr8r9s@rrrps44l"'				6r rcdtj|dD}ttjj|S)z%
    Find all files under 'path'
    c3hK|]-\}}}|D]$}tj||V%.dSr3)ospathjoin)rbasedirsfilesfiles     rr`z#_find_all_simple.<locals>.<genexpr>scD$
	T4  r T)followlinks)rqwalkfilterrrisfile)rrresultss  r_find_all_simpler}sE!#4!@!@!@G
"'.'***r ct|}|tjkr5tjtjj|}t||}t|S)z
    Find all files under 'dir' and return the list of full filenames.
    Unless dir is '.', return full filenames with dir prepended.
    )start)	r}rqcurdir	functoolspartialrrrelpathmaprd)dirrvmake_rels   rfindallrsR

S!!E
bi$RW_C@@@He$$;;r cNtjdddt|S)NzAccess to implementation detaila
        The function `convert_path` is not provided by setuptools itself,
        and therefore not part of the public API.

        Its direct usage by 3rd-party packages is considered improper and the function
        may be removed in the future.
        )i
)due_date)remit
_convert_path)pathnames rrrs9 %)	 



"""r ceZdZdZdS)sicz;Treat this string as-is (https://en.wikipedia.org/wiki/Sic)N)r4r5r6r7rr rrrsEEEEr r)1r7rrqrb_distutils_hack.override_distutils_hackdistutils.corer<distutils.errorsrdistutils.utilrrrrr_version_moduledependsr		discoveryr
rr@r	extensionr
warningsr__all____version__bootstrap_install_fromfindrrrAr?rr=
get_unpatchedrrir}rrwrapsrWr	patch_allrr r<module>rsKFF								111111888888((((((99999999      222222			)"
-2# # # L*)))$,
 6	 677jjjjjhjjjZ	+	+	+					## #FFFFF#FFF
r 
Back to Directory File Manager