IQg2hddlZdZdZGddeZGddeZGdd ZdS) Nz /proc/lvelceZdZdS) ProcLveErrorN__name__ __module__ __qualname__o/builddir/build/BUILD/imunify360-venv-2.5.0/opt/imunify360/venv/lib/python3.11/site-packages/clcommon/clproc.pyrrDr rceZdZdS) NoSuchLvpNrr r r rrr r rceZdZefdZdZdZdZdZdZ ddZ d Z dd Z dd Z dd ZdZddZdZdZdZdZdS)ProcLvec>d|_d|_||_d|_dS)Nlvplist)_lvprproc_lve_version)selfrs r __init__zProcLve.__init__s"     r cVtj|j|jS)z/ Return path to /proc/lve/list )ospathjoinrrrs r proc_lve_listzProcLve.proc_lve_listsw||DM49555r c(|j|jSt|d5}|d}dddn #1swxYwYt |ddd|_|jS)z5 Return /proc/lve filesystem version Nutf-8encoding:r)ropenrreadintrsplit)rflines r versionzProcLve.version%s = $= $$$&& 9 9 9 Q66!99D               DKKQ//233 }sAAAcLtj|jdS)Nmaprrrrrs r proc_lve_mapzProcLve.proc_lve_map0sw||DM5111r cLtj|jdS)z4 Return path to /proc/lve/resellers resellersr/rs r proc_lve_resellerszProcLve.proc_lve_resellers3sw||DM;777r cdtj|S)z3 Check present /proc/lve/resellers )rrexistsr3rs r resellers_supportedzProcLve.resellers_supported9s$w~~d5577888r rc|dkr|Stj||jt |z|jS)z, Generate path to list file r)rrrrr3rstrrrlvp_ids r get_list_pathzProcLve.get_list_path?sT Q;;%%'' '7<< 7 7 9 949s6{{;RTXT]^^ ^r ct|dddS)Nr,)r(split)rr+s r _extract_idzProcLve._extract_idHs/4::<<?((--b1222r c#K||} t|d5}|}dddn #1swxYwYn1#t$r$}|jdkrt d||d}~wwxYw|ddd}|D]8}||| tj fV9dS)Nr:r r!zNo such lvp id  r%) r;r&r'stripIOErrorerrnorr?r@rstriprlinesep)rr:rlist_lineser+s r _lineszProcLve._linesKsO!!!00 dW--- - **,, - - - - - - - - - - - - - - -   w!|| :& : :;;B    D!!!""% B BD""4(($++bj*A*AA A A A A B Bs:A*'A A*A""A*%A"&A** B4BBTc#fK||D]\}}|tkr|r|VdS)NrBrM LIMIT_LVP_ID)rr:without_limitslve_idr+s r rKz ProcLve.linesYsO KKvK66  LFD%%.%JJJJ  r c#bK||D]\}}|tdfvr|VdS)NrBrrO)rr:rR_s r lve_id_listzProcLve.lve_id_list_sOF33  IFA,***LLLL  r c#Ktj|D]G}||jr+t |t |jdVHdS)z= Obtain from /proc/lve/resellers lvp id list N)rlistdirr3 startswithrr(len)rlvp_dirs r lvp_id_listzProcLve.lvp_id_listesuz$"9"9";";<< 4 4G!!$),, 4'#di..//233333 4 4r cJ||D] }||krdS dS)NrBT)rU)rid_r:rRs r check_inside_listzProcLve.check_inside_listmsA&&f&55  F}}tt  r cftj||S)z1 Check present lve top container )rrr5r;r9s r exist_lvpzProcLve.exist_lvprs&w~~d0088999r c|D]1}||r|||r|cS2dS)z1 Find in which lve top container N)r[r`r^)rr]r:s r detect_inside_lvpzProcLve.detect_inside_lvpxs^&&((  F~~f%% $*@*@f*M*M    r ci}t|d5}|}dddn #1swxYwY|ddd}|D]J}|\}}t ||t |<K|S)z7 Obtain map from /proc/lve/map as dict r r!NrDr%)r&r0r'rEr?r()rmap_dictmap_rKr+ lve_id_str lvp_id_strs r r.z ProcLve.maps $##%% 8 8 8 (DIIKK%%''E ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( D!!!""% 8 8D%)ZZ\\%7%7%9%9 "J (+JHS__ % %s'AA Acfdt|DS)Nc&g|] \}}|k |Sr r ).0lve_id_lvp_id_r:s r z+ProcLve.map_lve_id_list..s)^^^,GWGW]L]L]L]L]L]r )rr.itemsr9s `r map_lve_id_listzProcLve.map_lve_id_lists9^^^^TXXZZ5E5E5G5G0H0H^^^^r N)r)rT)rrrPROC_LVErrr,r0r3r6r;r@rMrKrUr[r^r`rbr.ror r r rrsA ( 666   222888 999 ____333 B B B B  444 :::    _____r r)rrprP Exceptionrrrr r r rrs       9           w_w_w_w_w_w_w_w_w_w_r