HEX
Server: LiteSpeed
System: Linux w5304130.sdnsbox.com 4.18.0-425.3.1.lve.el8.x86_64 #1 SMP Tue Nov 22 22:59:23 EST 2022 x86_64
User: makefitmeserver (1001)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/dnf/db/__pycache__/group.cpython-36.opt-1.pyc
3

�ft`a:�@s|ddlZddlZddlZddlZddlmZddlm	Z	Gdd�de
�ZGdd�de�ZGdd	�d	e�Z
Gd
d�de
�ZdS)�N)�_)�loggerc@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�
PersistorBasecCs||_i|_i|_i|_dS)N)�history�
_installed�_removed�	_upgraded)�selfr�r
�/usr/lib/python3.6/group.py�__init__szPersistorBase.__init__cCst|j�t|j�t|j�S)N)�lenrrr)r	r
r
r�__len__&szPersistorBase.__len__cCsi|_i|_i|_dS)N)rrr)r	r
r
r�clean)szPersistorBase.cleancCst�dS)N)�NotImplementedError)r	�objr
r
r�_get_obj_id.szPersistorBase._get_obj_idcCs*|jjj|d|tjj�}|jtjj�dS)N�)r�swdb�addItem�libdnf�transaction�TransactionItemReason_USERZsetStateZTransactionItemState_DONE)r	�item�action�tir
r
r�_add_to_history1szPersistorBase._add_to_historycCs$||j|j|�<|j|tjj�dS)N)rrrrr�TransactionItemAction_INSTALL)r	rr
r
r�install5szPersistorBase.installcCs$||j|j|�<|j|tjj�dS)N)rrrrr�TransactionItemAction_REMOVE)r	rr
r
r�remove9szPersistorBase.removecCs$||j|j|�<|j|tjj�dS)N)rrrrr�TransactionItemAction_UPGRADE)r	rr
r
r�upgrade=szPersistorBase.upgradecCst�dS)N)r)r	�obj_id�name�translated_name�	pkg_typesr
r
r�newAszPersistorBase.newcCst�dS)N)r)r	r#r
r
r�getDszPersistorBase.getcCst�dS)N)r)r	�patternr
r
r�search_by_patternGszPersistorBase.search_by_patternN)�__name__�
__module__�__qualname__rrrrrrr r"r'r(r*r
r
r
rrsrc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�GroupPersistorcCs"|jjj�}dd�|D�}t|�S)NcSsg|]}|j�r|�qSr
)�getCompsGroupItem)�.0�ir
r
r�
<listcomp>Osz+GroupPersistor.__iter__.<locals>.<listcomp>)rr�getItems�iter)r	�itemsr
r
r�__iter__MszGroupPersistor.__iter__cCs|j�S)N)�
getGroupId)r	rr
r
rrRszGroupPersistor._get_obj_idcCsH|jjj�}|j|�|dk	r(|j|�|dk	r:|j|�|j|�|S)N)rrZcreateCompsGroupItemZ
setGroupId�setName�setTranslatedName�setPackageTypes)r	r#r$r%r&�
swdb_groupr
r
rr'Us



zGroupPersistor.newcCs"|jjj|�}|sdS|j�}|S)N)rrr/)r	r#r;r
r
rr(_s
zGroupPersistor.getcCs|jjj|�S)N)rrZgetCompsGroupItemsByPattern)r	r)r
r
rr*fsz GroupPersistor.search_by_patterncCs|jjj|�S)N)rrZgetPackageCompsGroups)r	�pkg_namer
r
r�get_package_groupsisz!GroupPersistor.get_package_groupscCs�|jjj|dd�}|tjjkr"dSt|j|��}xJ|jj	�D]<\}}x2|j
�D]&}|j�|kr`qN|j�sjqN|j
|�qNWq<WxJ|jj	�D]<\}}x2|j
�D]&}|j�|kr�q�|j�s�q�|j|�q�Wq�W|r�dSdS)Nr�FT���)rr�resolveRPMTransactionItemReasonrrZTransactionItemReason_GROUP�setr=rr5ZgetPackagesZgetName�getInstalledr r�add)r	r<�reasonZpackage_groups�group_id�group�pkgr
r
r�is_removable_pkgls*zGroupPersistor.is_removable_pkgN)
r+r,r-r6rr'r(r*r=rHr
r
r
rr.Ks
r.c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�EnvironmentPersistorcCs"|jjj�}dd�|D�}t|�S)NcSsg|]}|j�r|�qSr
)�getCompsEnvironmentItem)r0r1r
r
rr2�sz1EnvironmentPersistor.__iter__.<locals>.<listcomp>)rrr3r4)r	r5r
r
rr6�szEnvironmentPersistor.__iter__cCs|j�S)N)ZgetEnvironmentId)r	rr
r
rr�sz EnvironmentPersistor._get_obj_idcCsH|jjj�}|j|�|dk	r(|j|�|dk	r:|j|�|j|�|S)N)rrZcreateCompsEnvironmentItemZsetEnvironmentIdr8r9r:)r	r#r$r%r&�swdb_envr
r
rr'�s



zEnvironmentPersistor.newcCs"|jjj|�}|sdS|j�}|S)N)rrrJ)r	r#rKr
r
rr(�s
zEnvironmentPersistor.getcCs|jjj|�S)N)rrZ!getCompsEnvironmentItemsByPattern)r	r)r
r
rr*�sz&EnvironmentPersistor.search_by_patterncCs|jjj|�S)N)rrZgetCompsGroupEnvironments)r	rEr
r
r�get_group_environments�sz+EnvironmentPersistor.get_group_environmentscCs�|jjj|�}|sdSt|j|��}xJ|jj�D]<\}}x2|j�D]&}|j�|krTqB|j	�s^qB|j
|�qBWq0WxJ|jj�D]<\}}x2|j�D]&}|j�|kr�q�|j	�s�q�|j|�q�Wq|W|r�dSdS)NFT)
rrFr(rArLrr5Z	getGroupsr7rBr rrC)r	rEr;Zgroup_environmentsZenv_id�envrFr
r
r�is_removable_group�s*z'EnvironmentPersistor.is_removable_groupN)
r+r,r-r6rr'r(r*rLrNr
r
r
rrI�s
rIc@s�eZdZd,dd�Zdd�Zdd�Zdd	�Zd-d
d�Zdd
�Zdd�Z	dd�Z
d.dd�Zd/dd�Zd0dd�Z
d1dd�Zd2dd�Zd3dd�Zd4dd�Zd d!�Zd"d#�Zed$d%��Zed&d'��Zd(d)�Zd*d+�ZdS)5�RPMTransactionNc	Cs:||_||_|js0y|jjj�WnYnXi|_dS)N)rrrZinitTransaction�_swdb_ti_pkg)r	rrr
r
rr�szRPMTransaction.__init__cs8�jr�jj�}n�jjj�}�fdd�|D�}t|�S)Ncs&g|]}|j�rtjjj�j|��qSr
)�
getRPMItem�dnf�dbr�RPMTransactionItemWrapper)r0r1)r	r
rr2�sz+RPMTransaction.__iter__.<locals>.<listcomp>)rr3rrr4)r	r5r
)r	rr6�s
zRPMTransaction.__iter__cs8�jr�jj�}n�jjj�}�fdd�|D�}t|�S)Ncs&g|]}|j�rtjjj�j|��qSr
)rQrRrSrrT)r0r1)r	r
rr2�sz*RPMTransaction.__len__.<locals>.<listcomp>)rr3rrr
)r	r5r
)r	rr�s
zRPMTransaction.__len__cCsP|jjj�}|j|j�|j|jp$d�|j|j�|j	|j
�|j|j�|S)Nr)
rrZ
createRPMItemr8r$ZsetEpochZepochZ
setVersion�versionZ
setRelease�releaseZsetArch�arch)r	rG�rpm_itemr
r
r�_pkg_to_swdb_rpm_item�sz$RPMTransaction._pkg_to_swdb_rpm_itemcCsV|j|�}|j|�}|dkr&|j|�}|jjj||||�}|rH|j|�||j|<|S)N)rY�
get_repoid�
get_reasonrrr�
addReplacedByrP)r	rGrrD�replaced_byrXZrepoid�resultr
r
rr'�s




zRPMTransaction.newcCst|dd�}|r|S|jS)NZ_force_swdb_repoid)�getattrZreponame)r	rGr^r
r
rrZ�szRPMTransaction.get_repoidcCs|jjj|j|jd�S)zGet reason for package����)rrr@r$rW)r	rGr
r
rr[�szRPMTransaction.get_reasoncCstjj|j|��S)zGet reason for package)rrZTransactionItemReasonToStringr[)r	rGr
r
r�get_reason_name�szRPMTransaction.get_reason_namecCs8|pg}x*|D]"}|j|tjj�}|r|j|�qWdS)N)r'rr�TransactionItemAction_OBSOLETEDr\)r	�	obsoletedr]Zobsrr
r
r�_add_obsoleteds

zRPMTransaction._add_obsoletedcCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)r])r'rr�TransactionItemAction_DOWNGRADE� TransactionItemAction_DOWNGRADEDre)r	r'�oldrd�ti_new�ti_oldr
r
r�
add_downgrade
szRPMTransaction.add_downgradecCs|j||�dS)N)�
add_remove)r	rhrDr
r
r�	add_eraseszRPMTransaction.add_erasecCs4|dkrtjj}|j|tjj|�}|j||d�dS)N)r])rrrr'rre)r	r'rdrDrir
r
r�add_installszRPMTransaction.add_installcCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)r])r'rr�TransactionItemAction_REINSTALL�!TransactionItemAction_REINSTALLEDre)r	r'rhrdrirjr
r
r�
add_reinstallszRPMTransaction.add_reinstallcCs"|p
tjj}|j|tjj|�}dS)N)rrrr'r)r	rhrDrjr
r
rrlszRPMTransaction.add_removecCs6|j|tjj�}|j|tjj|d�}|j||d�dS)N)r])r'rrr!�TransactionItemAction_UPGRADEDre)r	r'rhrdrirjr
r
r�add_upgrade!szRPMTransaction.add_upgradecCs^|jr
dS|jjrdSy.|drB|j�rBtjtd�j|��dSWntk
rXdSXdS)NrZmodularitylabelz\No available modular metadata for modular package '{}', it cannot be installed on the systemr`)	Z
_from_cmdlineZrepoZmodule_hotfixesZ_is_in_active_modulerZcriticalr�format�
ValueError)r	�hdrrGr
r
r�_test_fail_safe&szRPMTransaction._test_fail_safecCsd}�x�|D�]�}|jtjjkrJ|jj}||j||j�7}|j||d�q|jtjjkrh|j	|jj
�q|jtjjkr�|jj}||j||j�7}|j||d�q|jtjjkr�|jj}||j||j�7}|j||d�q|jtjj
kr�|j	|jj
�q|jtjjk�r.|jj}||j||j�7}|j||�q|jtjjk�rN|j	|jj
�q|jtjjk�rn|j	|jj
�q|jtjjk�r�|jj}||j||j�7}|j||d�q|jtjjk�r�|j	|jj
�q|jtjjk�r�qtd|j��qW|�rtjjtd���|S)z!Populate the RPM transaction set.r�ur1z%TransactionItemAction not handled: %sz1No available modular metadata for modular package)rrrrfrGZ_headerrwZ
addInstallrgZaddErase�idxrZTransactionItemAction_OBSOLETErcroZaddReinstallrprr!rrZ#TransactionItemAction_REASON_CHANGE�RuntimeErrorrR�
exceptions�Errorr)r	ZtsZmodular_problems�tsirvr
r
r�_populate_rpm_ts4sLzRPMTransaction._populate_rpm_tscCsXt�}xL|D]D}|jtjjkry|j|j�Wqtk
rNtd|��YqXqW|S)Nz*TransactionItem is has no RPM attached: %s)	rArrRrZFORWARD_ACTIONSrCrG�KeyErrorrz)r	r^r}r
r
r�install_setcs
zRPMTransaction.install_setcCsbt�}xV|D]N}|jtjjtjjgkry|j|j�Wqt	k
rXt
d|��YqXqW|S)Nz*TransactionItem is has no RPM attached: %s)rArrRrZBACKWARD_ACTIONSrrprCrGrrz)r	r^r}r
r
r�
remove_setos
zRPMTransaction.remove_setcCs,dd�|jD�}t|�r(td�|dSdS)zj Ensures all the members can be passed to rpm as they are to perform
            the transaction.
        cSsg|]}|jdkr|�qS)�src)rW)r0rGr
r
rr2sz3RPMTransaction._rpm_limitations.<locals>.<listcomp>z+Will not install a source rpm package (%s).rN)r�r
r)r	Zsrc_installsr
r
r�_rpm_limitations{s

zRPMTransaction._rpm_limitationscs�fdd�|D�S)Ncsg|]}|j�kr|�qSr
)r)r0r})rr
rr2�sz-RPMTransaction._get_items.<locals>.<listcomp>r
)r	rr
)rr�
_get_items�szRPMTransaction._get_items)N)NN)N)N)N)NN)N)N)N)r+r,r-rr6rrYr'rZr[rbrerkrmrnrqrlrsrwr~�propertyr�r�r�r�r
r
r
rrO�s*
		







/
rO)Zlibdnf.transactionrZdnf.db.historyrRZdnf.transactionZdnf.exceptionsZdnf.i18nrZdnf.utilr�objectrr.rIrOr
r
r
r�<module>s-<<