<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
gt`                 @   s^   d dl mZ d dl mZ d dlmZmZ d dlZdZG dd dej	Z
G dd	 d	ejjZdS )
    )absolute_import)unicode_literals)_loggerNzY
size="20.69,25.52";
ratio="fill";
rankdir="TB";
orientation=port;
node[style="filled"];
c                   s    e Zd ZdZ fddZ  ZS )	RepoGraph	repographc                s,   t t| j|| |d krd S |jt d S )N)superr   __init__Zregister_commandRepoGraphCommand)selfbasecli)	__class__ /usr/lib/python3.6/repograph.pyr	   )   s    zRepoGraph.__init__)__name__
__module____qualname__namer	   __classcell__r   r   )r   r   r   %   s   r   c               @   s<   e Zd ZdZedZdd Zdd Zdd	 Ze	d
d Z
dS )r
   r   
repo-graphz4Output a full package dependency graph in dot formatc             C   sV   | j j}d|_d|_| jjrRx4| jjj D ]$}|j	| jjkrF|j
  q*|j  q*W d S )NT)r   demandsZsack_activationZavailable_reposZoptsrepor   Zreposalliddisableenable)r   r   r   r   r   r   	configure4   s    
zRepoGraphCommand.configurec             C   s   | j t d S )N)do_dot
DOT_HEADER)r   r   r   r   run?   s    zRepoGraphCommand.runc       	      C   s   d}| j | jj}td tdj| x|j D ]}t|| |krRt|| }ddt||   }|d }d}td	j|||| td
j| x|| D ]}tdj| qW tdj||| q2W td d S )Nr   zdigraph packages {z{}g      ?g333333?   g?g      ?z""{}" [color="{:.12g} {:.12g} {}"];z
"{}" -> {{z"{}"z!}} [color="{:.12g} {:.12g} {}"];
}gs?)	_get_depsr   sackprintformatkeyslen)	r   headerZmaxdepsZdepspkghsbreqr   r   r   r   B   s     zRepoGraphCommand.do_dotc       
      C   s   i }i }g }| j  j }x|D ]}i }x|jD ]}t|}||krDq.|jdrPq.||krb|| }	n@|j|d}	|	stjtd| |j	| q.n
|	d j
}	|	||< |	|j
krd ||	< |	|ks.|	|krq.nd ||	< |j ||j
< q.W qW |S )Nz	solvable:)ZprovideszNothing provides: '%s'r   )Zquery	availablerequiresstr
startswithfilterr   debugr   appendr   r'   )
r$   r0   Zprovskipr/   r*   Zxxr.   ZreqnameZproviderr   r   r   r#   Y   s8    





zRepoGraphCommand._get_depsN)r   r   )r   r   r   aliasesr   Zsummaryr   r    r   staticmethodr#   r   r   r   r   r
   0   s   r
   )Z
__future__r   r   Zdnfpluginscorer   r   Zdnf.cliZdnfr   ZPluginr   r   ZCommandr
   r   r   r   r   <module>   s   