Add Tdarr_Plugin_00td_filter_break_stack_if_processed

make-only-subtitle-default
HaveAGitGat 3 years ago
parent 198ce71116
commit e17e44f290

@ -0,0 +1,36 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_filter_break_stack_if_processed',
Stage: 'Pre-processing',
Name: 'Filter - break out of plugin stack if processed',
Type: 'Video',
Operation: 'Filter',
Description: `This plugin will break out of the plugin stack if the file has been processed
(i.e. if a new file has been created). In general, place it before your transcode plugin
(for example when trying to force h264 to h264 transcoding which is difficult to do with normal plugins)`,
Version: '1.00',
Tags: 'filter',
Inputs: [],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: true,
infoLog: '',
};
if (file.file !== otherArguments.originalLibraryFile.file) {
response.processFile = false;
response.infoLog = 'File has been processed, breaking out of plugin stack.';
} else {
response.infoLog = 'File has not been processed yet. Continuing to next plugin.';
}
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -0,0 +1,40 @@
/* eslint max-len: 0 */
const _ = require('lodash');
const run = require('../helpers/run');
const tests = [
{
input: {
file: _.cloneDeep(require('../sampleData/media/sampleH265_1.json')),
librarySettings: {},
inputs: {},
otherArguments: {
originalLibraryFile: _.cloneDeep(require('../sampleData/media/sampleH265_1.json')),
},
},
output: {
processFile: true,
infoLog: 'File has not been processed yet. Continuing to next plugin.',
},
},
{
input: {
file: _.cloneDeep(require('../sampleData/media/sampleH265_1.json')),
librarySettings: {},
inputs: {},
otherArguments: {
originalLibraryFile: (() => {
const file = _.cloneDeep(require('../sampleData/media/sampleH265_1.json'));
file.file += 'test';
return file;
})(),
},
},
output: {
processFile: false,
infoLog: 'File has been processed, breaking out of plugin stack.',
},
},
];
run(tests);
Loading…
Cancel
Save