Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/clcommon/__pycache__/evr_utils.cpython-311.pyc



]j6ddlmZmZmZmZdgZdedeefdZdeedefdZ	deeeeeefdefd	Z
d
eedeefdZdS)
)UnionListTupleOptional
serialize_evrintgrreturncg}|}|dkr.t|d\}}|||dk.|dt|z||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)divmodappendlenreverse)rlstnumber	remainders    r/builddir/build/BUILD/imunify360-venv-2.6.3/opt/imunify360/venv/lib/python3.11/site-packages/clcommon/evr_utils.py"encode_int_to_real_numbers_segmentrsx
C
F
1**"63//	

91**JJsSXX~KKMMMJrpm_datac,g}|D]}t|tr#|t|nt|trD|r0|tt|nGt|tr |d|Dnt
d||ddd|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
    c34K|]}t|VdS)N)ord).0chs  r	<genexpr>zevr_to_float.<locals>.<genexpr>6s(..2s2ww......rz
ThisStrange: rcg|]}|dS)02x)rns  r
<listcomp>z evr_to_float.<locals>.<listcomp>:s555AZZ555r)	
isinstanceintextendrstrisdigit	NameErrorrjoin)revrelem
converted_strs    revr_to_floatr.'s
C		dC  	4JJ9$??@@@@
c
"
"	4t||~~	4JJ9#d))DDEEEE
c
"
"	4JJ.........2D22333

1



GG5555566Mrr+cd}t|ttfs|g}|D]$}|tt	|dzz
}%|S)aw
    Converts epoch, version and release of package to unique string.

    Ex:
    ['1', '2.4.4', '34'] -> '810100008102008104008104000081220000'
    ['0', '2.2.3', '76.el5_9.cloudlinux'] -> 80000081020081020081030000814c00656c00810500810900636c6f75646c696e75780000

    @param evr:         List from epoch, version and release
    @return:            str for given list
    r00)r$listtupler.split_segments)r+retis   rrr>s[
CcD%=))e
66|N1--..55Jrstringc|gS|d}d}g}t|D]\}}t||zs$t||zr|}P|||r|||||}||}||dr|||d|S)a
    Split str of epoch or version or release to numbers and strings.

    Ex:
    '76.el5_9.cloudlinux.2' -> ['76', 'el', '5', '9', 'cloudlinux', '2']

    @param string:           str of epoch or version or release
    @return:            List strings and numbers from EVR
    Nr)	enumerater'r(isalphaisalnumr)r6	prev_symbbegin_indexsegmentsr5els      rr3r3Qs~	q	IKH6""((2y2~&&((	C	B,?,?,G,G,I,I	I+a- ((**	3OOF;q=1222;'		
kll##%%.{||,---OrN)typingrrrr__all__r%rr'r.rr3r!rr<module>rAs0///////////
cd3i$49.uT#Yc
C78S&8C=T#Yr
Back to Directory File Manager