跳转到主要内容

未提供项目描述

项目描述

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

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

confuse_jinja-0.0.1.tar.gz (3.9 kB 查看哈希值)

上传时间: