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
Metadata
Release files for filemarx 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| filemarx-0.1.0.tar.gz | 4.6 kB | Details |
Release files / filemarx-0.1.0.tar.gz
| Download URL | filemarx-0.1.0.tar.gz |
|---|---|
| Size | 4.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b2ead8ae0d0dba9bcc4d0ee241a645c62dfc8898d5bbd21e82f3e58cba425056
|
|
BLAKE2b-256 checksum How to use checksums |
2a7dae018dba250a2d949de1c676757df3a2de76e6027b7ba630994176e9bf27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |