HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/sos/policies/runtimes/__pycache__/crio.cpython-38.pyc
U

i��d�
�@s@ddlZddlmZddlmZddlmZGdd�de�ZdS)�N)�ContainerRuntime)�sos_get_command_output)�quotec@s:eZdZdZdZdZdd�Zddd�Zd	d
�Zdd�Z	d
S)�CrioContainerRuntimez-Runtime class to use for systems running crioZcrioZcrictlcCsdS)NF�)�selfrr�</usr/lib/python3/dist-packages/sos/policies/runtimes/crio.py�check_can_copysz#CrioContainerRuntime.check_can_copyFcCsvg}d|j|rdndf}|jrrt||jjd�}|ddkrrt�|d�}|dD]}|�|d	|d
df�qR|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%s ps %s -o jsonz-a���chroot�statusr�output�
containers�idZmetadata�name)�binary�activer�policy�sysroot�json�loads�append)rZget_allrZ_cmd�out�out_json�	containerrrr�get_containerss�z#CrioContainerRuntime.get_containerscCs�g}|jr�td|j|jjd�}|ddkr�t�|d�}|dD]x}t|d�dkrx|dD]}|�||df�q^qBt|d	�dkr�d
}n|d	d�	d�d}|�|d|df�qB|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%s images -o jsonrr
rr�imagesZrepoTagsrZrepoDigestsz<none>�@z:<none>)
rrrrrrr�lenr�split)rrrrZimageZrepo_tagZ
image_namerrr�
get_images,s 
�zCrioContainerRuntime.get_imagescCs8|rt|�}n|}|�|�}|dk	r4d|j||fSdS)a�Format a command to run inside a container using the runtime

        :param container: The name or ID of the container in which to run
        :type container: ``str``

        :param cmd: The command to run inside `container`
        :type cmd: ``str``

        :param quotecmd: Whether the cmd should be quoted.
        :type quotecmd: ``bool``

        :returns: Formatted string to run `cmd` inside `container`
        :rtype: ``str``
        Nz%s %s %sr
)rZget_container_by_nameZrun_cmd)rr�cmdZquotecmdZ
quoted_cmdZcontainer_idrrr�fmt_container_cmdEs

�
��z&CrioContainerRuntime.fmt_container_cmdN)F)
�__name__�
__module__�__qualname__�__doc__rrr	rr!r#rrrrrs
r)rZsos.policies.runtimesrZ
sos.utilitiesrZpipesrrrrrr�<module>
s