3 šgt`› ã @ sV d dl mZ d dl mZ d dlmZ d dlZG dd„ dejƒZG dd„ dej j ƒZdS ) é )Úabsolute_import)Úunicode_literals)Ú_Nc s e Zd ZdZ‡ fdd„Z‡ ZS )ÚRepoClosureÚrepoclosurec s, t t| ƒj||ƒ |d krd S |jtƒ d S )N)Úsuperr Ú__init__Zregister_commandÚRepoClosureCommand)ÚselfÚbaseÚcli)Ú __class__© ú!/usr/lib/python3.6/repoclosure.pyr ! s zRepoClosure.__init__)Ú__name__Ú __module__Ú__qualname__Únamer Ú __classcell__r r )r r r s r c @ s> e Zd ZdZedƒZdd„ Zdd„ Zd dd „Ze d d„ ƒZ dS )r r z:Display a list of unresolved dependencies for repositoriesc C sd | j j}d|_d|_| jjr`xB| jjjƒ D ]2}|j | jjkrT|j | jj krT|jƒ q*|jƒ q*W d S )NT) r ÚdemandsZsack_activationZavailable_reposÚoptsÚrepor ÚreposÚallÚidÚcheckÚdisableÚenable)r r r r r r Ú configure, s zRepoClosureCommand.configurec C s˜ | j jr| j| j jƒ}n| jƒ }xRt|jƒ ƒD ]B}tdjt|ƒ|jƒƒ tdƒ x|| D ]}tdj|ƒƒ qZW q.W t |ƒdkr”t dƒ}tjj |ƒ‚d S )Nzpackage: {} from {}z unresolved deps:z {}r z/Repoclosure ended with unresolved dependencies.)r ÚarchesÚ_get_unresolvedÚsortedÚkeysÚprintÚformatÚstrÚreponameÚlenr ÚdnfÚ exceptionsÚError)r Ú unresolvedÚpkgZdepÚmsgr r r Úrun7 s zRepoClosureCommand.runNc sL i }t ƒ }| jjr’| jjjƒ jdd�‰ | jjjƒ jdd�}xv| jjjƒ D ]D}ˆ j | jjjƒ j|j d�jƒ ƒ‰ |j | jjjƒ j|j d�jƒ ƒ}qHW n | jjjƒ jƒ ‰ | jjjƒ jƒ }| jj �rN| jjjƒ jdd�}g }xT| jj D ]H}tjj|ƒ} |j| j| jjdddd�ƒ} | �r|j | ƒ}qÞ|j|ƒ qÞW |�rJtjjtdƒdj|ƒ ƒ‚|}| jj�rh|j| jjd� |d k �r~|j|d� | jjj�r–ˆ jdd � ˆ jƒ |jƒ xf|D ]^}t ƒ ||<