£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3
ft`                 @   sR   d dl mZ d dl mZ d dlmZ d dlZdZdZG dd deZ	d
dd	Z
dS )    )absolute_import)unicode_literals)_Nc               @   sz   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zi fddZdS )TransactionWrapper/c             C   s@   t j|| _ddddddddd	d
dddddg| _g | _d| _d S )NZcheckorderZaddEraseZ
addInstallZaddReinstallrunZpgpImportPubkeyZ
pgpPrtPktsZproblemssetFlags
setVSFlagssetProbFilterZhdrFromFdnonextZcleanT)rpmZTransactionSetts_methodstsflagsopen)selfroot r   !/usr/lib/python3.6/transaction.py__init__   s$    zTransactionWrapper.__init__c             C   s   | j   d S )N)close)r   r   r   r   __del__+   s    zTransactionWrapper.__del__c             C   s    | j r| jj  d | _d| _ d S )NF)r   r   ZcloseDB)r   r   r   r   r   /   s    
zTransactionWrapper.closec             O   sL   d|kr|j d}ng }| jj||}x |D ]\}}}|j||| q,W |S )Npatterns)popr   dbMatchpattern)r   argskwdsr   ZmitagtpZpatr   r   r   r   5   s    zTransactionWrapper.dbMatchc             C   s    || j kr| j|S t|d S )N)r   	getMethodAttributeError)r   attrr   r   r   __getattr__@   s    

zTransactionWrapper.__getattr__c             C   s   | j S )N)r   )r   r   r   r   __iter__F   s    zTransactionWrapper.__iter__c             C   s   t | j|S )N)getattrr   )r   methodr   r   r   r!   I   s    zTransactionWrapper.getMethodc             C   s"   | j j| | jj| j d  d S )N   )r   appendr   r
   )r   flagsr   r   r   pushVSFlagsQ   s    zTransactionWrapper.pushVSFlagsc             C   s    | j jd}| j j||B  d S )Nr   )r   r	   )r   flagcurflagsr   r   r   	addTsFlagU   s    zTransactionWrapper.addTsFlagc             C   s   | j jd}| j j| |S )Nr   )r   r	   )r   r.   r   r   r   
getTsFlagsY   s    zTransactionWrapper.getTsFlagsc             C   s   | j  }t||@ S )N)r0   bool)r   r-   valr   r   r   isTsFlagSet^   s    zTransactionWrapper.isTsFlagSetc             C   s   |j  | j_d S )N)filenor   ZscriptFd)r   fdr   r   r   setScriptFdb   s    zTransactionWrapper.setScriptFdc       
      C   s   | j  }| jtj |jddkr0| jjtj | jj|j	d}| jj
| g }|dk	rx |D ]\}\}}}	|j| q^W |s|jtd |S )zetests the ts we've setup, takes a callback function and a conf dict
           for flags and what notZdiskspacecheckr    Nz(Errors occurred during test transaction.)r0   r/   r   ZRPMTRANS_FLAG_TESTgetr   r   ZRPMPROB_FILTER_DISKSPACEr   callbackr	   r*   r   )
r   cbZconfZ	origflagsZtserrorsZ	reserrorsZdescretypeZmountZneedr   r   r   teste   s    zTransactionWrapper.testN)r   )__name__
__module____qualname__r   r   r   r   r$   r%   r!   r,   r/   r0   r3   r6   r<   r   r   r   r   r      s   
r   r   c             C   s    t | d}|jtjtjB  |S )N)r   )r   r,   r   Z_RPMVSF_NOSIGNATURESZ_RPMVSF_NODIGESTS)r   read_tsr   r   r   initReadOnlyTransaction{   s    
rA   )r   )Z
__future__r   r   Zdnf.i18nr   r   r@   r   objectr   rA   r   r   r   r   <module>   s   e