未提供项目描述
项目描述
Confuse - Jinja变量
Confuse配置文件使用Jinja2的简单Ansible样式变量解析。
安装
pip install confuse_jinja
使用方法
import confuse_jinja
confuse_jinja.enable()
# now you can use jinja2 templates inside your keys
config = confuse.Configuration('asdf', read=False)
config.set({
'asdf': {
'blah': 'asdf{{ C.other.thing }}'
},
'nested': '{{ C.asdf }}',
'other': {'thing': 456}
})
assert config['asdf']['blah'].get() == 'asdf456'
assert config['nested'].get() == {'blah': 'asdf456'}
工作原理
- 对于任何字符串类型的配置值,将其渲染为Jinja2模板
- 尝试使用从Ansible源代码中优雅地提取的ast函数解析渲染后的字符串
- 如果可以从字符串中解析出有效的Python对象(列表、字典等),则返回该对象,否则以字符串形式返回。
待办事项
- 在yaml文件中测试(可能的语法错误)
- 按配置对象而不是全局启用。
- 需要替换单个Config的
ConfigView.__getitem__
- 需要使用
self.Subview
而不是全局的Subview
- 需要替换单个Config的
项目详情
关闭
confuse_jinja-0.0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 71cd0a37483faa356d38287bd626591148f9eaea20742144bc2f6c49fd616aa5 |
|
MD5 | ddeb2e0ddd9b4d68793b391f36bb5c24 |
|
BLAKE2b-256 | d1c1269c3391e617ad42d79dcc6fe410fc9fdf07a138157ca59c846a86be9721 |