] @ s d d l Z d d l Z d d l Z e j d e j Z e j d Z e j d Z d d Z d e j
d e j d e j d
e j
d e j d e j i Z Gd
d d Z d a d d Z d S) Nz'(?i)^\s*([a-z_]\w*(?:\.[a-z_]\w*)*)(.*)z^\s*\((.*)\)\s*$z%^\s*(<=|>=|<|>|!=|==)\s*([^\s,]+)\s*$c C sM t j | } | s% t d | | j \ } } | t j j | f S)Nz"bad package restriction syntax: %r)re_splitComparisonmatch
ValueErrorgroups distutilsversion
StrictVersion)predrescompZverStr r 5/opt/alt/python35/lib64/python3.5/versionpredicate.pysplitUp s
r z>=z!=c @ s4 e Z d Z d d Z d d Z d d Z d S)VersionPredicatec C s | j } | s t d t j | } | sC t d | | j \ | _ } | j } | r t j | } | s t d | | j d } d d | j d D | _ | j s t d | n g | _ d S) Nzempty package restrictionzbad package name in %rzexpected parenthesized list: %rr c S s g | ] } t | q Sr )r ).0ZaPredr r r
t s z-VersionPredicate.__init__..,zempty parenthesized list in %r) stripr re_validPackager r namere_parensplitr )selfZversionPredicateStrr Zparenstrr r r
__init__` s$
zVersionPredicate.__init__c C sF | j r; d d | j D } | j d d j | d S| j Sd S)Nc S s* g | ] \ } } | d t | q S) )r )r condverr r r
r } s z,VersionPredicate.__str__..z (z, ))r r join)r seqr r r
__str__{ s zVersionPredicate.__str__c C s5 x. | j D]# \ } } t | | | s
d Sq
Wd S)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 s t d k r! t j d t j a | j } t j | } | sR t d | | j d pd d } | r t j j
| } | j d | f S)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
s !n