变量收集器和模板运行器。
项目描述
c2c.template
支持的模板:Jinja、Mako、Template。
收集一些变量并将它们传递给模板引擎的工具。
使用 c2c-template --help 获取命令行帮助。
变量文件
变量收集器从像这样的YAML文件中获取变量
extends: inherit.yaml
vars:
string_var: a string
int_var: 42
interpreted_var: __import__('datetime').date.today()
combined_var: 'Today: {interpreted_var:%Y-%m-%d}'
facter_json: /usr/bin/facter --json
facter_yaml: /usr/bin/facter --yaml
pi: console.log(Math.PI.toPrecision(3))
obj:
v1: 1
v2: '2'
v3: [1, 2, 3]
interpreted:
python:
- interpreted_var
bash:
- facter_json
- facter_yaml
json:
- facter_json
yaml:
- facter_yaml
node:
vars: ["pi"]
cmd: ["node", "-e"]
update_path:
- obj
inherit.yaml 是一个具有相同语法的其他文件,将提供初始变量。
vars 部分是我们定义变量值的地方,YAML文件支持类型,因此 42 将是一个整数。
用于解释一些变量(如 python、bash、environ、json、yaml)的 interpreted 配置是预定义的解释器,而 node 是自定义解释器。
update_path 是一个由‘.’分隔的路径列表,这些路径将被更新(对于字典)或追加(对于列表),而不是覆盖。子路径将隐式添加。
我们可以重用预定义的变量并对它们进行格式化(参见 combined_var),详见: str.format()。
使用示例
在模板中解释变量
c2c-template --vars vars.yaml --engine jinja --files template.jinja
结果将存储在名为 template 的文件中。
获取变量
在模板外获取变量可能很有用。
`c2c-template --vars vars.yaml --get-vars INT_VAR=int_var string_var`
这将设置 bash 变量 INT_VAR 为 42,以及 STRING_VAR 为 'a string'。
获取配置文件
c2c-template --vars vars.yaml --get-config config.yaml string-var int-var combined-var
将创建一个名为 config.yaml 的文件。
string-var: a string
int-var: 42
combined-var: Today: 2014-12-12
根据模板构建一组文件
创建以下变量文件(vars.yaml)
vars:
var1: common
iter:
- name: one
var2: first
- name: two
var2: second
以及以下模板(template.jinja)
var1: {{ var1 }}
var2: {{ var2 }}
然后运行以下命令
c2c-template --vars vars.yaml --files-builder template.jinja {name}.txt iter
这将创建两个文件
名为 one.txt 的文件,内容如下
var1: common var2: first
名为 two.txt 的文件,内容如下
var1: common var2: second
关闭
c2c_template-2.4.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5582ee975eed7573f558b9318874033098864efff3911f98efd2fd8c41f59602 |
|
MD5 | 70a42f3c2319aa942db43a47de25138c |
|
BLAKE2b-256 | 883800337d81d556659ac4a3b881281ab4929a5300956518f43ab38586107560 |
关闭
c2c_template-2.4.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c074485d0c4020810dc6870545f5602704da95c8c8422f75faa73fc997c741fa |
|
MD5 | ed56531cb52da5ef4500228552f49a39 |
|
BLAKE2b-256 | 88bebd606b328f174d13ba5ed29955286dced8a9c6d448c93eee13ea212fcbd8 |