o
    Ee                     @   s   d dl Z d dlZd dlZddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ d	d
 Zdd Zdd Zde
jfddZe jdd Zeedd Zeeddd  ede
jfddZdd ZdS )    N   )OptionError)yield_lines)	pass_none)metadata)ensure_unique)consumec              
   C   s<   z| j  W dS  ty } zd|  d}t||d}~ww )zR
    Exercise one of the dynamic properties to trigger
    the pattern match.
    zProblems to parse zq.
Please ensure entry-point follows the spec: https://packaging.python.org/en/latest/specifications/entry-points/N)extrasAttributeErrorr   )epexmsg r   Y/var/www/bmteknikk.ddns.net/venv/lib/python3.10/site-packages/setuptools/_entry_points.pyensure_valid   s   

r   c                 C   s*   t | }d| dd| }tj|S )zf
    Given a value of an entry point or series of entry points,
    return each as an EntryPoint.
    []

)r   joinr   EntryPoints
_from_text)valuegrouplinestextr   r   r   
load_group   s   r   c                 C   s   | j | jfS N)r   name)r   r   r   r   by_group_and_name'   s   r   epsc                 C   s   t ttt| td | S )zM
    Ensure entry points are unique by group and name and validate each.
    key)r   mapr   r   r   r   r   r   r   validate+   s   r$   c                 C   s(   t jdd |  D }tt|S )zA
    Given a Distribution.entry_points, produce EntryPoints.
    c                 s   s    | ]
\}}t ||V  qd S r   )r   ).0r   r   r   r   r   	<genexpr>8   s    
zload.<locals>.<genexpr>)	itertoolschainfrom_iterableitemsr$   r   r   )r   groupsr   r   r   load3   s   r,   c                 C   s   t ttj| S )z
    >>> ep, = load('[console_scripts]\nfoo=bar')
    >>> ep.group
    'console_scripts'
    >>> ep.name
    'foo'
    >>> ep.value
    'bar'
    )r$   r   r   r   r#   r   r   r   _>   s   r-   c                 C   s   | S r   r   )xr   r   r   <lambda>L   s    r/   c                 C   s2   t d}tt| |d|}ddd |D S )Nr   r    r   c                 s   s*    | ]\}}d | dt | dV  qdS )r   r   r   N)render_items)r%   r   r*   r   r   r   r&   T   s   ( zrender.<locals>.<genexpr>)operator
attrgetterr'   groupbysortedr   )r   by_groupr+   r   r   r   renderO   s   
r6   c                 C   s   d dd t| D S )Nr   c                 s   s"    | ]}|j  d |j V  qdS )z = N)r   r   )r%   r   r   r   r   r&   X   s     zrender_items.<locals>.<genexpr>)r   r4   r#   r   r   r   r0   W   s   r0   )	functoolsr1   r'   errorsr   extern.jaraco.textr   extern.jaraco.functoolsr   
_importlibr   
_itertoolsr   extern.more_itertoolsr   r   r   r   r   r$   singledispatchr,   registerstrr-   typer6   r0   r   r   r   r   <module>   s*    


