PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  [/\c@sdZddlmZddlmZddlZddlmZddlmZm Z ddl Z ddl Z ddl Z ddlZ ddlZ ddlZ ddlZ ddlZ ddlZ ddlZddlZddlZddlZejdZedd Zed d Zed Zd ZfdZdefdYZdefdYZ de fdYZ!defdYZ"defdYZ#defdYZ$defdYZ%defdYZ&dS(u< Classes for subcommands of the yum command line interface. i(tprint_function(tunicode_literalsN(t OptionParser(t_tucdudnfu+To diagnose the problem, try running: '%s'.urpm -Va --nofiles --nodigestuDYou probably have corrupted RPMDB, running '%s' might fix the issue.urpm --rebuilddbu You have enabled checking of packages via GPG keys. This is a good thing. However, you do not have any GPG public keys installed. You need to download the keys for packages you wish to install and install them. You can do that by running the command: rpm --import public.gpg.key Alternatively you can specify the url to the key you would like to use for a repository in the 'gpgkey' option in a repository section and DNF will install it for you. For more information contact your distribution or package provider.cCs|jjsdS|jsxk|jjD]W}|jsD|jr,|j r,tjdt tjt d|t j j q,q,WndS(uVerify that there are gpg keys for the enabled repositories in the rpm database. :param base: a :class:`dnf.Base` object. :raises: :class:`cli.CliError` Nu %s uProblem repository: %s(tconftgpgcheckt_gpg_key_checktrepost iter_enabledt repo_gpgchecktgpgkeytloggertcriticaltgpg_msgRtdnftclitCliError(tbaseRtrepo((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt _checkGPGKeyCs  cCs|jjrdSx\|D]T}|jdrEtjj|rEdStjjj|d}|d krdSqWt d}tj j |dS( uVerify that there is at least one enabled repo. :param base: a :class:`dnf.Base` object. :param possible_local_files: the list of strings that could be a local rpms :raises: :class:`cli.CliError`: Nu.rpmiuhttpuftpufileuhttpsuThere are no enabled repos.(uhttpuftpufileuhttps( Rt _any_enabledtendswithtostpathtexistsRtpycompturlparseRRR(Rtpossible_local_filestlfiletschemetmsg((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt_checkEnabledRepoTs !  tCommandcBseZdZgZdZd ZdZedZ edZ edZ dZ dZ dZd Zd Zd ZRS( u%Abstract base class for CLI commands.ucCs ||_dS(N(R(tselfR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt__init__pscCs |jjS(N(RR(R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRtscCs |jdS(Ni(taliases(R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt_basecmdyscCs |jjjS(N(RRtoutput(R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR&}scCsdS(u4Define command specific options and arguments. #:apiN((R"tparser((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt set_argparserscCsdS(u*Do any command-specific pre-configuration.N((R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt pre_configurescCsdS(u&Do any command-specific configuration.N((R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt configurescCs3t|tjjrttfStd|dS(u.Get suggestions for resolving the given error.uerror not supported yet: %sN(t isinstanceRt exceptionstTransactionCheckErrort _RPM_VERIFYt_RPM_REBUILDDBtNotImplementedError(R"terror((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pytget_error_outputs cCsdS(uExecute the command.N((R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pytrunscCsdS(u%Finalize operations post-transaction.N((R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pytrun_transactionsN(t__name__t __module__t__doc__R$tsummarytNonetoptsR#tpropertyRR%R&R(R)R*R2R3R4(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR!is      t InfoCommandc BsheZdZdZedZdZdddddd d d eh Zed Z d Z dZ RS(uRA class containing methods needed by the cli to execute the info command. uinfou4display details about a package or group of packagesuallu availableu installeduextrasuupdatesuupgradesu autoremoveurecentu obsoletesc Cs|j}|jdddddddddd td |jd dddddd d td |jdddddddd td|jdddddddd td|jdddddddd td|jdddddddd td|jdddddddd td|jdddddddd td|jddd d!td"d#|jd|jdtjdS($Nu--alltdestu_packages_actiontactionu store_consttconstualltdefaultthelpushow all packages (default)u --availableu availableushow only available packagesu --installedu installedushow only installed packagesu--extrasuextrasushow only extras packagesu --updatesuupgradesushow only upgrades packagesu --upgradesu --autoremoveu autoremoveushow only autoremove packagesu--recenturecentu#show only recently changed packagesupackagestnargsu*tmetavaruPACKAGEtchoices(tadd_mutually_exclusive_groupt add_argumentR9Rt pkgnarrowstDEFAULT_PKGNARROWRtPkgNarrowCallback(tclsR'tnarrows((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR(s8                cCs|jj}t|_t|_|jjr?|jj|j_n|jjdkr]t|_ n|jj r|jjr|jj dd|jjqd|j_n|jjdkrd|j_ndS(Nu installedu --obsoletesu--u obsoletesuupdatesuupgrades( RtdemandstFalsetfresh_metadatatTruetsack_activationR:t_packages_actiontpackages_actiontavailable_repost obsoletest_option_conflict(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*s        cCsD|jj|j|jjj|jjd|jj|jjS(Nuinfo( Rt _populate_update_security_filterR:Rtsacktquerytoutput_packagesRRtpackages(R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR3s"(uinfo( R5R6R7R$RR8RHRGt classmethodR(R*R3(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR<s  t ListCommandcBs)eZdZdZedZdZRS(uRA class containing methods needed by the cli to execute the list command. ulistu$list a package or groups of packagescCsD|jj|j|jjj|jjd|jj|jjS(Nulist( RRVR:RRWRXRYRRRZ(R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR3s"(ulist(R5R6R7R$RR8R3(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR\s tProvidesCommandcBsAeZdZdZedZedZdZdZ RS(uVA class containing methods needed by the cli to execute the provides command. uprovidesu whatprovidesu*find what package provides the given valuecCs#|jddddtddS(Nu dependencyRBu+RCu SOME_STRING(RFR(R'((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR(scCs+|jj}t|_t|_t|_dS(N(RRLRORSRMRNRP(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*s   cCs)tjtd|jj|jjS(NuSearching Packages: (R tdebugRRtprovidesR:t dependency(R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR3s(uprovidesu whatprovides( R5R6R7R$RR8t staticmethodR(R*R3(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR]s   tCheckUpdateCommandcBsAeZdZdZedZedZdZdZ RS(uZA class containing methods needed by the cli to execute the check-update command. u check-updateu check-upgradeu$check for available package upgradesc CsN|jddddtdddtd|jd d d d td dS(Nu --changelogsR=u changelogsR@R>u store_trueRAushow changelogs before updateupackagesRBu*RCuPACKAGE(RFRMR(R'((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR( s  cCsG|jj}t|_t|_|jjr6t|_nt|jdS(N( RRLRORPRSR:t changelogsR R(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*s      cCs|jjjj}|jjjrx|j|jjjj}|jjjjd|}|j|}n|j j |j |dd|jj |j j dtd|j j}|rd|j j_n|jjjr|j jndS(NRTtcmp_typeugtetprint_Rcid(RRWRXtupgradesRRTtuniont installedtfilterRRVR:t check_updatesRZRORcRLtsuccess_exit_statustautocheck_running_kernelt_check_running_kernel(R"RXt obsoletedRTtfound((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR3s!(u check-updateu check-upgrade( R5R6R7R$RR8RaR(R*R3(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRbs   tRepoPkgsCommandc Bs]eZdZdefdYZdefdYZdefdYZdefdYZd efd YZd efd YZ d efdYZ defdYZ defdYZ defdYZ defdYZeeeeee e e e e eh Zd ZedZdZdZdZdZRS(!u2Implementation of the repository-packages command.tCheckUpdateSubCommandcBs&eZdZdZdZdZRS(u'Implementation of the info sub-command.u check-updatecCs"|jj}t|_t|_dS(N(RRLRORSRP(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*1s  cCs@|jj|jj|jdt}|r<d|jj_ndS(u?Execute the command with respect to given arguments *cli_args*.ReidN( RRjR:t pkg_specstreponameRORRLRk(R"Ro((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt run_on_repo6s(u check-update(R5R6R7R$R*Rt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRq,s tInfoSubCommandcBs&eZdZdZdZdZRS(u'Implementation of the info sub-command.uinfocCs|jj}t|_|jjr6|jj|j_n|jjdkrTt|_n|jjr|jjr|jj dd|jjqd|j_ndS(Nu installedu --obsoletesu--u obsoletes( RRLRORPR:t_pkg_specs_actiontpkg_specs_actionRSRTRU(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*Bs       cCsN|jj|j|jjj|jjd|jj|jj|j dS(u?Execute the command with respect to given arguments *cli_args*.uinfoN( RRVR:RRWRXRYRwRrRs(R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRtOs"(uinfo(R5R6R7R$R*Rt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRu=s tInstallSubCommandcBs&eZdZdZdZdZRS(u*Implementation of the install sub-command.uinstallcCs4|jj}t|_t|_t|_t|_dS(N(RRLRORSRPt resolvingt root_user(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*Zs     cCs8|jj|j|jjjt|j|jt}|jjsy|jj d|j Wn*t j j k rtjtdqXt}n|xy|jjD]k}y|jj ||j WnBt j j k rtd}tj||jjj|qXt}qW|s4t j jtdndS(Nu*uNo package available.uNo package %s available.uNo packages marked for install.(RRVR:RRWRXRRMRrtinstallRsRR,t MarkingErrorR tinfoRROR&ttermtboldtError(R"tdonetpkg_specR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRtas$"   # (uinstall(R5R6R7R$R*Rt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRxUs tListSubCommandcBseZdZdZdZRS(u'Implementation of the list sub-command.ulistcCsN|jj|j|jjj|jjd|jj|jj|j dS(u?Execute the command with respect to given arguments *cli_args*.ulistN( RRVR:RRWRXRYRwRrRs(R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRts"(ulist(R5R6R7R$Rt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR~stMoveToSubCommandcBs&eZdZdZdZdZRS(u*Implementation of the move-to sub-command.umove-tocCs4|jj}t|_t|_t|_t|_dS(N(RRLRORPRSRyRz(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*s     cCst|j|jt}|jjsy|jjdd|jWnitj j k rnt j t dqtj jk rt j t dqtj jk rqXt}nx|jjD]}y|jj|d|jWntj j k rt d}t j ||qtj jk r}x|jD]h}d}|jjj|}|rut d|}nt d}t j ||jjj||q;Wqtj jk rqXt}qW|stj jt d nd S( u?Execute the command with respect to given arguments *cli_args*.u*t new_reponameuNo package installed.uNo package available.uNo match for argument: %suu (from %s)u%Installed package %s%s not available.uNothing to do.N(RRRRMR:Rrt reinstallRsRR,tPackagesNotInstalledErrorR R}RtPackagesNotAvailableErrorR|RORZthistoryRR&R~RR(R"RRRterrtpkgtxmsgtpkgrepo((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRts>    ) (umove-to(R5R6R7R$R*Rt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRs tReinstallOldSubCommandcBs&eZdZdZdZdZRS(u0Implementation of the reinstall-old sub-command.u reinstall-oldcCs4|jj}t|_t|_t|_t|_dS(N(RRLRORPRSRyRz(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*s     cCst|j|jt}|jjsy |jjd|j|jWnotj j k rwt d}t j |qtj jk rt j t dqtj jk rqXt}nx|jjD]}y |jj||j|jWntj j k r(t d}t j ||qtj jk r}x|jD]h}d}|jjj|}|rt d|}nt d}t j ||jjj||qGWqtj jk rqXt}qW|stj jt dnd S( u?Execute the command with respect to given arguments *cli_args*.u*u)No package installed from the repository.uNo package available.uNo match for argument: %suu (from %s)u%Installed package %s%s not available.uNothing to do.N(RRRRMR:RrRRsRR,RRR R}RR|RORZRRR&R~RR(R"RRRRRRR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRtsB      ) (u reinstall-old(R5R6R7R$R*Rt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRs tReinstallSubCommandcBs/eZdZdZdZdZdZRS(u,Implementation of the reinstall sub-command.u reinstallcCs>ttj|j|tj|tj|f|_dS(uInitialize the command.N(tsuperRpRR#RRtwrapped_commands(R"R((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR#s cCsIt|jj_x3|jD](}|j|_|j|_|jqWdS(N(RORRLRSRR:RsR*(R"tcommand((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*s   cCsot|j|jxU|jD]2}y|jWntjjk rMqqXPqWtjjtddS(u?Execute the command with respect to given arguments *cli_args*.u!No packages marked for reinstall.N( RRRRRtRR,RR(R"R((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRt s(u reinstall(R5R6R7R$R#R*Rt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRs   tRemoveOrDistroSyncSubCommandcBs/eZdZdZdZdZdZRS(u8Implementation of the remove-or-distro-sync sub-command.uremove-or-distro-synccCs4|jj}t|_t|_t|_t|_dS(N(RRLRORSRPRyRz(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*s     c Cs'|jjjj|tjj|}|j|jjj}|jjj}g|j D]!}|j ||kr\|^q\}|stj j d|n|j }|jjjj} xa|D]Y} |jd| jd| jr|jjjj| q|jjjj| d| qWdS(u;Synchronize a package with another repository or remove it.uno package matchedtnametarcht clean_depsN(RRRWt disable_repoRtsubjecttSubjecttget_best_queryRRhRR,Rt availableRtclean_requirements_on_removeRiRRt_goalt distupgradeterase( R"RRsRtmatchesRRRhRRtpackage((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt_replace$s!   cCst|j|jt}|jjsxy|jd|jWn0tj j k rnt d}t j |qXt}njxg|jjD]Y}y|j||jWn3tj j k rt d}t j ||qXt}qW|stj jt dndS(u?Execute the command with respect to given arguments *cli_args*.u*u)No package installed from the repository.uNo match for argument: %suNothing to do.N(RRRRMR:RrRRsRR,RRR R}ROR(R"RRR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRt9s$     (uremove-or-distro-sync(R5R6R7R$R*RRt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRs   tRemoveOrReinstallSubCommandcBs&eZdZdZdZdZRS(u6Implementation of the remove-or-reinstall sub-command.uremove-or-reinstallcCs4|jj}t|_t|_t|_t|_dS(N(RRLRORPRSRyRz(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*[s     c Cs]t|j|jt}|jjsy,|jjdd|jd|jdtWnFt j j k rt d}t j|q8t j jk rq8Xt}nx|jjD]}y,|jj|d|jd|jdtWnIt j j k rt d}t j||qt j jk r-qXt}qW|sYt j jt dndS( u?Execute the command with respect to given arguments *cli_args*.u*t old_reponametnew_reponame_neqt remove_nau)No package installed from the repository.uNo match for argument: %suNothing to do.N(RRRRMR:RrRRsRORR,RRR R}R|R(R"RRR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRtbs4        (uremove-or-reinstall(R5R6R7R$R*Rt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRVs tRemoveSubCommandcBs&eZdZdZdZdZRS(u)Implementation of the remove sub-command.uremovecCs=|jj}t|_t|_t|_t|_t|_dS(N( RRLRORPt allow_erasingRMRSRyRz(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*s      cCst}|jjshy|jjd|jWn0tjjk r^t d}t j |qXt }ngxd|jjD]V}y|jj||jWn-tjjk rt j t d|quXt }quW|st j t dndS(u?Execute the command with respect to given arguments *cli_args*.u*u)No package installed from the repository.uNo match for argument: %suNo packages marked for removal.N(RMR:RrRtremoveRsRR,R|RR R}ROtwarning(R"RRR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRts     (uremove(R5R6R7R$R*Rt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRs tUpgradeSubCommandcBs&eZdZdZdZdZRS(u*Implementation of the upgrade sub-command.uupgradeu upgrade-tocCs4|jj}t|_t|_t|_t|_dS(N(RRLRORPRSRyRz(R"RL((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*s     cCst|j|jt}|jjsA|jj|jt}ngxd|jjD]V}y|jj ||jWn-t j j k rt jtd|qNXt}qNW|st j jtdndS(u?Execute the command with respect to given arguments *cli_args*.uNo match for argument: %suNo packages marked for upgrade.N(RRRRMR:Rrt upgrade_allRsROtupgradeRR,R|R R}RR(R"RR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRts   (uupgradeu upgrade-to(R5R6R7R$R*Rt(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRs urepository-packagesu repo-pkgsu repo-packagesurepository-pkgsu7run commands on top of all packages in given repositorycsOtt|jfd|jD}d|_d|D|_dS(uInitialize the command.c3s|]}|VqdS(N((t.0tsubcmd(R(s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pys scSs)i|]}|jD]}||qqS((R$(RRtalias((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pys s N(RRpR#tSUBCMDSR9Rt_subcmd_name2obj(R"Rt subcmd_objs((Rs=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR#s c Cs3g|jD]}|jd^q }tt|jddddtjdtd|jdddd |d }|d d d ddddh}|j}|jddddddd dddtd|jddddddd dtd|jddddddd dtd|jddddddddtd|jd dddddddtd!|jd"dddddddtd!|jd#dddddd dtd$|jd%dddddddtd&|jd'dd(dtd)d |d|dtj dS(*NiureponameRBiR>RCuREPOusubcmdRDuallu installedu availableu autoremoveuextrasu obsoletesurecentuupgradesu--allR=u_pkg_specs_actionu store_constR?R@RAushow all packages (default)u --availableushow only available packagesu --installedushow only installed packagesu--extrasushow only extras packagesu --updatesushow only upgrades packagesu --upgradesu --autoremoveushow only autoremove packagesu--recentu#show only recently changed packagesu pkg_specsu*uPACKAGE( RR$RRRFt_RepoCallbackEnableRRER9RI(R"R'Rtsubcommand_choicesRHRGRK((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR(sJ#                     cCsy|j|jjd|_Wn;tjjtfk r[}|jjjtjjnX|j|j_|jj d|j_ |jj dS(u8Verify whether the command can run with given arguments.iN( RR:RRRRtKeyErrort optparsert print_usageRsR*(R"te((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR* scCs|jjdS(u>Execute the command with respect to given arguments *extcmds*.N(RRt(R"((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR3s(urepository-packagesu repo-pkgsu repo-packagesurepository-pkgs(R5R6R7R!RqRuRxRRRRRRRRRR$RR8R#R(R*R3(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRp)s0) 79>1(#      ( t HelpCommandcBs8eZdZdZedZedZdZRS(uRA class containing methods needed by the cli to execute the help command. uhelpudisplay a helpful usage messagecCs#|jddddtddS(NucmdRBu?RCuCOMMAND(RFR(R'((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR($scCsk|jj s%|jj|jjkr8|jjjn/|jj|jj}|jjj||dS(N(R:tcmdRt cli_commandsRt print_help(R"R((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR3(s  (uhelp( R5R6R7R$RR8RaR(R3(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRs  tHistoryCommandcBseZdZd ZedZeZeZe dZ dZ dZ dZ dZdZd Zeed d Zd ZRS(uUA class containing methods needed by the cli to execute the history command. uhistoryu(display, or use, the transaction historycCs[ddddddg}|jddd d |d |d d tjdddj|dS(Nulistuinfouredouundourollbacku userinstalledu transactionsRBu*RDR@iR>RCu[%s]u|(RFRRItjoin(R'tcmds((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR(;s  cCs^t}tdj|jj}|jj}|jjdkrt}|jjstd}t j |t jj |n:t |jjdkrt j |t jj |nt|_t|j|jn t|_t|_t|_tj|jjjtjs?td}t j |t jj |n|j|j|||_dS( NuUFound more than one transaction ID. '{}' requires one transaction ID or package name.uredouundourollbacku(No transaction ID or package name given.iu(You don't have access to the history DB.(uredouundourollback(RMRtformatR:ttransactions_actionRRLROt transactionsR R RRtlenRSRRRNRPRzRtaccessRRtR_OKt_args2transaction_idstmerged_transaction_idsttransaction_ids(R"trequire_one_transaction_idtrequire_one_transaction_id_msgRLR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR*Cs2             cCst|tjjr|jjdkrG|jj\}td|fS|jjdkr|jjddkr{|jjn |jjd\}td|fSntj ||S(u.Get suggestions for resolving the given error.uundouVCannot undo transaction %s, doing so would result in an inconsistent package database.urollbackiuforceiuZCannot rollback transaction %s, doing so would result in an inconsistent package database.( R+RR,R-R:RRRR!R2(R"R1tid_((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR2`s "  cCs|jj|}|dkr+ddgfStjj|j}td|j|f|j j |x|j D]}t |jj jjdt|d|j}|jtjjkr)|stjtd|j jjtt|ddgfS|d}|jjt|qt|jtjjkrt|sJqtn|d}|jjt|qtqtW|jj|jj dS( NiuFailed history redou!Repeating transaction %u, from %stnevraRsuNo package %s available.uAn operation cannot be redonei(!Rthistory_get_transactionR9Rtutiltnormalize_timet beg_timestamptprintttidR&thistoryInfoCmdPkgsAlteredRZtlistRWRXRitstrt from_repoR>t transactiontFORWARD_ACTIONSR R}RR~RRR{tlibdnftTransactionItemAction_REMOVERtresolvetdo_transaction(R"textcmdstoldttmtitpkgsR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt _hcmd_redoos,  3"    cCsHy|jj|dSWn)tjjk rC}dt|gfSXdS(Nii(Rthistory_undo_transactionRR,RR(R"RR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt _hcmd_undoscCsHy|jj|dSWn)tjjk rC}dt|gfSXdS(Nii(Rthistory_rollback_transactionRR,RR(R"RR((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt_hcmd_rollbackscCs+t|jj}|jj|ddS(u&Execute history userinstalled command.uPackages installed by userunevra(ttupleRtiter_userinstalledR&tlistPkgs(R"R((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyt_hcmd_userinstalledsuc s^fd}t}x3jjD]%}d|kry|jdd\}}Wn9tk rtjtdj|t j j nXtd} y||}Wn9tk rtjt| j|t j j nXy||}Wn9tk r2tjt| j|t j j nX|ra||kratj|t j j n||kr}||}}n|j ||f|j t||dq%y|j ||Wq%tk rIjjj|g} | r|j | qJtdj|} |r9tj| t j j qJtj| q%Xq%Wt|dtS( u0Convert commandline arguments to transaction idscsi|dkrd}n|jdr1|d}nt|}|dkre|jjjj7}n|S(Nulastu0ulast-ii(t startswithtintR&RtlastR(tsttransaction_id(R"(s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pytstr2transaction_ids     u..iuWInvalid transaction ID range definition '{}'. Use '..'.uYCan't convert '{}' to transaction ID. Use '', 'last', 'last-'.iu8No transaction which manipulates package '{}' was found.treverse(tsetR:Rtsplitt ValueErrorR R RRRRRtaddtupdatetrangeR&RtsearchR}tsortedRO( R"t merged_idstrequire_one_trans_idtrequire_one_trans_id_msgRRtttbegin_transaction_idtend_transaction_idtcant_convert_msgttransact_ids_from_pkgnameR((R"s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyRsT              cCsD|jj}|dkr0|jj|j}n|dkrc|jj|j|jj|j}n~|dkr|j|j}n]|dkr|j |j}n<|dkr|j |j}n|dkr|j }n|dkrdS|\}}|dkrt |jj_n%|dkr@tjj|dndS( Nulistuinfouundouredourollbacku userinstalledii(R:RR&thistoryListCmdRthistoryInfoCmdRRRRRRR9RORRLRyRR,R(R"tvcmdtrettcodetstrs((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR3s*           (uhistory(R5R6R7R$RR8RRRRaR(R*R2RRRRRMRR3(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pyR0s         ?('R7t __future__RRRtdnf.cli.option_parserRtdnf.i18nRRtargparsetdnf.cliRtdnf.cli.demandt dnf.consttdnf.exceptionst dnf.pycomptdnf.transactiontdnf.utilt functoolstloggingtoperatorRt getLoggerR R.R/RRR tobjectR!R<R\R]RbRpRR(((s=/usr/lib/python2.7/site-packages/dnf/cli/commands/__init__.pytsH                   5?(