ó b=0Yc@s°ddlZddlZddlZddlZddlZdZd„Zidd6dd6dd6dd 6Zd „Zd ej d „Z d ej d „Z d„Z d„Z dS(iÿÿÿÿNs/proc/lve/listcCs¨y€ttdƒ}|jƒ}yt|ddƒdg}Wn!tk r_ddtg}nX|ddkrddg}nWn!tk r£ddtg}nX|S(NtritOKs/clcommon: get_lve_version: Can`t get data from is+clcommon: get_lve_version: Can`t open file (topentLVE_FILEt readlinestintt IndexErrortNonetIOError(tftlinest LVE_VERSIONt LVE_VERISON((s3/usr/lib/python2.7/site-packages/clcommon/clfunc.pytget_lve_versions   itKitMtGtTcCs˜t|ƒ}tjdƒ}tjdƒ}tjdtjƒ}|j|ƒ}|j|ƒ}|j|ƒ}|dks|dks|dkr”|SdS(sb check that val is a valid CPU limit (0-100 int or speed (% or MHZ\GHZ)) return val if ok a s \d{1,2}0?$s\d+(?:\.\d+)?%$s\d+(?:\.\d+)?(mhz|ghz)+$N(tstrtretcompilet IGNORECASEtmatchR(tvaltdatat regexp_intt regexp_speedpt regexp_speedftp1tp2tp3((s3/usr/lib/python2.7/site-packages/clcommon/clfunc.pyt validate_cpu s $icCsIyt|ƒ}Wntk r$dSX||ko<|knrE|SdS(sN Check that val - is a string number return val as a string N(Rt ValueErrorR(Rtmin_valtmax_valtdig_val((s3/usr/lib/python2.7/site-packages/clcommon/clfunc.pyt validate_int0s  cCs–yu|d}|jƒr,d}||}ntt|d ƒt|jƒdƒ}||kok|knrt|SWntttfk r‘nXdS(NiÿÿÿÿRi( tisdigitRtfloattBYTES_CONVERSION_TABLEtupperRR tKeyErrorR(RR!R"tsuffixtresult((s3/usr/lib/python2.7/site-packages/clcommon/clfunc.pytmemory_to_page>s   (cCst|dkrt|dƒdS|dkrOttt|ƒdddƒƒdSttt|ƒdd dƒƒdS( NiiRiiiRRi(RtroundR&(tpages((s3/usr/lib/python2.7/site-packages/clcommon/clfunc.pytpage_to_memoryKs   %cCs¹tjdd|d|gdtjƒ}|jƒdjdƒ}xr|D]j}|jƒjƒ}y2|dj|ƒtjt |dƒt j ƒWqGt t tfk r°qGqGXqGWdS(Ns/bin/pss-Us-utstdoutis iÿÿÿÿ(t subprocesstPopentPIPEt communicatetsplittrstriptindextostkillRtsignaltSIGHUPRR tOSError(titemtusernametpsR trowtparts((s3/usr/lib/python2.7/site-packages/clcommon/clfunc.pytreload_processesRs' !iii@(tsysR1R8R:RRR R'RtmaxintR$R,R/RB(((s3/usr/lib/python2.7/site-packages/clcommon/clfunc.pyts<