3
©ft`�¡ ã @ sÄ d dl mZ d dlZd dlZd dlZd dlZd dlZd dl m
Z
d dlmZ d dl
mZmZmZ d dlZejjjZejjjZejjjZejjjZedƒZedƒZdd „ ZG d
d„ deƒZ dd
„ Z!dS )é )ÚOrderedDictN)ÚEnableMultipleStreamsException)Úlogger)Ú_ÚP_Úucdz6
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledz@
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctivec C s | j ƒ S )N)ÚgetName)Úprofile© r
ú!/usr/lib/python3.6/module_base.pyÚ_profile_comparison_key' s r c @ s e Zd Zdd„ Zdd„ Zdd„ ZdBdd „ZdCd
d„Zdd
„ Zdd„ Z dd„ Z
dd„ Zdd„ Zdd„ Z
dDdd„Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ ZdEd%d&„Zd'd(„ Zd)d*„ Zd+d,„ ZdFd-d.„Zd/d0„ Zed1d2„ ƒZd3d4„ Zd5d6„ Zd7d8„ Zd9d:„ Zd;d<„ Z d=d>„ Z!d?d@„ Z"dAS )GÚ
ModuleBasec C s
|| _ d S )N)Úbase)Úselfr r
r
r Ú__init__. s zModuleBase.__init__c C sn | j |ƒ\}}}}x8|jƒ D ],\}\}}|jrtjtdƒj|j|jƒƒ qW |sX|sX|rjtj j
|||d�‚d S )Nz%Ignoring unnecessary profile: '{}/{}')Úno_match_group_specsÚerror_group_specsÚmodule_depsolv_errors)Ú!_resolve_specs_enable_update_sackÚitemsr r Úinfor ÚformatÚnameÚdnfÚ
exceptionsÚ
MarkingErrors) r Úmodule_specsÚno_match_specsÚerror_specsÚ
solver_errorsÚmodule_dictsÚspecÚnsvcapÚmodule_dictr
r
r Úenable2 s zModuleBase.enablec C s, | j |tƒ\}}|s|r(tjj||d�‚d S )N)r r )Ú_modules_reset_or_disableÚSTATE_DISABLEDr r r )r r r r r
r
r Údisable? s zModuleBase.disableTc sþ ˆ j |ƒ\}}}}tj}i }tƒ } d}
�xt|jƒ D �]f\}\}}
�xV|
jƒ D �]H\}}�x<|jƒ D �].\}}‡ fdd„|D ƒ}|s¦tjtdƒj|||ƒƒ |j |ƒ qbg }ˆ j
|ƒ}|jƒ |krâtdƒ}tj|j|j
ƒ |ƒƒ d}
|j�rd|j|j|jƒƒ |�s(|jƒ }|�r>djtdd„ |D ƒƒƒ}td ƒj||||ƒ}ntd
ƒj|ƒ}tj|ƒ |j |ƒ qbnĈ jjj||ƒ}|�sØ|jƒ }|�r´djtdd„ |D ƒƒƒ}tdƒj|||ƒ}ntd
ƒj||ƒ}tj|ƒ |j |ƒ xNt|ƒD ]B}|j|ƒ}|�stjtdƒj|||ƒƒ |j |ƒ |j|ƒ �qâW xJ|D ]B}ˆ jjj||jƒ ƒ x&|jƒ D ]}|j|tƒ ƒj|ƒ �qPW �q.W x|D ]}| j|jƒ ƒ �qzW qbW qLW q2W |
�r´tjjtdƒƒ‚ˆ j | ||ƒ\}}|�rÖ|j|ƒ |�sè|�sè|�rútjj!|||d�‚d S )NFc s" g | ]}ˆ j jj|jƒ ƒr|‘qS r
)r Ú_moduleContainerÚisModuleActiveÚgetId)Ú.0Úx)r r
r ú