B
ܺ1* @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dlm Z d dlm
Z
d dlmZ d dl
Z
d dlmZmZ d dlmZmZ d dlmZ G d d
d
Ze
jdd ZdddZdd Zdd ZdddZG dd dZG dd deZG dd deZdS ) N)defaultdict)partial)wraps)iglob)DistutilsOptionErrorDistutilsFileError)
LegacyVersionparse)SpecifierSetc @ s e Zd ZdZdd Zdd ZdS )StaticModulez0
Attempt to load the module by the name
c C sL t j|}t|j}| }W d Q R X t|}t| t
| `d S )N) importlibutil find_specopenoriginreadastr varsupdatelocalsself)r namespecstrmsrcmodule r /builddir/build/BUILDROOT/alt-python37-setuptools-58.3.0-4.el9.x86_64/opt/alt/python37/lib/python3.7/site-packages/setuptools/config.py__init__ s
zStaticModule.__init__c
sV yt fdd| jjD S tk
rP } ztdjf t |W d d }~X Y nX d S )Nc 3 sH | ]@}t |tjr|jD ](}t |tjr|j krt|jV qqd S )N)
isinstancer ZAssigntargetsNameidliteral_evalvalue).0Z statementtarget)attrr r $ s
z+StaticModule.__getattr__..z#{self.name} has no attribute {attr})nextr body ExceptionAttributeErrorformatr )r r' er )r' r __getattr__! s
zStaticModule.__getattr__N)__name__
__module____qualname____doc__r r/ r r r r r s r c c s, zt jd| dV W dt j| X dS )zH
Add path to front of sys.path for the duration of the context.
r N)syspathinsertremove)r5 r r r
patch_path0 s
r8 Fc C s ddl m}m} tj| } tj| s4td| t }t tj
| zJ| }|rb| ng }| |krx|| |j
||d t||j|d}W dt | X t|S )a, Read given configuration file and returns options from it as a dict.
:param str|unicode filepath: Path to configuration file
to get options from.
:param bool find_others: Whether to search for other configuration files
which could be on in various places.
:param bool ignore_option_errors: Whether to silently ignore
options, values of which could not be resolved (e.g. due to exceptions
in directives such as file:, attr:, etc.).
If False exceptions are propagated as expected.
:rtype: dict
r )Distribution
_Distributionz%Configuration file %s does not exist.) filenames)ignore_option_errorsN)Zsetuptools.distr9 r: osr5 abspathisfiler getcwdchdirdirnamefind_config_filesappendparse_config_filesparse_configurationcommand_optionsconfiguration_to_dict) filepathZfind_othersr<