U
e5dD
@ 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 eZG dd de
ddZG dd dejZG dd dZG dd dZG dd deZ G dd dZ!G dd dZ"G d d! d!e Z#G d"d# d#eZ$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)starmapDistributionDistributionFinderPackageNotFoundErrordistribution
distributionsentry_pointsfilesmetadatarequiresversionc @ s e Zd ZdZdS )r zThe package was not found.N)__name__
__module____qualname____doc__ r r */usr/lib64/python3.8/importlib/metadata.pyr % s c @ sV e Zd ZdZedZdd Zedd Z e
dd Ze
d d
Zdd Z
d
d ZdS )
EntryPointzAn entry point as defined by Python packaging conventions.
See `the packaging docs on entry points
`_
for more information.
zH(?P[\w.]+)\s*(:\s*(?P[\w.]+)\s*)?((?P\[.*\])\s*)?$c C sD | j | j}t|d}td|dp,dd}tt ||S )zLoad the entry point from its definition. If only a module
is indicated by the value, return that module. Otherwise,
return the named object.
moduleNattr .)
patternmatchvaluer groupfiltersplit functoolsreducegetattr)selfr r Zattrsr r r loadG s zEntryPoint.loadc C s( | j | j}ttd|dp"dS )Nz\w+extrasr )r r r listrefinditerr )r% r r r r r' Q s zEntryPoint.extrasc s fdd D S )Nc s, g | ]$} |D ]\}} |||qqS r items).0r namer clsconfigr r
X s z+EntryPoint._from_config..)sectionsr/ r r/ r _from_configV s zEntryPoint._from_configc C sN t dd}t|_z|| W n$ tk
rB |t| Y nX t |S )N=)Z
delimiters)
r strZoptionxformZread_stringAttributeErrorZreadfpioStringIOr r4 )r0 textr1 r r r
_from_text^ s
zEntryPoint._from_textc C s t | j| fS )zO
Supply iter so one may construct dicts of EntryPoints easily.
)iterr. r% r r r __iter__j s zEntryPoint.__iter__c C s | j | j| j| jffS N) __class__r. r r r= r r r
__reduce__p s zEntryPoint.__reduce__N)r r r r r) compiler r&