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Èã@s6ddlZddljZddlmZmZGdd„deƒZdS)éN)Ú ConfigParserÚErrorc@sneZdZdZdgZdd„Zedd„ƒZdd„Zdd d „Z d d „Z dd„Z ddd„Z dd„Z dd„Zdd„Zd S)ÚLocatorz$ Profiles locator and enumerator. Ú_load_directoriescCst|ƒtk rtdƒ‚||_dS)Nz(load_directories parameter is not a list)ÚtypeÚlistÚ TypeErrorr)ÚselfÚload_directories©r ú/usr/lib/python3.6/locator.pyÚ__init__ s zLocator.__init__cCs|jS)N)r)r r r r r szLocator.load_directoriescGs&t|ƒdg}tjj|Ž}tjj|ƒS)Nz tuned.conf)rÚosÚpathÚjoinÚnormpath)r Ú path_partsZ config_namer r r Ú_get_config_filenames zLocator._get_config_filenameNcCs†d}|dd…dk}|r$|dd…}xLt|jƒD]>}|j|tjj|ƒƒ}|dk r^||kr^d}q0tjj|ƒr0|Sq0W|r‚|dkr‚d}|S)Nréú-Ú)ÚreversedrrrrÚbasenameÚisfile)r Ú profile_nameZ skip_filesÚretZconditional_loadÚdir_nameÚ config_filer r r Ú get_configs   zLocator.get_configcCs|dk o|dkod|kS)Nrú/r )r rr r r Úcheck_profile_name_format0sz!Locator.check_profile_name_formatcCsš|j|ƒsdS|j|ƒ}|dkr$dSyJtddddd�}t|_t|ƒ�"}|jdtjd|j ƒƒWdQRX|St t t fk r”}zdSd}~XnXdS)Nú=ú#TF)Z delimitersZinline_comment_prefixesZallow_no_valueÚstrictú[z] ) r rrÚstrZ optionxformÚopenZ read_stringÚconstsZMAGIC_HEADER_NAMEÚreadÚIOErrorÚOSErrorr)r rrÚconfigÚfÚer r r Ú parse_config3s   &zLocator.parse_configc Cs$y t|ƒ}Wntk r*|g}d}YnXy t|ƒ}Wntk rV|g}d}YnX||krv||dg||}|j|ƒ}|dkr”ddddgStj|jƒk}d|g}xtt||ƒD]f\} } | dksÎ| dkrâd|d<|dg}q¶|oô| |jtjƒk�r||jtj| dd�g}q¶|| g}q¶W|S)NrFrTr)Úrawéÿÿÿÿ) Úlenrr.r'ZPLUGIN_MAIN_UNIT_NAMEZsectionsÚzipZoptionsÚget) r rZattrsZdefvalsZ attrs_lenZ defvals_lenr+Zmain_unit_in_configÚvalsÚattrZdefvalr r r Úget_profile_attrsGs2       zLocator.get_profile_attrsc Csjtƒ}x^|jD]T}y:x4tj|ƒD]&}|j||ƒ}tjj|ƒr |j|ƒq WWqtk r`YqXqW|S)N) ÚsetrrÚlistdirrrrÚaddr*)r Zprofilesrrrr r r Ú list_profileses    zLocator.list_profilescCs t|jƒƒS)N)Úsortedr:)r r r r Úget_known_namesqszLocator.get_known_namescs‡fdd„tˆjƒƒDƒS)Ncs(g|] }|ˆj|tjgdgƒdf‘qS)ré)r6r'ZPROFILE_ATTR_SUMMARY)Ú.0Zprofile)r r r ú usz3Locator.get_known_names_summary..)r;r:)r r )r r Úget_known_names_summarytszLocator.get_known_names_summary)N)N)Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú __slots__r Úpropertyr rrr r.r6r:r<r@r r r r rs    r)rZ tuned.constsr'Ztuned.utils.config_parserrrÚobjectrr r r r Ús