使用json模式验证目录结构
filemarx的Python项目详细描述
用于检查目录结构是否符合给定json模式的工具。
如果检查失败,根据您的配置,可以执行以下操作:
- 将缺陷输出到控制台
- 将列出所有缺陷的文件发送到Slack会议室
安装
使用pip就足够了
pip install filemarx
配置
您必须生成一个json模式文件,用于验证目录结构。 这方面的一个例子可以在samples/design.json文件中找到。
假设您的文件结构如下:
./anotherfile ./file1 ./somedir ./somedir/andanother ./somedir/andanother/someotherfile ./somedir/somefilehere ./somedir/anotherdir ./file2
那么生成的json将是
{"files":["anotherfile","file1","file2"],"dirs":{"somedir":{"files":["somefilehere"],"dirs":{"anotherdir":{"files":[],"dirs":{}},"andanother":{"files":["someotherfile"],"dirs":{}}}}}}
用法
该命令接受3个强制位置参数:
- 检查名称(可任意设置)
- 架构文件位置
- 要检查的目录
示例
filemarx Design samples/design.json /home/myself/designs
状态保持选项
如果在cron中运行filemarx,但不希望每分钟都出现错误,可以忽略 一旦被发现,会持续X秒。这可以通过组合选项-t来完成,这些选项设置 超时(以秒为单位)和-s,指示存储状态文件的位置。
# Only pop errors every hour filemarx -t 3600 -s /tmp/design_state.json Design samples/design.json /home/myself/designs
将结果推至松弛状态
filemarx可以连接到slack api,以便将错误推送到给定的slack通道。整齐 为此,您需要获得一个API Token,然后使用选项 --slack-token和--slack-channels。
# Send it all to Slack filemarx --slack-token 'get-your-own' --slack-channels '#general,#design' -t 3600 -s /tmp/design_state.json Design samples/design.json /home/myself/designs