ó
Àt_c           @   sj   d  d l  Z  d  d l Z d  d l m Z e  j d d k rG e f Z n	 e f Z d e f d „  ƒ  YZ	 d S(   iÿÿÿÿN(   t   tsi    i   t   TransactionSetc           B   sª   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   i    c         C   s#   t  |  | ƒ } t |  | | ƒ | S(   N(   t   getattrt   setattr(   t   selft   attrt   valt   oval(    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt   _wrapSetGet   s    c         C   s   |  j  d | ƒ S(   Nt   _vsflags(   R   (   R   t   flags(    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt
   setVSFlags   s    c         C   s   |  j  S(   N(   R	   (   R   (    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt
   getVSFlags   s    c         C   s   |  j  d | ƒ S(   Nt   _color(   R   (   R   t   color(    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt   setColor   s    c         C   s   |  j  d | ƒ S(   Nt
   _prefcolor(   R   (   R   R   (    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt   setPrefColor   s    c         C   s   |  j  d | ƒ S(   Nt   _flags(   R   (   R   R
   (    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt   setFlags!   s    c         C   s   |  j  d | ƒ S(   Nt   _probFilter(   R   (   R   t	   ignoreSet(    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt   setProbFilter$   s    c         C   s   d d  l  } | j | ƒ S(   Niÿÿÿÿ(   t   _rpmbt   spec(   R   t   specfileR   (    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt	   parseSpec'   s    c         C   sB   g  } x! |  D] } | j  | j ƒ  ƒ q W| s4 d  St | ƒ Sd  S(   N(   t   appendt   Keyt   Nonet   tuple(   R   t   keyst   te(    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt   getKeys+   s    c         C   se   t  | t ƒ r7 t | ƒ } |  j | ƒ } | j ƒ  n* t  | t j ƒ rR | } n |  j | ƒ } | S(   N(   t
   isinstancet   _string_typest   opent   hdrFromFdnot   closet   rpmt   hdr(   R   t   itemt   ft   header(    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt   _f2hdr5   s    	t   uc         C   sd   |  j  | ƒ } | d k r* t d ƒ ‚ n  | d k } t j |  | | | ƒ s` t j d ƒ ‚ n  d  S(   NR-   t   is   how argument must be "u" or "i"s$   adding package to transaction failed(   R-   R.   (   R,   t
   ValueErrort   TransactionSetCoret
   addInstallR'   t   error(   R   R)   t   keyt   howR+   t   upgrade(    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyR1   @   s    c         C   s:   |  j  | ƒ } t j |  | | ƒ s6 t j d ƒ ‚ n  d  S(   Ns$   adding package to transaction failed(   R,   R0   t   addReinstallR'   R2   (   R   R)   R3   R+   (    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyR6   J   s    c         C   sô   g  } t  | t j ƒ r$ | g } n t  | t j ƒ r? | } nd t  | t ƒ rf |  j t j | ƒ } n= t  | t ƒ r |  j t j | ƒ } n t	 d t
 | ƒ ƒ ‚ x2 | D]* } t j |  | ƒ sª t j d ƒ ‚ qª qª Wt  | t j ƒ rð ~ n  d  S(   Ns   invalid type %ss   package not installed(   R"   R'   R(   t   mit   intt   dbMatcht   RPMDBI_PACKAGESR#   t   RPMDBI_LABELt	   TypeErrort   typeR0   t   addEraseR2   (   R   R)   t   hdrst   h(    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyR>   P   s    	c         C   sŠ   t  j |  | | |  j ƒ } | d k r+ d  Sg  } | d k r† xF |  j ƒ  D]5 } d | | j | j | j f f } | j | ƒ qJ Wn  | S(   Ni    s   %s(	   R0   t   runR   R   t   problemsR=   t   _strt   _numR   (   R   t   callbackt   datat   rct   rest   probR)   (    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyRA   e   s    "c         O   s•  t  j |  | | Ž g  } xu|  j ƒ  D]g} | j t j k rJ t j } n! | j t j k r& t j } n q& | j	 j
 d d ƒ d } | j
 d d ƒ \ } } }	 | j j ƒ  }
 |
 d } t j } t |
 ƒ d k rY|
 d } | j d ƒ d k r| t j O} n  | j d ƒ d k r'| t j O} n  | j d	 ƒ d k rL| t j O} n  |
 d } n d
 } | j | | |	 f | | f | | | j f ƒ q& W| S(   Nt   .i   i    t   -i   i   t   <t   =t   >t    (   R0   t   checkRB   R=   R'   t   RPMPROB_CONFLICTt   RPMDEP_SENSE_CONFLICTSt   RPMPROB_REQUIRESt   RPMDEP_SENSE_REQUIRESt   altNEVRt   rsplitRC   t   splitt   RPMSENSE_ANYt   lent   findt   RPMSENSE_LESSt   RPMSENSE_EQUALt   RPMSENSE_GREATERR   R3   (   R   t   argst   kwdsRH   t   pt   senset   nevrt   nt   vt   rt   needst   neednamet	   needflagst   needopt   needver(    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyRP   u   s2    
	
   2c         C   s   t  j |  | ƒ \ } } | t j k r9 t j d ƒ ‚ nB | t j k rZ t j d ƒ ‚ n! | t j k r{ t j | ƒ ‚ n  d  S(   Ns   public key not availables   public key not trusted(   R0   t   hdrCheckR'   t   RPMRC_NOKEYR2   t   RPMRC_NOTTRUSTEDt   RPMRC_OK(   R   t   blobRH   t   msg(    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyRk   ˜   s    c         C   s   t  j |  | ƒ \ } } | t j k r9 t j d ƒ ‚ nB | t j k rZ t j d ƒ ‚ n! | t j k r{ t j d ƒ ‚ n  | S(   Ns   public key not availables   public key not trusteds   error reading package header(   R0   R%   R'   Rl   R2   Rm   Rn   (   R   t   fdRH   R@   (    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyR%   ¢   s    (   t   __name__t
   __module__R   R   R   R   R   R   R   R   R   R!   R,   R1   R6   R>   RA   RP   Rk   R%   (    (    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyR      s$   									
	
				#	
(
   t   sysR'   t   rpm._rpmR    R0   t   version_infot   strR#   t
   basestringR   (    (    (    s5   /usr/lib64/python2.7/site-packages/rpm/transaction.pyt   <module>   s   	