!config # Arara, the cool TeX automation tool # Copyright (c) 2023, Island of TeX # All rights reserved. # # This rule is part of arara. identifier: pythontex name: PythonTeX authors: - Island of TeX commands: - name: PythonTeX wrapper command: > @{ return getCommand('pythontex', encoding, errorcode, runall, rerun, hashdependencies, jobs, verbose, options, reference.fileName); } arguments: - identifier: encoding flag: > @{ return '--encoding='.concat(parameters.encoding); } - identifier: errorcode flag: > @{ return '--error-exit-code='.concat(isTrue(parameters.errorcode, 'true', 'false')); } - identifier: runall flag: > @{ return '--runall='.concat(isTrue(parameters.runall, 'true', 'false')); } - identifier: rerun flag: > @{ if ([ 'never', 'modified', 'errors', 'warnings', 'always' ].contains(parameters.rerun)) { return '--rerun='.concat(parameters.rerun); } else { throwError('The provided value is not valid.'); } } - identifier: hashdependencies flag: > @{ return '--hashdependencies='.concat(isTrue(parameters.hashdependencies, 'true', 'false')); } - identifier: jobs flag: > @{ return [ '--jobs', parameters.jobs ]; } - identifier: verbose flag: > @{ return isTrue(parameters.verbose, '--verbose'); } - identifier: options flag: > @{ if (isList(parameters.options)) { return parameters.options; } else { throwError('I was expecting a list of options.'); } }