a
���f�T � @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dlm Z d dlm
Z
d dlZd dlm
Z
mZ d dlmZmZ d dlmZ G dd � d �Zejd
d� �Zdd
d�Zdd� Zdd� Zddd�ZG dd� d�ZG dd� de�ZG dd� de�ZdS )� N)�defaultdict)�partial��wraps)�DistutilsOptionError�DistutilsFileError)�
LegacyVersion�parse)�SpecifierSetc @ s e Zd ZdZdd� Zdd� ZdS )�StaticModulez0
Attempt to load the module by the name
c C s` t j�|�}t|j��}|�� }W d � n1 s40 Y t�|�}t| �� t
� � | `d S �N)� importlib�util� find_spec�open�origin�read�astr �vars�update�locals�self)r �name�specZstrm�src�module� r �5/usr/lib/python3.9/site-packages/setuptools/config.py�__init__ s &
zStaticModule.__init__c
s^ zt � fdd�| jjD ��W S tyX } z$tdjf i t� ���|�W Y d }~n
d }~0 0 d S )Nc 3 sH | ]@}t |tj�r|jD ](}t |tj�r|j� krt�|j�V qqd S r )�
isinstancer ZAssign�targets�Name�idZliteral_eval�value)�.0Z statement�target��attrr r � <genexpr>! s
�z+StaticModule.__getattr__.<locals>.<genexpr>z#{self.name} has no attribute {attr})�nextr �body� Exception�AttributeError�formatr )r r'