3 JfS@sXddlmZddlZddlZddlmZejddkr>efZ ne fZ GdddeZ dS))with_statementN)tsc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZddZd.dd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-S)/TransactionSetrcCst||}t||||S)N)getattrsetattr)selfattrvalZovalr #/usr/lib64/python3.6/transaction.py _wrapSetGets  zTransactionSet._wrapSetGetcCs |jd|S)N_vsflags)r )rflagsr r r setVSFlagsszTransactionSet.setVSFlagscCs|jS)N)r)rr r r getVSFlagsszTransactionSet.getVSFlagscCs |jd|S)N _vfyflags)r )rrr r r setVfyFlagsszTransactionSet.setVfyFlagscCs|jS)N)r)rr r r getVfyFlagsszTransactionSet.getVfyFlagscCs|jS)N) _vfylevel)rr r r getVfyLevel"szTransactionSet.getVfyLevelcCs |jd|S)Nr)r )rrr r r setVfyLevel%szTransactionSet.setVfyLevelcCs |jd|S)NZ_color)r )rcolorr r r setColor(szTransactionSet.setColorcCs |jd|S)NZ _prefcolor)r )rrr r r setPrefColor+szTransactionSet.setPrefColorcCs |jd|S)NZ_flags)r )rrr r r setFlags.szTransactionSet.setFlagscCs |jd|S)N _probFilter)r )rZ ignoreSetr r r setProbFilter1szTransactionSet.setProbFiltercCsddl}|jj|S)Nr)Z rpm._rpmbZ_rpmbspec)rZspecfilerpmr r r parseSpec4szTransactionSet.parseSpeccCs4g}x|D]}|j|jq W|s(dSt|SdS)N)appendZKeytuple)rkeysZter r r getKeys8s  zTransactionSet.getKeysc CsJt|tr*t|}|j|}WdQRXnt|tjr<|}n |j|}|S)N) isinstance _string_typesopen hdrFromFdnorhdr)ritemfheaderr r r _f2hdrBs    zTransactionSet._f2hdrucCs@|j|}|dkrtd|dk}tj||||s)r1checkr<r8rZRPMPROB_CONFLICTZRPMDEP_SENSE_CONFLICTSZRPMPROB_REQUIRESZRPMDEP_SENSE_REQUIRESZaltNEVRrsplitr=splitZ RPMSENSE_ANYlenZ RPMSENSE_LESSZRPMSENSE_EQUALZRPMSENSE_GREATERr!r4)rargskwdsr@pZsenseZnevrnvrZneedsZneednameZ needflagsZneedopZneedverr r r rIs4         zTransactionSet.checkcCsTtj||\}}|tjkr&tjdn*|tjkrs