§ Rl¾jhãó¸—ddlZddlmZmZmZddlmZmZmZm Z ddl m Z ddl m Z ejd¦«Zde eeeeeffd„Zd „ZdS) éN)ÚCalledProcessErrorÚPopenÚPIPE)ÚDictÚAnyStrÚOptionalÚList)Ú serialize_evr)Ú is_ubuntuz(cloudlinux-summary.get_rpm_packages_infoÚreturnc óR—g}d}t¦«}|rd}nd}d}d}d} t|ttddd¬ ¦«5}| ¦«\}} |j}d d d ¦«n #1swxYwY|| vrt  |¦«|Sn<#ttf$r(} t   d || ¦«|cYd } ~ Sd } ~ wwxYw|dkr$t   d ||||| d œ¬¦«|S|  ¦«  d¦«} | D]€} t| |¦«\} }}}}n0#t$r#t   d|| d|i¬¦«YŒFwxYw|dkrd 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.rTz /bin/bash)ÚstdoutÚstderrÚshellÚ executableÚtextNz%s exception "%sz)%s command "%s" return non-zero code "%s")rr)Ú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)r rrÚ communicateÚ returncodeÚ app_loggerÚwarningrÚOSErrorÚ exceptionÚerrorÚstripÚsplitÚparse_package_manager_outputÚ ValueErrorÚappendr )ÚresultÚrpm_db_error_patternÚ is_ubuntu_osÚrpm_cmdÚ error_messageÚrpm_db_warn_msgrÚprocrrr!ÚlinesÚlinerrrrrs úX/opt/cloudlinux/venv/lib64/python3.11/site-packages/clsummary/rpm_packages_statistics.pyÚget_rpm_packages_infor2s¼€ð€FØ?ÐÝ‘;”;€LØðsØPˆˆàrˆØH€MðL€Oà€JðÝ Ø ÝÝØØ"Øð  ñ ô ð )ðØ!×-Ò-Ñ/Ô/‰NˆF�FØœˆJð )ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð  6Ð )Ð )Ý × Ò Øñ ô ð ðˆMð *øõ ¥Ð (ðððÝ×ÒØ Ø Ø ñ ô ð ð ˆ ˆ ˆ ˆ ˆ ˆ øøøøð øøøð�Q‚€Ý×ÒØ 7Ø Ø Ø à Ø ððð ñ ô ð ðˆ Ø �LŠL‰NŒN× Ò  Ñ &Ô &€EØð ð ˆð Ý2NÈtÐUaÑ2bÔ2bÑ /ˆD�%˜ '¨4¨4øÝð ð ð Ý × Ò ð3àØà˜fðð ñ ô ð ð ˆHð øøøð š˜��¨UˆØ� Š ØØØØØÝ"/ØØØð1ñ#ô#ð  ð  ñ ô ð ð ð €MsS¡BÁA+Á BÁ+A/Á/BÁ2A/Á3"BÂCÂ(C ÃCà CÄ)EÅ*E-Å,E-có—|rh| d¦«\}}}d}d|vr| d¦«\}}| d¦«^}}|rd |¦«nd}n| d¦«\}}}}}|||||fS)aR rpm -qa already returns data in needed format, e.g: lve-utils None 6.2.3 2.el7.cloudlinux.1639593336.cloudlinux.1639595623 x86_64 but, dpkg-query output needed to be parsed a bit, cause version column cannot be split by util to epoch:version:release lve-utils 6.2.2.1639220776 amd64 ú Nú:ú-)r$Újoin)r0r*rrrrrs r1r%r%ms§€ðð ?Ø"Ÿjšj¨Ñ.Ô.шˆg�tàˆØ �'ˆ>ˆ>Ø$Ÿ]š]¨3Ñ/Ô/‰NˆE�7Ø#ŸMšM¨#Ñ.Ô.Ј�'Ø'.Ð8�#—(’(˜7Ñ#Ô#Ð#°Dˆˆà.2¯jªj¸Ñ.>Ô.>Ñ+ˆˆe�W˜g tØ �˜ ¨$Ð .Ð.ó)ÚloggingÚ subprocessrrrÚtypingrrrr Úclcommon.evr_utilsr Úclcommon.utilsr Ú getLoggerrr2r%©r8r1úr@sÜðð€€€Ø6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ø/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/à,Ð,Ð,Ð,Ð,Ð,Ø$Ð$Ð$Ð$Ð$Ð$à ˆWÔ ÐIÑ JÔ J€ ðX˜t H¨T°&¸(À6Ô:JÐ2JÔ-KÔ$LÔMðXðXðXðXðv/ð/ð/ð/ð/r8