a º&cüã@s^ddlmZddlmZddlmZmZddlZdZGdd„dej ƒZ Gdd „d ej j ƒZ dS) é)Úabsolute_import)Úunicode_literals)Ú_ÚloggerNzY size="20.69,25.52"; ratio="fill"; rankdir="TB"; orientation=port; node[style="filled"]; cs eZdZdZ‡fdd„Z‡ZS)Ú RepoGraphÚ repographcs,tt|ƒ ||¡|durdS| t¡dS©N)ÚsuperrÚ__init__Zregister_commandÚRepoGraphCommand)ÚselfÚbaseÚcli©Ú __class__©ú9/usr/lib/python3.9/site-packages/dnf-plugins/repograph.pyr )szRepoGraph.__init__)Ú__name__Ú __module__Ú __qualname__Únamer Ú __classcell__rrrrr%src@s<eZdZdZedƒZdd„Zdd„Zdd„Ze d d „ƒZ d S) r )rz repo-graphz4Output a full package dependency graph in dot formatcCsR|jj}d|_d|_|jjrN|jj ¡D]$}|j |jjvrD|  ¡q(|  ¡q(dS)NT) rÚdemandsZsack_activationZavailable_reposZoptsÚrepor ZreposÚallÚidÚdisableÚenable)r rrrrrÚ configure4s zRepoGraphCommand.configurecCs| t¡dSr)Údo_dotÚ DOT_HEADER)r rrrÚrun?szRepoGraphCommand.runc CsÎd}| |jj¡}tdƒtd |¡ƒ| ¡D]}t||ƒ|krPt||ƒ}ddt||ƒ}|d}d}td ||||¡ƒtd  |¡ƒ||D]}td  |¡ƒqštd  |||¡ƒq0td ƒdS) Nrzdigraph packages {z{}gà?g«Ásжš?gš™™™™™¹?gð?z""{}" [color="{:.12g} {:.12g} {}"];z "{}" -> {{z"{}"z!}} [color="{:.12g} {:.12g} {}"]; Ú})Ú _get_depsr ÚsackÚprintÚformatÚkeysÚlen) r ÚheaderZmaxdepsZdepsÚpkgÚhÚsÚbÚreqrrrrBs    zRepoGraphCommand.do_dotc Csâi}i}g}| ¡ ¡}|D]À}i}|jD]°}t|ƒ}||vr@q*| d¡rLq*||vr^||} n@|j|d} | sŒt tdƒ|¡|  |¡q*n | dj } | ||<| |j kr°d|| <| |vs*| |vrÄq*nd|| <|  ¡||j <q*q|S)Nz solvable:)ZprovideszNothing provides: '%s'r) ÚqueryÚ availableÚrequiresÚstrÚ startswithÚfilterrÚdebugrÚappendrr') r$r1ZprovÚskipr0r*Úxxr.ZreqnameZproviderrrrr#Ys8        zRepoGraphCommand._get_depsN) rrrÚaliasesrZsummaryrr!rÚ staticmethodr#rrrrr 0s r )Z __future__rrZdnfpluginscorerrZdnf.cliZdnfr ZPluginrrZCommandr rrrrÚs