File: //usr/lib/python3/dist-packages/sos/policies/runtimes/__pycache__/crio.cpython-310.pyc
o
-�_gm
� @ s@ d dl Z d dlmZ d dlmZ d dlmZ G dd� de�ZdS )� N)�quote)�ContainerRuntime)�sos_get_command_outputc @ s: e Zd ZdZdZdZdd� Zddd�Zd d
� Zdd� Z d
S )�CrioContainerRuntimez-Runtime class to use for systems running crio�crio�crictlc C s dS )NF� )�selfr r �</usr/lib/python3/dist-packages/sos/policies/runtimes/crio.py�check_can_copy s z#CrioContainerRuntime.check_can_copyFc C sz g }| j � d|r
dnd� d�}| jr;t|| jjd�}|d dkr;t�|d �}|d D ]}|�|d
|d d f� q+|S )
z�Get a list of containers present on the system.
:param get_all: If set, include stopped containers as well
:type get_all: ``bool``
z ps z-a� z -o json��chroot�statusr �output�
containers�id�metadata�name)�binary�activer �policy�sysroot�json�loads�append)r �get_allr �_cmd�out�out_json� containerr r r
�get_containers s �z#CrioContainerRuntime.get_containersc C s� g }| j r_t| j� d�| jjd�}|d dkr_t�|d �}|d D ]<}t|d �dkr=|d D ]}|�||d f� q0q"t|d �dkrHd
}n|d d � d�d }|�|d |d f� q"|S )
z�Get a list of images present on the system
:returns: A list of 2-tuples containing (image_name, image_id)
:rtype: ``list``
z images -o jsonr
r r r �images�repoTagsr �repoDigestsz<none>�@z:<none>)
r r r r r r r �lenr �split)r r"