3 ©ft`ë ã @ sR d dl mZ d dl mZ d dlmZ d dlZdZdZG dd„ deƒZ d dd „Z dS )é )Úabsolute_import)Úunicode_literals)Ú_Nc @ sz e Zd Zddd„Zdd„ Zdd„ Zdd „ Zd d„ Zdd „ Zdd„ Z dd„ Z dd„ Zdd„ Zdd„ Z dd„ Zi fdd„ZdS )ÚTransactionWrapperú/c C s@ t j|ƒ| _ddddddddd d ddd ddg| _g | _d| _d S )NZcheckÚorderZaddEraseZ addInstallZaddReinstallÚrunZpgpImportPubkeyZ pgpPrtPktsZproblemsÚsetFlagsÚ setVSFlagsÚ setProbFilterZhdrFromFdnoÚnextZcleanT)ÚrpmZTransactionSetÚtsÚ_methodsÚtsflagsÚopen)ÚselfÚroot© r ú!/usr/lib/python3.6/transaction.pyÚ__init__ s$ zTransactionWrapper.__init__c C s | j ƒ d S )N)Úclose)r r r r Ú__del__+ s zTransactionWrapper.__del__c C s | j r| jjƒ d | _d| _ d S )NF)r r ZcloseDB)r r r r r / s zTransactionWrapper.closec O sL d|kr|j dƒ}ng }| jj||Ž}x |D ]\}}}|j|||ƒ q,W |S )NÚpatterns)Úpopr ÚdbMatchÚpattern)r ÚargsÚkwdsr ZmiÚtagÚtpZpatr r r r 5 s zTransactionWrapper.dbMatchc C s || j kr| j|ƒS t|ƒ‚d S )N)r Ú getMethodÚAttributeError)r Úattrr r r Ú__getattr__@ s zTransactionWrapper.__getattr__c C s | j S )N)r )r r r r Ú__iter__F s zTransactionWrapper.__iter__c C s t | j|ƒS )N)Úgetattrr )r Úmethodr r r r! I s zTransactionWrapper.getMethodc C s" | j j|ƒ | jj| j d ƒ d S )Né éÿÿÿÿ)r Úappendr r )r Úflagsr r r ÚpushVSFlagsQ s zTransactionWrapper.pushVSFlagsc C s | j jdƒ}| j j||B ƒ d S )Nr )r r )r ÚflagÚcurflagsr r r Ú addTsFlagU s zTransactionWrapper.addTsFlagc C s | j jdƒ}| j j|ƒ |S )Nr )r r )r r. r r r Ú getTsFlagsY s zTransactionWrapper.getTsFlagsc C s | j ƒ }t||@ ƒS )N)r0 Úbool)r r- Úvalr r r ÚisTsFlagSet^ s zTransactionWrapper.isTsFlagSetc C s |j ƒ | j_d S )N)Úfilenor ZscriptFd)r Úfdr r r ÚsetScriptFdb s zTransactionWrapper.setScriptFdc C s� | j ƒ }| jtjƒ |jdƒdkr0| jjtjƒ | jj|j dƒ}| jj |ƒ g }|dk rŒx |D ]\}\}}} |j|ƒ q^W |sŒ|jtdƒƒ |S )zetests the ts we've setup, takes a callback function and a conf dict for flags and what notZdiskspacecheckr Ú Nz(Errors occurred during test transaction.) r0 r/ r ZRPMTRANS_FLAG_TESTÚgetr r ZRPMPROB_FILTER_DISKSPACEr Úcallbackr r* r ) r ÚcbZconfZ origflagsZtserrorsZ reserrorsZdescrÚetypeZmountZneedr r r Úteste s zTransactionWrapper.testN)r )Ú__name__Ú __module__Ú__qualname__r r r r r$ r% r! r, r/ r0 r3 r6 r<