3 ft` @spddlmZddlmZddlZddlmZddlmZddl Z ddl Z ddl Z e j dZ GdddejZdS) )print_function)unicode_literalsN)_)commandsdnfc@sLeZdZdZedZeddZddZddZ d d Z d d Z d dZ dS) MarkCommandmarkz7mark or unmark installed packages as installed by user.cCs6|jdddddgtdd|jdd d td d dS) NrZinstallremovegroupzhinstall: mark as installed by user remove: unmark as installed by user group: mark as installed by group)nargschoiceshelppackage+ZPACKAGEzPackage specification)r metavarr) add_argumentr)parserr/usr/lib/python3.6/mark.py set_argparser)s  zMarkCommand.set_argparsercCs,|jjj|tjjtjtdt |dS)Nz%s marked as user installed.) basehistory set_reasonlibdnf transactionZTransactionItemReason_USERloggerinforstr)selfpkgrrr _mark_install2szMarkCommand._mark_installcCs,|jjj|tjjtjtdt |dS)Nz%s unmarked as user installed.) rrrrrZ TransactionItemReason_DEPENDENCYrrrr)rr rrr _mark_remove6szMarkCommand._mark_removecCs,|jjj|tjjtjtdt |dS)Nz%s marked as group installed.) rrrrrZTransactionItemReason_GROUPrrrr)rr rrr _mark_group:szMarkCommand._mark_groupcCs$|jj}d|_d|_d|_d|_dS)NTF)clidemandsZsack_activationZ root_userZavailable_reposZ resolving)rr%rrr configure>s zMarkCommand.configurec Cs|jjd}|jj}tjt|d|}g}xR|D]J}tjj|}|j |j j }x|D] }||qVWt |dkr2|j |q2W|rtjtdx|D]}tjtd|qWtjj|j jj}|dkr|j j} n|j} |j jj| gg|j jj| dS)NrZ_mark_zError:zPackage %s is not installed.)Zoptsrr functoolspartialgetattrrZsubjectZSubjectZget_best_queryrZsacklenappendrerrorrr$ZCliErrorrZlastZ_rpmdb_versionZend_rpmdb_versionZbegend) rcmdZpkgsZ mark_funcZnotfoundr ZsubjqoldZ rpmdb_versionrrrrunEs,         zMarkCommand.runN)r) __name__ __module__ __qualname__aliasesrZsummary staticmethodrr!r"r#r&r1rrrrr$s r)Z __future__rrZlibdnf.transactionrZdnf.i18nrZdnf.clirrr'ZloggingZ getLoggerrZCommandrrrrrs