o
    jI                     @   s   d dl mZ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eeeef  dee fd	d
Zdeeef deeeef  dee fddZdee deeef fddZdedeeef fddZdS )    )IterableIterator)Any)DependencyGroupResolver)ExceptionGroup)InstallationError)tomllibgroupsreturnc                 C   s    t dd | D }tt|| S )z
    Parse dependency groups data as provided via the CLI, in a `[path:]group` syntax.

    Raises InstallationErrors if anything goes wrong.
    c                 s   s    | ]\}}|V  qd S N ).0path_r   r   g/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/pip/_internal/req/req_dependency_group.py	<genexpr>       z*parse_dependency_groups.<locals>.<genexpr>)_build_resolverslist_resolve_all_groups)r	   	resolversr   r   r   parse_dependency_groups   s   r   r   c                 c   s    |D ]<\}}| | }zdd | |D E dH  W q ty? } zdd |jD }td| d| dd	| |d}~ww dS )
zp
    Run all resolution, converting any error from `DependencyGroupResolver` into
    an InstallationError.
    c                 s   s    | ]}t |V  qd S r   str)r   reqr   r   r   r      r   z&_resolve_all_groups.<locals>.<genexpr>Nc                 S      g | ]}t |qS r   r   r   er   r   r   
<listcomp>"       z'_resolve_all_groups.<locals>.<listcomp>z+[dependency-groups] resolution failed for 'z' from 'z': ; )resolver   
exceptionsr   join)r   r	   r   Z	groupnameresolveregmessagesr   r   r   r      s&   r   pathsc                 C   s   i }| D ]R}||v rqt |}d|vrtd| d|d }t|ts,td| dzt|||< W q tyV } zdd |jD }td| d	d
| |d }~ww |S )Nzdependency-groupsz,[dependency-groups] table was missing from 'z#'. Cannot resolve '--group' option.z+[dependency-groups] table was malformed in z". Cannot resolve '--group' option.c                 S   r   r   r   r   r   r   r   r   @   r   z$_build_resolvers.<locals>.<listcomp>z([dependency-groups] data was invalid in : r    )_load_pyprojectr   
isinstancedictr   r   r"   r#   )r'   r   r   	pyprojectZraw_dependency_groupsr%   r&   r   r   r   r   )   s4   


r   r   c              
   C   s   zt | d}t|W  d   W S 1 sw   Y  W dS  ty,   t|  d tjyC } ztd|  d| |d}~w tyY } ztd|  d| |d}~ww )zq
    This helper loads a pyproject.toml as TOML.

    It raises an InstallationError if the operation fails.
    rbNz, not found. Cannot resolve '--group' option.zError parsing r(   zError reading )openr   loadFileNotFoundErrorr   TOMLDecodeErrorOSError)r   fpr   r   r   r   r)   H   s   (r)   N)collections.abcr   r   typingr   Z'pip._vendor.packaging.dependency_groupsr   Zpip._vendor.packaging.errorsr   pip._internal.exceptionsr   pip._internal.utils.compatr   r   tupler   r   r+   r   r   r)   r   r   r   r   <module>   s     "


