Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 À<×e• ã@s\ddlZddlmZmZddlmZddljZddl m Z dgZ ej j ƒZGdd„dƒZdS)éN)Ú ConfigParserÚError)ÚTunedException)ÚcommandsÚ GlobalConfigc@sdeZdZejfdd„Zedd„ƒZejfdd„Zddd „Z dd d „Z dd d„Z dd„Z ddd„Z dS)rcCsi|_|j|d�tƒ|_dS)N)Ú file_name)Ú_cfgÚ load_configrÚ_cmd)ÚselfZ config_file©r ú#/usr/lib/python3.6/global_config.pyÚ__init__ s zGlobalConfig.__init__cCs>dd„ttƒDƒ}tdd„|Dƒƒ}tdd„|Dƒƒ}||fS)ai Easy validation mimicking configobj Returns two dicts, first with default values (default None) global_default[consts.CFG_SOMETHING] = consts.CFG_DEF_SOMETHING or None second with configobj function for value type (default "get" for string, others eg getboolean, getint) global_function[consts.CFG_SOMETHING] = consts.CFG_FUNC_SOMETHING or get } cSs2g|]*}|jdƒr|jdƒ r|jdƒ r|‘qS)ZCFG_Ú CFG_FUNC_ÚCFG_DEF_)Ú startswith)Ú.0Úoptr r r ú s  z7GlobalConfig.get_global_config_spec..css0|](}tt|ƒttd|dd…dƒfVqdS)réN)ÚgetattrÚconsts)rrr r r ú sz6GlobalConfig.get_global_config_spec..css0|](}tt|ƒttd|dd…dƒfVqdS)rrNÚget)rr)rrr r r r!s)ÚdirrÚdict)ÚoptionsZglobal_defaultZglobal_functionr r r Úget_global_config_specs z#GlobalConfig.get_global_config_speccCs\tjd|ƒyêtdddd�}t|_t|ƒ�$}|jdtjd|j ƒ|ƒWdQRX|j ƒ\|_ }x�|j tjƒD]€}||j krÈy$t |||ƒ}|tj|ƒ|j |<Wqòtk rÄtd |ƒ‚YqòXqrtjd ||fƒ|jtj|d d �|j |<qrWWn^tk �r(}ztd |ƒ‚WYdd}~Xn0tk �rV}ztd|ƒ‚WYdd}~XnXdS)z& Loads global configuration file. z2reading and parsing global configuration file '%s'ú=ú#F)Z delimitersZinline_comment_prefixesÚstrictú[z] Nz2Global TuneD configuration file '%s' is not valid.z/Unknown option '%s' in global config file '%s'.T)Úrawz/Global TuneD configuration file '%s' not found.z3Error parsing global TuneD configuration file '%s'.)ÚlogÚdebugrÚstrZ optionxformÚopenZ read_stringrZMAGIC_HEADER_NAMEÚreadrrrrrrÚinforÚIOError)r rZ config_parserÚfZ_global_config_funcZoptionÚfuncÚer r r r $s* (  zGlobalConfig.load_configNcCs|jj||ƒS)N)rr)r ÚkeyÚdefaultr r r r?szGlobalConfig.getcCs |jj|j||ƒƒdkrdSdS)NÚ1TF)r Úget_boolr)r r-r.r r r r0BszGlobalConfig.get_boolrcCs.|jj||ƒ}|r*t|tƒr |St|dƒS|S)Nr)rrÚ isinstanceÚint)r r-r.Úir r r Úget_intGs   zGlobalConfig.get_intcCs||j|<dS)N)r)r r-Úvaluer r r ÚsetPszGlobalConfig.setcCsH|j|ƒ}|dkr|S|jj|ƒ}|dkr@tjd||fƒ|S|SdS)Nz%Error parsing value '%s', using '%s'.)rr Úget_sizer#Úerror)r r-r.ÚvalÚretr r r r7Ss  zGlobalConfig.get_size)N)N)r)N)Ú__name__Ú __module__Ú __qualname__rZGLOBAL_CONFIG_FILErÚ staticmethodrr rr0r4r6r7r r r r r s    )Z tuned.logsZtunedZtuned.utils.config_parserrrZtuned.exceptionsrZ tuned.constsrZtuned.utils.commandsrÚ__all__Zlogsrr#rr r r r Ús