DIRAC cfg文件读取器
项目描述
DIRAC cfg文件的解析器
diraccfg
为DIRAC及其相关项目使用的配置文件提供了一个解析器。
安装
pip install diraccfg
命令行使用
diraccfg
的命令行模式主要用于将配置转换为JSON文件,然后可以使用标准工具(如jq
)进行处理。
以下示例使用以下配置文件运行
DefaultModules = DIRAC
Sources
{
DIRAC = git://github.com/DIRACGrid/DIRAC.git
}
Releases
{
integration
{
Modules = DIRAC, WebAppDIRAC, VMDIRAC
Externals = v6r6p8
DIRACOS = master
}
v7r0-pre19
{
Modules = DIRAC, VMDIRAC:v2r4-pre2, RESTDIRAC:v0r5, COMDIRAC:v0r17, WebAppDIRAC:v4r0p7, OAuthDIRAC:v0r1-pre1
DIRACOS = master
}
v6r22p2
{
Modules = DIRAC, VMDIRAC:v2r4-pre2, RESTDIRAC:v0r6, COMDIRAC:v0r17, WebAppDIRAC:v4r0p7, OAuthDIRAC:v0r1-pre1
Externals = v6r6p8
DIRACOS = v1r3
}
v6r22p1
{
Modules = DIRAC, VMDIRAC:v2r4-pre2, RESTDIRAC:v0r6, COMDIRAC:v0r17, WebAppDIRAC:v4r0p7, OAuthDIRAC:v0r1-pre1
Externals = v6r6p8
DIRACOS = v1r3
}
}
以JSON格式打印
$ diraccfg as-json example.cfg
{"DefaultModules": "DIRAC", "Sources": {"DIRAC": "git://github.com/DIRACGrid/DIRAC.git"}, "Releases": {"integration": {"Modules": "DIRAC, WebAppDIRAC, VMDIRAC", "Externals": "v6r6p8", "DIRACOS": "master"}, "v7r0-pre19": {"Modules": "DIRAC, VMDIRAC:v2r4-pre2, RESTDIRAC:v0r5, COMDIRAC:v0r17, WebAppDIRAC:v4r0p7, OAuthDIRAC:v0r1-pre1", "DIRACOS": "master"}, "v6r22p2": {"Modules": "DIRAC, VMDIRAC:v2r4-pre2, RESTDIRAC:v0r6, COMDIRAC:v0r17, WebAppDIRAC:v4r0p7, OAuthDIRAC:v0r1-pre1", "Externals": "v6r6p8", "DIRACOS": "v1r3"}, "v6r22p1": {"Modules": "DIRAC, VMDIRAC:v2r4-pre2, RESTDIRAC:v0r6, COMDIRAC:v0r17, WebAppDIRAC:v4r0p7, OAuthDIRAC:v0r1-pre1", "Externals": "v6r6p8", "DIRACOS": "v1r3"}}}
使用jq
提取可用版本
$ diraccfg as-json example.cfg | jq '.Releases'
{
"integration": {
"Modules": "DIRAC, WebAppDIRAC, VMDIRAC",
"Externals": "v6r6p8",
"DIRACOS": "master"
},
"v7r0-pre19": {
"Modules": "DIRAC, VMDIRAC:v2r4-pre2, RESTDIRAC:v0r5, COMDIRAC:v0r17, WebAppDIRAC:v4r0p7, OAuthDIRAC:v0r1-pre1",
"DIRACOS": "master"
},
"v6r22p2": {
"Modules": "DIRAC, VMDIRAC:v2r4-pre2, RESTDIRAC:v0r6, COMDIRAC:v0r17, WebAppDIRAC:v4r0p7, OAuthDIRAC:v0r1-pre1",
"Externals": "v6r6p8",
"DIRACOS": "v1r3"
},
"v6r22p1": {
"Modules": "DIRAC, VMDIRAC:v2r4-pre2, RESTDIRAC:v0r6, COMDIRAC:v0r17, WebAppDIRAC:v4r0p7, OAuthDIRAC:v0r1-pre1",
"Externals": "v6r6p8",
"DIRACOS": "v1r3"
}
}
获取稳定版本号的排序列表
$ diraccfg as-json example.cfg | jq '.Releases' | diraccfg sort-versions
["v6r22p2", "v6r22p1"]
获取包括预发布版的版本号排序列表
$ diraccfg as-json example.cfg | jq '.Releases' | diraccfg sort-versions --allow-pre-releases
["v7r0-pre19", "v6r22p2", "v6r22p1"]
查找最新版本
$ diraccfg as-json example.cfg | jq '.Releases' | diraccfg sort-versions | jq -r '.[0]'
v6r22p2
$ diraccfg as-json example.cfg | jq '.Releases' | diraccfg sort-versions --allow-pre-releases | jq -r '.[0]'
v7r0-pre19
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪一个,请了解有关安装包的更多信息。
源分布
diraccfg-1.0.1.tar.gz (37.5 kB 查看哈希值)
构建分布
diraccfg-1.0.1-py2.py3-none-any.whl (24.8 kB 查看哈希值)
关闭
diraccfg-1.0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 79d1abba8520e707cdd482c5de98105caf27e78121c4c1e2273cc2329b5ed902 |
|
MD5 | 7037406c16002dfdc2d659ad0811156a |
|
BLAKE2b-256 | c58e352095193ee50b168fd64755c05644797bc6da27ac87dc93e4803383e6fb |
关闭
diraccfg-1.0.1-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5103e25208fd41c623a72ddd5775416633f97b376531c86fb4e79282871db218 |
|
MD5 | eece3b7ede431001420ae89e36465d78 |
|
BLAKE2b-256 | 9f90279f55fff9481f9e0424c3c97b24dc10004ec8d8f98ddf5afd07a7b79194 |