U
e5dÜ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 ú*/usr/lib64/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
`_
for more information.
zH(?P[\w.]+)\s*(:\s*(?P[\w.]+)\s*)?((?P\[.*\])\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' Q s zEntryPoint.extrasc s ‡ ‡fdd„ˆ ¡ D ƒS )Nc s, g | ]$}ˆ |¡D ]\}}ˆ |||ƒ‘qqS r ©Úitems)Ú.0r Únamer ©ÚclsÚconfigr 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_stringÚAttributeErrorZreadfpÚioÚStringIOr r4 )r0 Útextr1 r r r Ú
_from_text^ s
zEntryPoint._from_textc C s t | j| fƒS )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&