Edit File: evr_utils.cpython-37.pyc
B �ew � @ s� d dl mZ d dlmZmZmZmZmZ dgZee eee d�dd�Z eee ef ed�dd �Zeee ee ef ed �dd�Zee ee d�d d�Z dS )� )�absolute_import)�Union�List�AnyStr�Tuple�Optional� serialize_evr)�intgr�returnc C sL g }| }x$|dkr,t |d�\}}|�|� q W |�dt|� � |�� |S )z� Encode int in real-numbers segment. See http://en.wikipedia.org/wiki/Arithmetic_coding. @param intgr: int for coding in Float an segment [seg_begin, seg_end] @return: list encoding segment r � � )�divmod�append�len�reverse)r ZlstZnumberZ remainder� r ��/builddir/build/BUILDROOT/alt-python27-cllib-3.3.5-1.el8.cloudlinux.x86_64/opt/alt/python37/lib/python3.7/site-packages/clcommon/evr_utils.py�"encode_int_to_real_numbers_segment s r )�rpm_datar c C s� g }x�| D ]z}t |t�r(|�t|�� nRt |t�rN|�� rN|�tt|��� n,t |t�rn|�dd� |D �� ntd| ��|�d� q W d�dd� |D ��S )z� Encode List of parts of Version or Epoch or Release in real-numbers segment. See http://en.wikipedia.org/wiki/Arithmetic_coding. @param rpm_data: list to convert in double @return: Converted string c s s | ]}t |�V qd S )N)�ord)�.0Zchr r r � <genexpr>9 s zevr_to_float.<locals>.<genexpr>z ThisStrange: r � c S s g | ]}d | �qS )z%02xr )r �nr r r � <listcomp>= s z evr_to_float.<locals>.<listcomp>) � isinstance�int�extendr �str�isdigit� NameErrorr �join)r �evr�elemr r r �evr_to_float* s r$ )r"