>O^bddlZddlZddlZddlmZddlmZdZdZdZ ej dZ dZ dZ Gd d eZd Zd Zd ZdZdedefdZdefdZdS)N) clconfpars)logsetupz/etc/sysconfig/lvestats2z/etc/sysconfig/cloudlinuxz/etc/sysconfig/lvestats.config/hide_lve_more_than_maxuidlvestats_notifications_offc"eZdZdZddZdZdS) ConfigErrorc"||_||_dSN)valueex)selflocationr s lvestats/lib/config.py__init__zConfigError.__init__s Nc|t}|t|tj|dSr )logerrorstrsysexit)r log_ exit_codes r log_and_exitzConfigError.log_and_exits: <D 3t99 rcj|jturd|jd|jdSd|jd|jdS)NzUnable to read config z ()zUnable to parse config )r IOErrorr )r s r__str__zConfigError.__str__$sI 7g  DDJDD$'DDD DETZEE47EEE Er)Nr)__name__ __module__ __qualname__rrrrrrrsK FFFFFrrc tj|S#t$rv}|jdkr,|dst |dzcYd}~St d|t|t|||d}~wtj $r=}t t|t|||d}~wwxYw)N z .readonlyzConfig %s not loadable: %s) rloadrerrnoendswith_load_config_and_process_errorsrrrr configparser ParsingError)riepes rr)r)+s 0x((( 000 8r>>("3"3K"@"@>28k3IJJ J J J J J J .#b''BBB(B''R/  $000 #b''(B''R/0s, C 1BC :BC #8CC c|}t|zdz}tj|r$t |}|||S)Nz.cfg)stripCONFIG_PATH_DIRospathisfiler)update)configpluginplugin_cfg_path plugin_configs rread_plugin_configr98sX \\^^F%.7O w~~o&&%7HH  m$$$ Mrc*ttS)zb reads lvestats config. Throws ConfigError exception -- if any errors :return: config )r)GLOBAL_CONFIG_LOCATIONr#rr read_configr<As ++A B BBrctjd}|t |dddkS#t $rYn$tj$rYntj$rYnwxYwdS)zE Check global config parameter for normalize user CPU values F)strict license_checknormalized_user_cpuYT) r* ConfigParserread CL_CONFIGgetupperr NoOptionErrorNoSectionError)r5s ris_normalized_user_cpurIIs &e 4 4 4F KK   zz/+@AAGGIISPP       %      &      4s+A B )B 9B  B r returnc|dvrdS|dvrdStd|)z Convert string to bool )yyesttrueon1T)nnoffalseoff0FzInvalid truth value )lower ValueError)r s r str_to_boolrZ^sM {{}}<<<t ? ? ?u777888rcpt}|dd}t|rdSdS)zL The function returns max lve id according to option `use_big_uids` use_big_uidsrUiiʚ;)r<rErZ)lvestats_configr\s rget_max_lve_idr^js<"mmO"&&~w??L<  {wr)r1r*rclcommonrlvestats.lib.commonsrr;rDr0 setup_loggingrHIDE_MAX_UID_LVE_PARAMETERUSER_NOTIFICATIONS_OFF_MARKER Exceptionrr)r9r<rIrboolrZintr^r#rrrgs1  ))))))4 ' 3hT""8 <FFFFF)FFF$ 0 0 0CCC* 9s 9t 9 9 9 9       r