
"þîhD  ã               @   s@   d  d l  Z  d  d l Z d  d l Z d d „  Z d d „  Z d S)é    Nc             C   sN   y t  j j |  ƒ j j } Wn t k
 r6 f  } Yn Xt d d „  | Dƒ ƒ S)Nc             s   s>   |  ]4 } t  | t ƒ r | d  j d k r | d j Vq d S)r   Úextraé   N)Ú
isinstanceÚtupleÚvalue)Ú.0Úmarker© r	   ú;/tmp/pip-build-zijwfla7/setuptools/setuptools/_discovery.pyú	<genexpr>   s   z"extras_from_dep.<locals>.<genexpr>)Ú	packagingÚrequirementsÚRequirementr   Ú_markersÚAttributeErrorÚset)ÚdepÚmarkersr	   r	   r
   Úextras_from_dep   s    	r   c             C   s"   t  j t j t t |  ƒ t ƒ  ƒ S)a?  
    >>> extras_from_deps(['requests'])
    set()
    >>> extras_from_deps(['pytest; extra == "test"'])
    {'test'}
    >>> sorted(extras_from_deps([
    ...     'requests',
    ...     'pytest; extra == "test"',
    ...     'pytest-cov; extra == "test"',
    ...     'sphinx; extra=="doc"']))
    ['doc', 'test']
    )Ú	functoolsÚreduceÚoperatorÚor_Úmapr   r   )Údepsr	   r	   r
   Úextras_from_deps   s    r   )r   r   Úpackaging.requirementsr   r   r   r	   r	   r	   r
   Ú<module>   s   