
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
`i                 @   s   d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlm	Z	 ej
ddd	Zeed
sdeje_ejZe dkrddlZdd ZnddlmZ dd Zdd Zdd Zdd Zdd Zdd ZdS )zutility functions for up2date    N)up2dateErrors)config)getPlatform)sstrzrhn-client-toolsT)Zfallbackugettextdebc              C   s6   t j } | d }d}d| kr$| d }| d }|||fS )NZIDzn/aZCODENAMEZRELEASE)lsb_releaseZget_distro_information)Z	dist_infoZos_nameZ
os_version
os_release r
   "/usr/lib/python3.6/up2dateUtils.py_getOSVersionAndRelease   s    r   )transactionc              C   s~  t j } xn| jddD ]~}d}t|d }t|d }|dd |d D krtd	d t|d |d
 D }d||f }|| }t|d ||f}|S W x| jddD ]}d}t|d }t|d }|dd |d D krtdd t|d |d
 D }d||f }|| }t|d ||f}|S W xL| jddD ]2}t|d t|d t|d f}| jj  |S W tj	dd S )NZProvidenamezoraclelinux-releasezsystem-release(releasever)versionreleasec             s   s   | ]}t |V  qd S )N)r   ).0provider
   r
   r   	<genexpr>)   s    z*_getOSVersionAndRelease.<locals>.<genexpr>Zprovidenamec             s   s"   | ]\}}t |t |fV  qd S )N)r   )r   nvr
   r
   r   r   *   s   Zprovideversionz%s-%snamezredhat-releasec             s   s   | ]}t |V  qd S )N)r   )r   r   r
   r
   r   r   5   s    c             s   s"   | ]\}}t |t |fV  qd S )N)r   )r   r   r   r
   r
   r   r   6   s   zdistribution-releasez{Could not determine what version of Red Hat Linux you are running.
If you get this error, try running 

		rpm --rebuilddb

)
r   ZinitReadOnlyTransactionZdbMatchr   dictziptsZcloseDBr   ZRpmError)r   hZ	SYSRELVERr   r   ZprovidesZosVersionReleaser
   r
   r   r   #   s:    "
c              C   s,   t j } | d rt| d S t \}}}|S )z3
    Returns the version of redhat-release rpm
    ZversionOverride)r   ZinitUp2dateConfigstrr   )Zcfgr	   r   r   r
   r
   r   
getVersionI   s
    r   c              C   s   t  \} }}| S )z4
    Returns the name of the redhat-release rpm
    )r   )r	   r   r   r
   r
   r   getOSReleaseS   s    r   c              C   s   t  \} }}|S )z7
    Returns the release of the redhat-release rpm
    )r   )r	   r   r   r
   r
   r   
getReleaseZ   s    r   c              C   sz   t jdt jr@tdd} | j j }ddi}||kr<|| }|S t j d }t dkrv|dkrbd
}|dkrnd}|d7 }|S )Nz/etc/rpm/platformrzia32e-redhat-linuxzx86_64-redhat-linux   r   i486i586i686Zi386Zx86_64amd64z-debian-linux)r    r!   r"   )osaccessR_OKopenreadstripunamer   )fdplatformreplaceZarchr
   r
   r   getArcha   s    

r.   c               C   s   dS )Nz&2.8.16-13.module_el8.3.0+2053+3ddf2832r
   r
   r
   r
   r   r   v   s    r   )__doc__r$   gettextZup2date_clientr   r   Zup2date_client.pkgplatformr   Zrhn.i18nr   Ztranslationthasattrr   _r   r   r   r   r   r   r.   r   r
   r
   r
   r   <module>   s(   



&
