ó
È”Mc           @   s5  d  d l  m Z d  d l m Z m Z m Z d  d l m Z d  d l Td  d l	 Z	 d  d l
 Z
 d  d l Z d  d l Z d d d d	 d
 g Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e e f d „  ƒ  YZ d	 e e f d „  ƒ  YZ d
 e e f d „  ƒ  YZ d „  Z e j d e ƒ d S(   iÿÿÿÿ(   t   ArchPackageManager(   t   checkdept   vercmpt   splitrelease(   t   isGlob(   t   *Nt   ArchPackaget   ArchProvidest   ArchRequirest   ArchUpgradest   ArchConflictsc           B   s8   e  Z d Z e Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  | t ƒ s t St S(   N(   t
   isinstanceR   t   Truet   False(   t   selft   other(    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyt   coexists)   s    c         C   s   | s
 t  St |  j | | ƒ S(   N(   R   R   t   version(   R   t   relationR   (    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyt   matches.   s    c         C   sÜ   |  j  } |  j } d } | j } x› | j D] \ } } t | | | | ƒ \ } }	 t | d | | f | | ƒ \ } }
 t | d | t | ƒ d f | | ƒ \ } } t | |	 |
 | ƒ } q+ W| rØ | j |  | ƒ n  d  S(   Ni    s   %s-%s(   t   nameR   t
   ignorecaset   nameversiont   globdistanceR   t   maxt	   addResult(   R   t   searchert   mynamet	   myversiont   ratiot   icR   t   cutofft   _t   ratio1t   ratio2t   ratio3(    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyt   search3   s    				c         C   sj   t  |  j | j ƒ } t | ƒ t k r` | d k r` |  j | j k r` t |  j | j ƒ } q` n  | d k S(   Ni    iÿÿÿÿ(   t   cmpR   t   typeR   R   R   (   R   R   t   rc(    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyt   __lt__C   s
    (    (	   t   __name__t
   __module__t	   __slots__R    t   packagemanagerR   R   R$   R(   (    (    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyR   #   s   			c           B   s   e  Z d  Z RS(   (    (   R)   R*   R+   (    (    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyR   J   s    t   ArchDependsc           B   s   e  Z d Z d  „  Z RS(   c         C   sW   t  | t ƒ r& t | ƒ t k	 r& t S|  j s: | j r> t St | j |  j |  j ƒ S(   N(	   R   R   R&   t   ProvidesR   R   R   R   R   (   R   t   prv(    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyR   P   s
    "(    (   R)   R*   R+   R   (    (    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyR-   L   s   c           B   s   e  Z d  Z RS(   (    (   R)   R*   R+   (    (    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyR   W   s    c           B   s   e  Z d  Z RS(   (    (   R)   R*   R+   (    (    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyR	   Y   s    c           B   s   e  Z d  Z RS(   (    (   R)   R*   R+   (    (    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyR
   [   s    c         C   sT   |  j  t j ƒ |  j  t j ƒ |  j  t j ƒ |  j  t j ƒ |  j  t j ƒ d  S(   N(   t   bindR   R   R   R$   R(   R-   (   t   psyco(    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyt   enablePsyco]   s
    s   enable-psyco(   t   smart.backends.arch.pmR    t   archverR   R   R   t   smart.util.strtoolsR   t   smart.cachet   fnmatcht   stringt   ost   ret   __all__t   PackageR   R.   R   t   DependsR-   t   RequiresR   t   UpgradesR	   t	   ConflictsR
   R2   t   hookst   register(    (    (    s<   /usr/lib/python2.7/dist-packages/smart/backends/arch/base.pyt   <module>   s    
	'	