HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/lib/python3.6/site-packages/sos/policies/runtimes/__pycache__/crio.cpython-36.opt-1.pyc
3

\��hm
�@s@ddlZddlmZddlmZddlmZGdd�de�ZdS)�N)�quote)�ContainerRuntime)�sos_get_command_outputc@s:eZdZdZdZdZdd�Zddd�Zd	d
�Zdd�Z	d
S)�CrioContainerRuntimez-Runtime class to use for systems running crioZcrioZcrictlcCsdS)NF�)�selfrr�/usr/lib/python3.6/crio.py�check_can_copysz#CrioContainerRuntime.check_can_copyFcCs~g}|j�d|rdnd�d�}|jrzt||jjd�}|ddkrztj|d�}x*|d	D]}|j|d
|ddf�qXW|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�idZmetadata�name)�binary�activer�policy�sysroot�json�loads�append)rZget_allrZ_cmd�out�out_json�	containerrrr�get_containerssz#CrioContainerRuntime.get_containerscCs�g}|jr�t|j�d�|jjd�}|ddkr�tj|d�}x�|dD]|}t|d�dkr�xf|dD]}|j||df�qdWqFt|d	�dkr�d
}n|d	dj	d�d}|j|d|df�qFW|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 json)rrrr
�imagesZrepoTagsrZrepoDigestsz<none>�@z:<none>)
rrrrrrr�lenr�split)rrrrZimageZrepo_tagZ
image_namerrr�
get_images,szCrioContainerRuntime.get_imagescCs>|rt|�}n|}|j|�}|dk	r:|j�d|�d|��SdS)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``
        N� r
)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)rZshlexrZsos.policies.runtimesrZ
sos.utilitiesrrrrrr�<module>
s