Mini Shell
U
��eg�D �
@ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ ddd d
ddd
dddg
ZG dd � d e�ZG dd� de
�dd��ZG dd� dej�ZG dd� d�ZG dd� d�ZG dd� de�Z G dd� d�Z!G dd� d�Z"G d d!� d!e �Z#G d"d#� d#e�Z$d$d
� Z%d%d� Z&d&d� Z'd'd� Z(d(d� Z)d)d
� Z*d*d� Z+dS )+� N)�ConfigParser)�suppress)�
import_module)�MetaPathFinder)�starmap�Distribution�DistributionFinder�PackageNotFoundError�distribution�
distributions�entry_points�files�metadata�requires�versionc @ s e Zd ZdZdS )r zThe package was not found.N)�__name__�
__module__�__qualname__�__doc__� r r �1/opt/cppython/lib/python3.8/importlib/metadata.pyr % s c @ sV e Zd ZdZe�d�Zdd� Zedd� �Z e
dd� �Ze
d d
� �Zdd� Z
d
d� ZdS )�
EntryPointz�An entry point as defined by Python packaging conventions.
See `the packaging docs on entry points
<https://packaging.python.org/specifications/entry-points/>`_
for more information.
zH(?P<module>[\w.]+)\s*(:\s*(?P<attr>[\w.]+)\s*)?((?P<extras>\[.*\])\s*)?$c C sD | j �| j�}t|�d��}td|�d�p,d�d��}t�t ||�S )z�Load the entry point from its definition. If only a module
is indicated by the value, return that module. Otherwise,
return the named object.
�moduleN�attr� �.)
�pattern�match�valuer �group�filter�split� functools�reduce�getattr)�selfr r Zattrsr r r �loadG s zEntryPoint.loadc C s( | j �| j�}tt�d|�d�p"d��S )Nz\w+�extrasr )r r r �list�re�finditerr )r% r r r r r'