Edit File: rpm_packages_statistics.cpython-311.pyc
� c|9eS � �� � d dl mZ d dlZd dlmZmZmZ d dlmZm Z m Z mZ d dlm Z d dlmZ ej d� � Zdee ee e e f fd �Zd � ZdS )� )�absolute_importN)�CalledProcessError�Popen�PIPE)�Dict�AnyStr�Optional�List)� serialize_evr)� is_ubuntuz(cloudlinux-summary.get_rpm_packages_info�returnc �< � t � � } d}t � � }|rd}nd}d}d} t |t t ddd�� � }|� � � \ }}||v rt � |� � | S n<# t t f$ r(} t � d || � � | cY d } ~ S d } ~ ww xY w|j dk r)t � d|||j ||d ��� � | S |� � � � d� � } | D ]�} t ||� � \ }} }}}n0# t $ r# t � d||d|i�� � Y �Fw xY w| dk rd n| } | � || |||t# | ||g� � d�� � ��| S )z� Get full info about all of rpm packages: - name - epoch - version - release - arch - serialized_version z"Thread died in Berkeley DB libraryz9dpkg-query -f '${Package} ${Version} ${Architecture} ' -WzYrpm -qa --queryformat '%{name} %|epoch?{%{epoch}}:{None}| %{version} %{release} %{arch} 'z1Can't get information about rpm packages, becausezYServer has broken rpmdb. We can't get statistics about rpm packages and skip its getting.Tz /bin/bash)�stdout�stderr�shell� executable�textz%s exception "%sNr z)%s command "%s" return non-zero code "%s")r r )�extra� zRThe result of call "%s" has an invalid line "%s". It should contain five elements.r �None)�name�epoch�version�release�arch�serialized_version)�listr r r �communicate� app_logger�warningr �OSError� exception� returncode�error�strip�split�parse_package_manager_output� ValueError�appendr )�result�rpm_db_error_pattern�is_ubuntu_os�rpm_cmd� error_message�rpm_db_warn_msg�pr r r"