自动发现配置以方便内联使用
项目描述
[](https://travis-ci.org/internap/python-config-probe)
[](http://badge.fury.io/py/config-probe)
使命
=======
提供一种简单的代码使用配置自动发现过程。给定一个路径和一个模式列表,
结果配置将是一个指向任何配置的快捷方式。
## 使用方法
设置
config = probe(
path="path/to/my/files",
patterns=["path/(*)/file.yaml"]
)
使用它
print config.mynamespace.key
## 参数
- **path**
初始探测路径。模式将与路径下的文件结构进行测试,
并且它将在确定命名空间时被忽略。
- **patterns**
包含(或不包含)占位符 "(\*)" 的文件路径列表,以找到配置文件的位置。
模式的定义顺序定义了哪些键有优先级,最后一个是最相关的。
路径中的每个占位符都将导致结果配置中的命名空间。
例如,你有这样的模式
dir1/(*)/dir2/(*).yaml
如果这个模式找到文件: "dir1/**ns1**/dir2/**file**.yaml" 包含 "key: 'value'",则结果
配置将是
config.ns1.file.key == "value"
现在如果模式是
dir1/ns1/dir2/file.yaml
对于相同的文件,结果配置将简单地是
config.key == "value"
因此,您可以使用占位符 "(\*)" 命名空间结果配置,使用没有括号的 "\*" 来具有无命名空间的变量路径
dir1/(*)/dir2/*.yaml
config.ns1.key == "value"
## 模拟探测
您的单元测试可以使用 fake_probe 替代,传递一个字典,它将像刚刚被探测过一样。
示例
config = fake_probe({
"ns1": {
"file": {
"key": "value"
}
}
})
# 然后
配置将是
贡献
============
欢迎提出问题和发送一些 pull request,我们将很高兴查看它们!
[](http://badge.fury.io/py/config-probe)
使命
=======
提供一种简单的代码使用配置自动发现过程。给定一个路径和一个模式列表,
结果配置将是一个指向任何配置的快捷方式。
## 使用方法
设置
config = probe(
path="path/to/my/files",
patterns=["path/(*)/file.yaml"]
)
使用它
print config.mynamespace.key
## 参数
- **path**
初始探测路径。模式将与路径下的文件结构进行测试,
并且它将在确定命名空间时被忽略。
- **patterns**
包含(或不包含)占位符 "(\*)" 的文件路径列表,以找到配置文件的位置。
模式的定义顺序定义了哪些键有优先级,最后一个是最相关的。
路径中的每个占位符都将导致结果配置中的命名空间。
例如,你有这样的模式
dir1/(*)/dir2/(*).yaml
如果这个模式找到文件: "dir1/**ns1**/dir2/**file**.yaml" 包含 "key: 'value'",则结果
配置将是
config.ns1.file.key == "value"
现在如果模式是
dir1/ns1/dir2/file.yaml
对于相同的文件,结果配置将简单地是
config.key == "value"
因此,您可以使用占位符 "(\*)" 命名空间结果配置,使用没有括号的 "\*" 来具有无命名空间的变量路径
dir1/(*)/dir2/*.yaml
config.ns1.key == "value"
## 模拟探测
您的单元测试可以使用 fake_probe 替代,传递一个字典,它将像刚刚被探测过一样。
示例
config = fake_probe({
"ns1": {
"file": {
"key": "value"
}
}
})
# 然后
配置将是
贡献
============
欢迎提出问题和发送一些 pull request,我们将很高兴查看它们!
项目详情
关闭
config-probe-0.2.0.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | e4a9050a3046fb5eef7f8ffb7593b33a8ac6a594122911c0a541ed573f1fbeae |
|
MD5 | ea8b28108cf7bbe21949f066dda6933e |
|
BLAKE2b-256 | e2be17f796ed7c2d8da893b7bc68494a1377cce23e4dd92fe9a88776059ef5d3 |