mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-10-24 22:30:10 +00:00
Allows to configure external commands and provide different arguments
based on runtime values, like language. It extends the current config
of a command to allow a `arg-mappings` section. An example for
ocrmypdf:
```conf
ocrmypdf = {
enabled = true
command = {
program = "ocrmypdf"
### new arg-mappings
arg-mappings = {
"mylang" = {
value = "{{lang}}"
mappings = [
{
matches = "deu"
args = [ "-l", "deu", "--pdf-renderer", "sandwich" ]
},
{
matches = ".*"
args = [ "-l", "{{lang}}" ]
}
]
}
}
#### end new arg-mappings
args = [
### will be replaced with corresponding args from "mylang" mapping
"{{mylang}}",
"--skip-text",
"--deskew",
"-j", "1",
"{{infile}}",
"{{outfile}}"
]
timeout = "5 minutes"
}
working-dir = ${java.io.tmpdir}"/docspell-convert"
}
```
The whole section will be first processed to replace all `{{…}}`
patterns with corresponding values. Then `arg-mappings` will be looked
at and the first match (value == matches) in its `mappings` array is
used to replace its name in the arguments to the command.