A tool to check that a directory structure conforms to a given JSON Schema.
In case of check failure, following actions can be taken, depending on your configuration:
Output defects to the console
Send a file listing all defects to a Slack conference room
Installation
Using pip should suffice
pip install filemarx
Configuration
You have to produce a JSON Schema file against which your directory’s structure will be validated. An example of this can be found in the samples/design.json file.
Let’s say that your file structure is this:
./anotherfile
./file1
./somedir
./somedir/andanother
./somedir/andanother/someotherfile
./somedir/somefilehere
./somedir/anotherdir
./file2
Then the produced JSON would be
{
"files":[
"anotherfile",
"file1",
"file2"
],
"dirs":{
"somedir":{
"files":[
"somefilehere"
],
"dirs":{
"anotherdir":{
"files":[
],
"dirs":{
}
},
"andanother":{
"files":[
"someotherfile"
],
"dirs":{
}
}
}
}
}
}
Usage
The command takes 3 mandatory positional arguments:
Check name (to be set arbitrarily)
Schema file location
Directory to be checked
Example
filemarx Design samples/design.json /home/myself/designs
State-keeping options
If you run filemarx in a cron but you don’t want errors to come up every minute, you can ignore them for X seconds once discovered. This can be done with a combination of options -t which sets a timeout (in seconds) and -s which indicate where to store the state file.
# Only pop errors every hour
filemarx -t 3600 -s /tmp/design_state.json Design samples/design.json /home/myself/designs
Pushing results to Slack
filemarx can connect to the Slack API in order to push errors to a given Slack channel. In order to do that, you need to get an API Token, then use options --slack-token and --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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file filemarx-0.1.0.tar.gz.
File metadata
- Download URL: filemarx-0.1.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2ead8ae0d0dba9bcc4d0ee241a645c62dfc8898d5bbd21e82f3e58cba425056
|
|
| MD5 |
3489b0b9ee19921ad7ea2cce7615fd3f
|
|
| BLAKE2b-256 |
2a7dae018dba250a2d949de1c676757df3a2de76e6027b7ba630994176e9bf27
|