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@@sdZddlmZddlmZddlmZddlZddlZddlZddlm Z ddl m Z ddl m Z dd lmZd Zd e jfd YZdS( uUpdateInfo CLI command.i(tabsolute_import(tprint_function(tunicode_literalsN(tcommands(t OptionParser(t_(tunicodecC@std|DS(u7Return maximum length of items in a non-empty iterable.cs@s|]}t|VqdS(N(tlen(t.0titem((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pys %s(tmax(titerable((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyt_maxlen#stUpdateInfoCommandcB@seZdZiedej6edej6edej6edej6edej 6Z iedd6edd 6ed d 6ed d 6Z idd6dd6dd6dd6dd6dd6dd6Z dge e jZedZdZdddegZdZedZd Zd!Zd"Zd#Zd$Zd%Zd&Zd'Zd(Zd)Zd*Z d+Z!d,Z"RS(-u)Implementation of the UpdateInfo command.ubugfixu enhancementusecurityuunknownu newpackageu Critical/Sec.uCriticaluImportant/Sec.u Importantu Moderate/Sec.uModerateuLow/Sec.uLowulistulist-updateinfou list-securityulist-secuinfouinfo-updateinfou info-securityuinfo-secusummaryusummary-updateinfou updateinfou!display advisories about packagesu availableu installeduupdatesuallcC@s#tt|j|d|_dS(uInitialize the command.N(tsuperR t__init__tNonet_installed_query(tselftcli((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyRAsc C@s|j}|jddddddddtd |jd dddd dddtd |jd dddddddtd|jddddddddtddddg}|j}|jddddddddtd|jddddddddtd|jddddddddtd|jdddd d!d"|d#|d$dtjdS(%Nu --availabletdestu _availabilitytconstu availabletactionu store_constthelpu?advisories about newer versions of installed packages (default)u --installedu installedu?advisories about equal and older versions of installed packagesu --updatesuupdatesubadvisories about newer versions of those installed packages for which a newer version is availableu--alluallu3advisories about any versions of installed packagesusummaryulistuinfou --summaryu _spec_actionu$show summary of advisories (default)u--listushow list of advisoriesu--infoushow info of advisoriesuspectnargsu*tmetavaruSPECtchoicestdefaulti(tadd_mutually_exclusive_groupt add_argumentRRtPkgNarrowCallback(tparsert availabilitytcmdst output_format((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyt set_argparserFs6         cC@st|jj_t|jj_|jjd|jkrW|j|jjd|j_n!|jj rx|jj |j_n|jj r|jj |j_ nS|jj s|jj d|j kr|j|j_ n|jj jd|j_ dS(uADo any command-specific configuration based on command arguments.iN(tTrueRtdemandstavailable_repostsack_activationtoptstcommandtdirect_commandst spec_actiont _spec_actiont _availabilityR tspectavailabilitiestavailability_defaulttpop(R((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyt configurees   &cC@s-t}|jjdkr<|j|jj}td}n|jjdkrr|j|jj}td}n]|jjdkrt}|j|jj}td}n!|j |jj}td}|jj dkr|j ||n5|jj dkr|j ||n|j ||dS(u#Execute the command with arguments.u installeduupdatesuallu availableulistuinfoN(tFalseR(R tinstalled_apkg_adv_instsR.Rtupdating_apkg_adv_instsR$tall_apkg_adv_inststavailable_apkg_adv_instsR+t display_listt display_infotdisplay_summary(Rtmixedtapkg_adv_instst description((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pytrunys$ cC@sd|jdkr3|jjjjj|_n|jjd|jd|j }t |dkS(Ntnametevr__gtei( RRtbasetsacktqueryt installedtapplytfilterR?tevrR(Rtapackagetq((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyt_newer_equal_installeds$!cC@s|jjr%|j|jjkr%tS|jjrctg|jjD]}|j|^qArctS|jjrtg|jjD]}|j|^qrtStS(N( R(tseverityR$tbugzillatanyt match_bugtcvest match_cveR3(Rtadvisorytbugtcve((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyt_advisory_matchers!::c #@s=t}t}x|D]}|dkr>|jtjq|dkr]|jtjq|d kr||jtjq|dkr|jtjq|j|qW|jjr|jtjn|jj r|jtjn|jj r |jtjn|jj r(|jtjn|jj rJ|j |jj nx|j|D]j|jj| r| r|jj r|jj r|jj rt}n:j|kptfd|Dp|j}tfd|D}|s|rZ|j} | fVqZqZWdS( u4Return (adv. package, advisory, installed) triplets.ubugfixu enhancementusecurityusecu newpackagec3@s$|]}tjj|VqdS(N(tfnmatcht fnmatchcasetid(Rtpat(RQ(s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pys sc3@s$|]}tjj|VqdS(N(RURVR?(RRX(RH(s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pys sN(usecurityusec(tsettaddthawkeytADVISORY_BUGFIXtADVISORY_ENHANCEMENTtADVISORY_SECURITYtADVISORY_NEWPACKAGER(tbugfixt enhancementt newpackagetsecurityRQtupdatetget_advisory_pkgst get_advisoryRARBRKRLROR$ttypeRMRTRJ( Rt pkgs_querytcmptypetspecst specs_typestspecs_patternsR.tadvisory_matchtapackage_matchRD((RQRHs?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyt_apackage_advisory_installedssH                cC@s(|j|jjjjtj|S(u5Return available (adv. package, adv., inst.) triplets(RoRARBRCRDR[tGT(RRj((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyR7scC@s/|j|jjjjtjtjB|S(u5Return installed (adv. package, adv., inst.) triplets(RoRARBRCRDR[tLTtEQ(RRj((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyR4scC@s.|j|jjjjdttj|S(u4Return updating (adv. package, adv., inst.) tripletst upgradable(RoRARBRCtfiltermR$R[Rp(RRj((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyR5scC@s6|j|jjjjtjtjBtjB|S(u5Return installed (adv. package, adv., inst.) triplets( RoRARBRCRDR[RqRrRp(RRj((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyR6scC@szi}x^|D]V\}}}|j||j<|jtjkr |j|jf||j|jfsu %*s %siN(RztprintRR[R_R^RR\R]tADVISORY_UNKNOWNR RRAtconftautocheck_running_kernelRt_check_running_kernel( RR<R=ttyp2cntt label_countstwidthtindenttlabeltcount((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyR:s2     ,c @sfd}fd}t}xa|D]Y\}}}d|j|j|jf} |j|jf|j| |ft|j"su%s%-*s %-*s %sN(tdictR?RGtarchRgRKt setdefaultRWtsortedtitemsR RtappendR|(RR<R;RRtnevra_inst_dictRyRQRDtnevratadvlisttidwttlwRRxtaidtatypesevR((R;Rs?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyR8 s  2 . 'c @sjjjjjjtdtdtdtdtdtdtdtdtd td f fd }t}x-|D]%\}}}|j|||qWtd j t |d ddS(u/Display the details about available advisories.u Update IDuTypeuUpdateduBugsuCVEsu DescriptionuSeverityuRightsuFilesu Installedc @sO|jgjj|jtdgt|jggg|jpHdj|j g|j pcdjt t fd|j Ddg }xx|jD]m}|jtjkr|djdj|j|jpdq|jtjkr|dj|jqqW|dj|djsHd|d>siu{} - {}iiiutrueufalsei u=iOu u%*s: %siu (RWRRRgRRtupdatedR=t splitlinesRKtrightsRRYtpackagesRt referencesR[tREFERENCE_BUGZILLARtformatttitlet REFERENCE_CVEtsortR tzipt enumeratetjoin( RQRDt attributestrefRtlinesRt atr_linestitline(RtlabelsR;Rtverbose(s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyt advisory2info4sB  " ,  ( 4u RcS@s |jS(N(tlower(R((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyR^sN( RARBt list_archesR~RRRYRZR|RR(RR<R;Rt advisoriesRyRQRD((RRR;RRs?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyR9,s$$& (#t__name__t __module__t__doc__RR[R\R]R^R}R_RRR*tlisttkeystaliasestsummaryR0R/Rt staticmethodR#R2R>RJRTRoR7R4R5R6RzR:R8R9(((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyR 'sH          +      #(Rt __future__RRRRuRUR[tdnf.cliRtdnf.cli.option_parserRtdnf.i18nRt dnf.pycompRR tCommandR (((s?/usr/lib/python2.7/site-packages/dnf/cli/commands/updateinfo.pyts