MINI MINI MANI MO
3
  \
                 @   s~   d dl Z d dlZd dlZe jde jZe jdZe jdZdd Z	ej
ejejej
ejejdZG dd	 d	Zdad
d ZdS )    Nz'(?i)^\s*([a-z_]\w*(?:\.[a-z_]\w*)*)(.*)z^\s*\((.*)\)\s*$z%^\s*(<=|>=|<|>|!=|==)\s*([^\s,]+)\s*$c             C   s6   t j| }|std|  |j \}}|tjj|fS )Nz"bad package restriction syntax: %r)re_splitComparisonmatch
ValueErrorgroups	distutilsversion
StrictVersion)predrescompZverStr r   2/usr/lib64/python3.6/distutils/versionpredicate.pysplitUp   s
    
r   )<z<=z==>z>=z!=c               @   s$   e Zd Zdd Zdd Zdd ZdS )VersionPredicatec             C   s   |j  }|stdtj|}|s.td| |j \| _}|j  }|rtj|}|sbtd| |j d }dd |jdD | _| jstd| ng | _d S )	Nzempty package restrictionzbad package name in %rzexpected parenthesized list: %rr   c             S   s   g | ]}t |qS r   )r   ).0ZaPredr   r   r
   
<listcomp>t   s    z-VersionPredicate.__init__.<locals>.<listcomp>,zempty parenthesized list in %r)	stripr   re_validPackager   r   namere_parensplitr	   )selfZversionPredicateStrr   Zparenstrr   r   r
   __init__`   s$    
zVersionPredicate.__init__c             C   s8   | j r.dd | j D }| jd dj| d S | jS d S )Nc             S   s    g | ]\}}|d  t | qS ) )r   )r   condverr   r   r
   r   }   s    z,VersionPredicate.__str__.<locals>.<listcomp>z (z, ))r	   r   join)r   seqr   r   r
   __str__{   s    zVersionPredicate.__str__c             C   s*   x$| j D ]\}}t| ||sdS qW dS )NFT)r	   compmap)r   r   r   r   r   r   r
   satisfied_by   s    zVersionPredicate.satisfied_byN)__name__
__module____qualname__r   r#   r%   r   r   r   r
   r      s   Ar   c             C   sd   t d krtjdtja | j } t j| }|s8td|  |jdpDd }|rVtj	j
|}|jd|fS )Nz=([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(?:\s*\(\s*([^)\s]+)\s*\))?$z"illegal provides specification: %r      )
_provision_rxrecompileASCIIr   r   r   groupr   r   r   )valuemr   r   r   r
   split_provision   s    
r2   )r,   Zdistutils.versionr   operatorr-   r.   r   r   r   r   ltleeqgtgener$   r   r+   r2   r   r   r   r
   <module>   s   
n
 OHA YOOOO