a `8aUã@s4ddlZddlZddlmZdZGdd„deƒZdS)éNé)ÚFileBasedSource)ÚYamlFileSourcecs&eZdZ‡fdd„Zddd„Z‡ZS)rcs(| dd¡|_tt|ƒj|i|¤ŽdS)NÚencodingzutf-8)ÚpoprÚsuperrÚ__init__)ÚselfÚargsÚkwargs©Ú __class__©úP/home/carl/code/landscape/setoptconf-tmp/build/lib/setoptconf/source/yamlfile.pyr szYamlFileSource.__init__NcCsht |d|j¡ ¡ ¡}|s dSt |¡}|s2dSt|tƒsDt dƒ‚|D]}|j |vrH||j |_ qH|S)NÚrz%YAML files must contain only mappings) ÚcodecsÚopenrÚreadÚstripÚyamlÚ safe_loadÚ isinstanceÚdictÚ TypeErrorÚnameÚvalue)r Ú file_pathÚsettingsÚmanagerÚcontentÚsettingrrrÚget_settings_from_files   z%YamlFileSource.get_settings_from_file)N)Ú__name__Ú __module__Ú __qualname__rr!Ú __classcell__rrr rr s r)rrÚ filebasedrÚ__all__rrrrrÚs