3 ft` @ sp d dl mZ d dl mZ d dlZd dlmZ d dlmZ d dl Z d dl Z d dlZejdZ G dd dejZdS ) )print_function)unicode_literalsN)_)commandsdnfc @ sL e Zd ZdZedZedd Zdd Zdd Z d d Z dd Zd d ZdS )MarkCommandmarkz7mark or unmark installed packages as installed by user.c C s6 | j dddddgtdd | j dd d tdd d S ) Nr Zinstallremovegroupzhinstall: mark as installed by user remove: unmark as installed by user group: mark as installed by group)nargschoiceshelppackage+ZPACKAGEzPackage specification)r metavarr )add_argumentr )parser r /usr/lib/python3.6/mark.py set_argparser) s zMarkCommand.set_argparserc C s, | j jj|tjj tjtdt | d S )Nz%s marked as user installed.) basehistory set_reasonlibdnftransactionZTransactionItemReason_USERloggerinfor str)selfpkgr r r _mark_install2 s zMarkCommand._mark_installc C s, | j jj|tjj tjtdt | d S )Nz%s unmarked as user installed.) r r r r r Z TransactionItemReason_DEPENDENCYr r r r )r r r r r _mark_remove6 s zMarkCommand._mark_removec C s, | j jj|tjj tjtdt | d S )Nz%s marked as group installed.) r r r r r ZTransactionItemReason_GROUPr r r r )r r r r r _mark_group: s zMarkCommand._mark_groupc C s$ | j j}d|_d|_d|_d|_d S )NTF)clidemandsZsack_activationZ root_userZavailable_reposZ resolving)r r% r r r configure> s zMarkCommand.configurec C s | j jd }| j j}tjt| d| }g }xR|D ]J}tjj|}|j | j j}x|D ]}|| qVW t|dkr2|j | q2W |rtjtd x|D ]}tjtd| qW tjj| j jj }|d kr| jj } n|j} | j jj| g g | j jj| d S )Nr Z_mark_zError:zPackage %s is not installed.)Zoptsr r functoolspartialgetattrr ZsubjectZSubjectZget_best_queryr Zsacklenappendr errorr r$ ZCliErrorr ZlastZ_rpmdb_versionZend_rpmdb_versionZbegend) r cmdZpkgsZ mark_funcZnotfoundr ZsubjqoldZ rpmdb_versionr r r runE s, zMarkCommand.runN)r ) __name__ __module____qualname__aliasesr Zsummarystaticmethodr r! r" r# r&