检查yaml文件中的必需字段
spread-confiture的Python项目详细描述
Funny fact: confiture looks like configure.
Confiture,那是什么?
[删除:果酱通常包含果汁和果肉,或者 蔬菜,尽管有些烹饪书把它定义为熟的和冻的 泥。“果酱”一词是指将整颗水果切成 碎块或压碎,然后用水和糖加热以激活 将果胶放入容器前进行果胶处理。]
confirure是测试yaml配置的一小段代码 文件。通过测试,我们的意思是检查是否确实设置了一些必需的字段。
安装
spread confiture
哦真的吗?-编号
pip install confiture
哦真的吗?-不,PIP名称confiture已被使用。
pip install spread-confiture
哦真的吗?-是的。
要求
此项目需要pyyaml来分析yaml文件。
用法
模板文件
模板文件是一个描述我们想要的字段的文件 分析配置文件时进行检查。它也是用yaml写的, 采用以下方案:
foo:bar:""foobar:foo:""bar:""bar:""
配置文件相对于模板文件是一致的,如果 将设置模板指定的每个必需字段。请注意 配置还可以设置 模板。
创建一个Confiture对象
创建相对于给定模板文件的Confiture对象:
fromconfitureimportConfiture# conf pour confiture ou configration ?conf=Confiture("examples/templates/confiture.yaml")
分析配置文件
一旦创建了Confiture对象,我们就可以测试yaml 配置文件:
# Simple testconf.check("examples/config/blueberry_ok.yaml")# Test et récupération du contenu du fichier sous forme de dictionnaireconfig=conf.check_and_get("examples/config/blueberry_ok.yaml")
如果配置文件与模板不一致,则 ConfigFileError引发异常。
示例
代码
fromconfitureimportConfiture,ConfigFileErrorprint"[*] loading template"confiture=Confiture("examples/templates/confiture.yaml")print"[*] checking required files for blueberry"try:confiture.check("examples/config/blueberry_ok.yaml")print"[*] blueberry file is correct"exceptConfigFileErrorase:printe.messageprint"[*] checking required files for banana"try:confiture.check("examples/config/banana_ko.yaml")print"[*] banana file is correct"exceptConfigFileErrorase:printe.message
输出
(confiture) > python ./example.py [*] loading template [*] checking required files for blueberry [*] blueberry file is correct [*] checking required files for banana *** fruit field not found -- aborting
常见问题解答
你是怎么想到要做(一些)确认的?
那是九月的一个被禁止的早晨,早餐时间。确切地说 当我开始在吐司上吐痰时…
为什么是文档?
因为没有文档的项目就像没有文档的confirture 香焦。
为什么文档那么长?
因为文档就像confiture中的香蕉,所以 味道越好。
为什么一个文档如此渴望一个如此简单的项目?
因为现在我可以说有一次我写了一份文档 比代码本身还要长。