wo4h LddlZddlZddlmZddlmZddlmZmZej e Z GddeZ Gdde Zeejd d d edefdZddeefdZdededdfdZdededdfdZdeddfdZdeddfdZdS)N)List) timed_cache)WHMAPIExceptionwhmapi1ceZdZdS)PackageNotExistErrorN)__name__ __module__ __qualname__b/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/subsys/panels/cpanel/packages.pyrr sDr rcBeZdZdeefdZdedefdZdefdZdS)PkgInforeturncR|ddS)N_PACKAGE_EXTENSIONS)getsplitselfs r extensionszPkgInfo.extensionss#xx-r2288:::r namec.||vS)N)r)rrs r has_extensionzPkgInfo.has_extensionst((((r c|dS)Nrr rs rrz PkgInfo.names F|r N) r r r rstrrboolrrr r rrrsp;DI;;;;)#)$))))cr rZ)secondsd)maxsizerrcK td|d{V}n3#t$r&}dt|vrt|d}~wwxYwt |d}||d<|S)N getpkginfo)pkgzNo such file or directoryr&r)rrrrr)rdataeinfos rget_package_infor*s\t444444444  &#a&& 0 0&q)) )   4;  DDL Ks A !AA allcXKtd|d{V}d|dDS)Nlistpkgs)wantc,g|]}t|Sr )r).0items r z!list_packages..*s 2 2 2dGDMM 2 2 2r r&)r)r.r's r list_packagesr3(sB$/// / / / / / /D 2 2d5k 2 2 22r extension_name package_infocK|}||r6td||d{Vtd||dStd||dS)z;Removes extension from a package described by package_info. delpkgext)r_DELETE_EXTENSIONSNz$Extension %s disabled for package %sz0Extension %s was already disabled for package %srrrloggerr))r4r5rs rremove_extensionr;-s     D!!.11 d~            2ND     KK: r cK|}||s4t d||d|d{Vtd||dStd||dS)zrAdds extension to a package described by package_info. kwargs holds extra variables to set for the extension. addpkgext)rrNz#Extension %s enabled for package %sz/Extension %s was already enabled for package %s)r=r9)r4r5kwargsrs r add_extensionr??s     D  % %n 5 5    .             1>4     KK9>4r cKtd{VD]I} t||fi|d{V#t$r%td||dYFwxYwdS)z+Add given extension to all cPanel packages.Nz(Unable to add extension %s to package %sr)r3r?rr: exception)r4r>r&s radd_extension_for_allrBVs"__$$$$$$ >>v>> > > > > > > > >      :F       s/,AAcKtd{VD]K} t||d{V#t$r%td||dYHwxYwtddS)z0Remove given extension from all cPanel packages.Nz-Unable to remove extension %s from package %srzBImunify360 package extensions have been removed from all packages.)r3r;rr:rAr))r4r&s rremove_extension_from_allrDcs"__$$$$$$ ">377 7 7 7 7 7 7 7 7      ?F         KKLs1,A A )r+)loggingdatetimetypingrdefence360agent.utilsr(defence360agent.subsys.panels.cpanel.whmrr getLoggerr r:rdictr timedeltarr*r3r;r?rBrDr r rrMs------MMMMMMMM  8 $ $     ?   d  X  + + +S999     :9 33tG}3333 3g$$'. .  $     C D      r