3 šgt`üã@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|ƒj||ƒ|dkrdS|jtƒdS)N)ÚsuperrÚ__init__Zregister_commandÚRepoGraphCommand)ÚselfÚbaseÚcli)Ú __class__©ú/usr/lib/python3.6/repograph.pyr )szRepoGraph.__init__)Ú__name__Ú __module__Ú __qualname__Únamer Ú __classcell__rr)rrr%src@s<eZdZd ZedƒZdd„Zdd„Zdd „Ze d d „ƒZ d S)r rú repo-graphz4Output a full package dependency graph in dot formatcCsV|jj}d|_d|_|jjrRx4|jjjƒD]$}|j |jjkrF|j ƒq*|j ƒq*WdS)NT) r ÚdemandsZsack_activationZavailable_reposZoptsÚrepor ZreposÚallÚidÚdisableÚenable)r rrrrrÚ configure4s zRepoGraphCommand.configurecCs|jtƒdS)N)Údo_dotÚ DOT_HEADER)r rrrÚrun?szRepoGraphCommand.runc CsÖd}|j|jjƒ}tdƒtdj|ƒƒx |jƒD]”}t||ƒ|krRt||ƒ}ddt||ƒ}|d}d}td j||||ƒƒtd j|ƒƒx||D]}td j|ƒƒqžWtd j|||ƒƒq2Wtd ƒdS)Nrzdigraph packages {z{}gà?g333333ã?égš™™™™™¹?gð?z""{}" [color="{:.12g} {:.12g} {}"];z "{}" -> {{z"{}"z!}} [color="{:.12g} {:.12g} {}"]; ú}g«Ásжš?)Ú _get_depsr ÚsackÚprintÚformatÚkeysÚlen) r ÚheaderZmaxdepsZdepsÚpkgÚhÚsÚbÚreqrrrrBs  zRepoGraphCommand.do_dotc Csêi}i}g}|jƒjƒ}xÌ|D]Ä}i}xº|jD]°}t|ƒ}||krDq.|jdƒrPq.||krb||} n@|j|d�} | s�tjtdƒ|ƒ|j |ƒq.n | dj } | ||<| |j kr´d|| <| |ks.| |krÈq.nd|| <|j ƒ||j <q.WqW|S)Nz solvable:)ZprovideszNothing provides: '%s'r) ZqueryÚ availableÚrequiresÚstrÚ startswithÚfilterrÚdebugrÚappendrr') r$r0ZprovÚskipr/r*Zxxr.ZreqnameZproviderrrrr#Ys8         zRepoGraphCommand._get_depsN)rr) rrrÚaliasesrZsummaryrr rÚ staticmethodr#rrrrr 0s  r )Z __future__rrZdnfpluginscorerrZdnf.cliZdnfrZPluginrr ZCommandr rrrrÚs