ó ¾[/\c@@suddlmZddlmZddlmZddlmZddlZddlZ dej fd„ƒYZ dS(i(tabsolute_import(tunicode_literals(t_(tcommandsNt CheckCommandcB@sAeZdZdZedƒZed„ƒZd„Zd„Z RS(uSA class containing methods needed by the cli to execute the check command. uchecku#check for problems in the packagedbc C@s|jddddddddtd ƒƒ|jd dddddd dtd ƒƒ|jd dddddddtdƒƒ|jddddddddtdƒƒ|jddddddddtdƒƒ|jdddddd dddggdtjƒdS(Nu--alltdestu check_typestactionu append_consttconstuallthelpushow all problems; defaultu--dependenciesu dependenciesushow dependency problemsu --duplicatesu duplicatesushow duplicate problemsu --obsoletedu obsoletedushow obsoleted packagesu --providesuprovidesushow problems with providesucheck_yum_typestnargsu*tchoices(t add_argumentRtargparsetSUPPRESS(tparser((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/check.pyt set_argparser$s$          cC@s­t|jj_|jjr[|jjrF|jj|jj|j_q[|jj|j_n|jjsydh|j_nt|jjƒ|j_|jj j dg7_ dS(Nuall( tTruetclitdemandstsack_activationtoptstcheck_yum_typest check_typestsettbasetconftdisable_excludes(tself((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/check.pyt configure;s    c C@sÊtƒ}|jjjƒjƒ}|jjjddhƒr8d}xó|D]è}x7|j D],}t |ƒj dƒrzqYnt |j d|gƒƒsYt |ƒj dƒr9|dkrÎtjj|jƒ}ntjj|ƒ}|jdt |ƒƒtjj|ƒ}|jd|dtƒ|jƒ}|r9qYq9ntdƒ} |j| j|jjjj|ƒ|jjjj|ƒƒƒqYqYWx¥|jD]š} |j d| gd t | ƒjƒd ƒ} xf| D]^} d } |j| j|jjjj|ƒ|jjjj| ƒ|jjjj| ƒƒƒqËWq“WqIWn|jjjdd hƒr |jj|ƒ} |j ƒj!| ƒj"ƒ}x‰|j#ƒD]x\}}|j$ƒx_|d D]S}tdƒj|jjjj|d ƒ|jjjj|ƒƒ} |j| ƒq®WqWn|jjjddhƒrÖx¬|D]¡}x˜|j%D]}|j d|gd t |ƒjƒd ƒ}t |ƒr>tdƒj|jjjj|d ƒ|jjjj|ƒƒ} |j| ƒq>q>Wq.Wn|jjjddhƒr€xŒ|D]}xx|j&D]m}||j d|gƒkrtdƒ} |j| j|jjjj|ƒ|jjjj|ƒƒƒqqWqøWnxt'|ƒD] } | GHqW|rÆtj(j)djt |ƒƒƒ‚ndS(Nuallu dependenciesurpmlibtprovidesu(tselecttoptionalu{} has missing requires of {}tnameiu"{} has installed conflict "{}": {}u duplicatesiu{} is a duplicate with {}u obsoletedu{} is obsoleted by {}uprovidesu%{} provides {} but it cannot be founduCheck discovered {} problem(s)(*RRtsacktqueryt installedRRt intersectiontNonetrequireststrt startswithtlentfiltertdnft _rpmdb_sacktselectortSelectortgoaltGoaltinstalltFalsetrunRtaddtformattoutputttermtboldt conflictstsplitt_get_installonly_queryt duplicatedt differencet _name_dicttitemstsortt obsoletesRtsortedt exceptionstError(Rt output_settqR!tpkgtrequireR-R/tsolvedtmsgtconflictt conflictedt conflict_pkgt installonlytdupsR tpkgstduptobsoletet obsoletedtprovide((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/check.pyR3Is‚       #  +        *  (ucheck( t__name__t __module__t__doc__taliasesRtsummaryt staticmethodRRR3(((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/check.pyRs   ( t __future__RRtdnf.i18nRtdnf.cliRR tdnf.exceptionsR+tCommandR(((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/check.pyts