3 f/ @s<ddlZddlZddlZddlZddZddZGdddejjj j Z Gdd d ejjj j ZGd d d ejjjjZGd d d ejjjZGdddejjjjZGdddejjjjZGdddejjjjZGdddejjjjZddZ e!dkr8ye ej"ddWn e#k r6ej$dYnXdS)Ncstfdd|S)Ncst|jS)N)str startswith)k)kw'/usr/lib/python3.6/completion_helper.pysz#filter_list_by_kw..)filter)rZlstr)rrfilter_list_by_kwsr cCstdd|DS)NcSsg|] }t|qSr)r).0xrrr !sz%listpkg_to_setstr..)set)pkgsrrrlistpkg_to_setstr srcs,eZdZfddZddZddZZS)RemoveCompletionCommandcstt|j|dS)N)superr__init__)selfargs) __class__rrr$sz RemoveCompletionCommand.__init__cCsd|jj_d|jj_dS)NFT)clidemands root_usersack_activation)rrrr configure's z!RemoveCompletionCommand.configurecCs,x&tj|j|jjD]}tt|qWdS)N)ListCompletionCommand installedbaseopts pkg_specsprintr)rpkgrrrrun+szRemoveCompletionCommand.run)__name__ __module__ __qualname__rrr# __classcell__rr)rrr#s rcs,eZdZfddZddZddZZS)InstallCompletionCommandcstt|j|dS)N)rr(r)rr)rrrr1sz!InstallCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrravailable_reposr)rrrrr4s  z"InstallCompletionCommand.configurecCsNttj|j|jj}ttj|j|jj}x||D]}tt|q6WdS)N) rrrrrr availabler!r)rrr*r"rrrr#9s     zInstallCompletionCommand.run)r$r%r&rrr#r'rr)rrr(0s r(cs,eZdZfddZddZddZZS)ReinstallCompletionCommandcstt|j|dS)N)rr+r)rr)rrrrCsz#ReinstallCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrrr)r)rrrrrFs  z$ReinstallCompletionCommand.configurecCsNttj|j|jj}ttj|j|jj}x||@D]}tt|q6WdS)N) rrrrrr r*r!r)rrr*r"rrrr#Ks     zReinstallCompletionCommand.run)r$r%r&rrr#r'rr)rrr+Bs r+csHeZdZfddZddZeddZeddZed d ZZ S) rcstt|j|dS)N)rrr)rr)rrrrTszListCompletionCommand.__init__cCs|j}|jj}|jj}t|dkrH|d|krHtdjt|d|n|dkr`|j|j |}n||dkrx|j |j |}nd|dkr|j |j |}nLt |j |j |}t |j|j |}||B}|stdjt|d|dSx|D]}tt |qWdS)N rr*updatesr)Z pkgnarrowsrZpackagesZpackages_actionlenr!joinr rrr*r.rr)rsubcmdsractionrr*rr"rrrr#Ws& zListCompletionCommand.runcCs |jjjjdj|ddS)Nz{}*r) name__glob)sackqueryrfiltermformat)rargrrrrnszListCompletionCommand.installedcCs |jjjjdj|ddS)Nz{}*r)r3)r4r5r*r6r7)rr8rrrr*rszListCompletionCommand.availablecCs|jdj|dgddS)Nz{}*rF)Zprint_)Z check_updatesr7)rr8rrrr.vszListCompletionCommand.updates) r$r%r&rr# staticmethodrr*r.r'rr)rrrSs    rcs$eZdZfddZddZZS)RepoListCompletionCommandcstt|j|dS)N)rr:r)rr)rrrr|sz"RepoListCompletionCommand.__init__cCs|j}|jdkr>tdjt|jddd|jjjDnn|jdkrvtdjt|jddd|jjjDn6|jdkrtdjt|jdd d|jjjDdS) Nenabledr-rcSsg|] }|jqSr)id)r rrrrr sz1RepoListCompletionCommand.run..ZdisabledcSsg|]}|js|jqSr)r;r<)r r=rrrr sallcSsg|] }|jqSr)r<)r r=rrrr s) rZ repos_actionr!r0r ZreposrZ iter_enabledr>)rrrrrr#s   zRepoListCompletionCommand.run)r$r%r&rr#r'rr)rrr:{s r:cs,eZdZfddZddZddZZS)UpgradeCompletionCommandcstt|j|dS)N)rr?r)rr)rrrrsz!UpgradeCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrrr)r)rrrrrs  z"UpgradeCompletionCommand.configurecCs,x&tj|j|jjD]}tt|qWdS)N)rr.rrr r!r)rr"rrrr#szUpgradeCompletionCommand.run)r$r%r&rrr#r'rr)rrr?s r?cs,eZdZfddZddZddZZS)DowngradeCompletionCommandcstt|j|dS)N)rr@r)rr)rrrrsz#DowngradeCompletionCommand.__init__cCs"d|jj_d|jj_d|jj_dS)NFT)rrrr)r)rrrrrs  z$DowngradeCompletionCommand.configurecCs0x*tj|j|jjjD]}tt|qWdS)N)rr*rrr Z downgradesr!r)rr"rrrr#szDowngradeCompletionCommand.run)r$r%r&rrr#r'rr)rrr@s r@cs$eZdZfddZddZZS)CleanCompletionCommandcstt|j|dS)N)rrAr)rr)rrrrszCleanCompletionCommand.__init__cCs0tjjjjj}tdjt|j j d|dS)Nr-r,) dnfrcommandscleanZ _CACHE_TYPESkeysr!r0r rtype)rr1rrrr#szCleanCompletionCommand.run)r$r%r&rr#r'rr)rrrAs rAc Cstjjj}tjj|}|ddkrP|jgg|tdjt|d|jdS|jj |j t |j t |j t |j t|j t|j t|j t|j t|j|y |jWn&ttjjfk rtjdYnXdS)NrZ_cmdsr-r,)rBrZBaseCliZCliZ init_pluginsr!r0r Z cli_commandsclearZregister_commandrr(r+rr:r?r@rArr#OSError exceptionsErrorsysexit)rrrrrrmains(              rM__main__r,)%Zdnf.exceptionsrBZdnf.cliZdnf.cli.commands.cleanrKr rrrCremoveZ RemoveCommandrZinstallZInstallCommandr(Z reinstallZReinstallCommandr+Z ListCommandrZrepolistZRepoListCommandr:ZupgradeZUpgradeCommandr?Z downgradeZDowngradeCommandr@rDZ CleanCommandrArMr$argvKeyboardInterruptrLrrrrs& (