Beta plugins

make-only-subtitle-default
HaveAGitGat 2 years ago
parent 50a795dc97
commit e2cb06f0f2

@ -48,6 +48,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -47,6 +47,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -57,6 +57,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -57,6 +57,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: 2, sidebarPosition: 2,
icon: 'faPlay', icon: 'faPlay',
inputs: [], inputs: [],

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -12,6 +12,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -48,6 +48,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -24,6 +24,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: 1, sidebarPosition: 1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -15,6 +15,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [], inputs: [],

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [], inputs: [],

@ -52,6 +52,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [ inputs: [
@ -142,6 +144,16 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function
} }
args.jobLog("Input path: ".concat(args.inputFileObj._id)); args.jobLog("Input path: ".concat(args.inputFileObj._id));
args.jobLog("Output path: ".concat(outputPath)); args.jobLog("Output path: ".concat(outputPath));
if (args.inputFileObj._id === ouputFilePath) {
args.jobLog('Input and output path are the same, skipping copy.');
return [2 /*return*/, {
outputFileObj: {
_id: args.inputFileObj._id,
},
outputNumber: 1,
variables: args.variables,
}];
}
args.deps.fsextra.ensureDirSync(outputPath); args.deps.fsextra.ensureDirSync(outputPath);
return [4 /*yield*/, fs_1.promises.copyFile(args.inputFileObj._id, ouputFilePath)]; return [4 /*yield*/, fs_1.promises.copyFile(args.inputFileObj._id, ouputFilePath)];
case 1: case 1:

@ -53,6 +53,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [],
@ -85,6 +87,16 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function
}); });
args.jobLog("Input path: ".concat(args.inputFileObj._id)); args.jobLog("Input path: ".concat(args.inputFileObj._id));
args.jobLog("Output path: ".concat(outputPath)); args.jobLog("Output path: ".concat(outputPath));
if (args.inputFileObj._id === ouputFilePath) {
args.jobLog('Input and output path are the same, skipping copy.');
return [2 /*return*/, {
outputFileObj: {
_id: args.inputFileObj._id,
},
outputNumber: 1,
variables: args.variables,
}];
}
args.deps.fsextra.ensureDirSync(outputPath); args.deps.fsextra.ensureDirSync(outputPath);
return [4 /*yield*/, fs_1.promises.copyFile(args.inputFileObj._id, ouputFilePath)]; return [4 /*yield*/, fs_1.promises.copyFile(args.inputFileObj._id, ouputFilePath)];
case 1: case 1:

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -51,6 +51,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [ inputs: [
@ -124,6 +126,16 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function
}); });
args.jobLog("Input path: ".concat(args.inputFileObj._id)); args.jobLog("Input path: ".concat(args.inputFileObj._id));
args.jobLog("Output path: ".concat(ouputFilePath)); args.jobLog("Output path: ".concat(ouputFilePath));
if (args.inputFileObj._id === ouputFilePath) {
args.jobLog('Input and output path are the same, skipping move.');
return [2 /*return*/, {
outputFileObj: {
_id: args.inputFileObj._id,
},
outputNumber: 1,
variables: args.variables,
}];
}
args.deps.fsextra.ensureDirSync(outputPath); args.deps.fsextra.ensureDirSync(outputPath);
return [4 /*yield*/, (0, fileUtils_1.moveFileAndValidate)({ return [4 /*yield*/, (0, fileUtils_1.moveFileAndValidate)({
inputPath: args.inputFileObj._id, inputPath: args.inputFileObj._id,

@ -47,6 +47,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [],
@ -71,6 +73,16 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function
container = (0, fileUtils_1.getContainer)(args.inputFileObj._id); container = (0, fileUtils_1.getContainer)(args.inputFileObj._id);
outputDir = (0, fileUtils_1.getFileAbosluteDir)(args.originalLibraryFile._id); outputDir = (0, fileUtils_1.getFileAbosluteDir)(args.originalLibraryFile._id);
ouputFilePath = "".concat(outputDir, "/").concat(fileName, ".").concat(container); ouputFilePath = "".concat(outputDir, "/").concat(fileName, ".").concat(container);
if (args.inputFileObj._id === ouputFilePath) {
args.jobLog('Input and output path are the same, skipping move.');
return [2 /*return*/, {
outputFileObj: {
_id: args.inputFileObj._id,
},
outputNumber: 1,
variables: args.variables,
}];
}
return [4 /*yield*/, (0, fileUtils_1.moveFileAndValidate)({ return [4 /*yield*/, (0, fileUtils_1.moveFileAndValidate)({
inputPath: args.inputFileObj._id, inputPath: args.inputFileObj._id,
outputPath: ouputFilePath, outputPath: ouputFilePath,

@ -47,6 +47,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [
@ -85,6 +87,16 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function
newName = newName.replace(/\${container}/g, (0, fileUtils_1.getContainer)(args.inputFileObj._id)); newName = newName.replace(/\${container}/g, (0, fileUtils_1.getContainer)(args.inputFileObj._id));
fileDir = (0, fileUtils_1.getFileAbosluteDir)(args.inputFileObj._id); fileDir = (0, fileUtils_1.getFileAbosluteDir)(args.inputFileObj._id);
newPath = "".concat(fileDir, "/").concat(newName); newPath = "".concat(fileDir, "/").concat(newName);
if (args.inputFileObj._id === newPath) {
args.jobLog('Input and output path are the same, skipping rename.');
return [2 /*return*/, {
outputFileObj: {
_id: args.inputFileObj._id,
},
outputNumber: 1,
variables: args.variables,
}];
}
return [4 /*yield*/, (0, fileUtils_1.moveFileAndValidate)({ return [4 /*yield*/, (0, fileUtils_1.moveFileAndValidate)({
inputPath: args.inputFileObj._id, inputPath: args.inputFileObj._id,
outputPath: newPath, outputPath: newPath,

@ -41,12 +41,14 @@ var fileUtils_1 = require("../../../../FlowHelpers/1.0.0/fileUtils");
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({ var details = function () { return ({
name: 'Replace Original File', name: 'Replace Original File',
description: 'Replace the original file', description: 'Replace the original file. If the file hasn\'t changed then no action is taken.',
style: { style: {
borderColor: 'green', borderColor: 'green',
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [],

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [],

@ -49,6 +49,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: true, isStartPlugin: true,
pType: 'start',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -0,0 +1,45 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0;
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({
name: 'Comment',
nameUI: {
type: 'textarea',
style: {
height: '250px',
},
},
description: "Add a comment to your flow. Can place anywhere and link together.\n Any file input into the comment will be passed straight through.",
style: {
borderColor: 'white',
borderRadius: '10px',
backgroundColor: '#043775',
},
tags: '',
isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1,
icon: 'faComment',
inputs: [],
outputs: [
{
number: 1,
tooltip: 'Continue to next plugin',
},
],
}); };
exports.details = details;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
};
};
exports.plugin = plugin;

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faExclamationTriangle', icon: 'faExclamationTriangle',
inputs: [], inputs: [],

@ -6,14 +6,26 @@ var details = function () { return ({
name: 'Go To Flow', name: 'Go To Flow',
description: 'Go to a different flow', description: 'Go to a different flow',
style: { style: {
borderColor: 'red', borderColor: 'green',
opacity: 0.5,
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [
{
name: 'flowId',
type: 'string',
defaultValue: '',
inputUI: {
type: 'dropdown',
options: [],
},
tooltip: 'Specify flow ID to go to',
},
],
outputs: [], outputs: [],
}); }; }); };
exports.details = details; exports.details = details;

@ -0,0 +1,37 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0;
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({
name: 'On Flow Error',
description: "Runs if an error occurs in this specific flow. \n Won't run if error occurs in after going to a different flow (unless that flow comes back to this one).",
style: {
borderColor: 'red',
},
tags: '',
isStartPlugin: false,
pType: 'onFlowError',
requiresVersion: '2.11.01',
sidebarPosition: -1,
icon: 'faArrowRight',
inputs: [],
outputs: [
{
number: 1,
tooltip: 'Continue to next plugin',
},
],
}); };
exports.details = details;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
};
};
exports.plugin = plugin;

@ -0,0 +1,37 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0;
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({
name: 'Require Review',
description: "Makes the flow pause.\n The file will stay in the staging section on the Tdarr tab until the user clicks the \"Reviewed\" button.\n ",
style: {
borderColor: 'yellow',
},
tags: '',
isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1,
icon: 'faHand',
inputs: [],
outputs: [
{
number: 1,
tooltip: 'Continue to next plugin',
},
],
}); };
exports.details = details;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
var plugin = function (args) {
var lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
};
};
exports.plugin = plugin;

@ -48,6 +48,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -1,4 +1,40 @@
"use strict"; "use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0; exports.plugin = exports.details = void 0;
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
@ -7,13 +43,63 @@ var details = function () { return ({
description: 'Send Web Request', description: 'Send Web Request',
style: { style: {
borderColor: 'green', borderColor: 'green',
opacity: 0.5,
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [
{
name: 'method',
type: 'string',
defaultValue: 'post',
inputUI: {
type: 'dropdown',
options: [
'get',
'post',
'put',
'delete',
],
},
tooltip: 'Specify request method',
},
{
name: 'requestUrl',
type: 'string',
defaultValue: 'http://example.com',
inputUI: {
type: 'text',
},
tooltip: 'Specify request URL',
},
{
name: 'requestHeaders',
type: 'string',
defaultValue: "{\n \"Content-Type\": \"application/json\"\n}",
inputUI: {
type: 'textarea',
style: {
height: '100px',
},
},
tooltip: 'Specify request URL',
},
{
name: 'requestBody',
type: 'string',
defaultValue: "{\n \"test\": \"test\"\n}",
inputUI: {
type: 'textarea',
style: {
height: '100px',
},
},
tooltip: 'Specify request body',
},
],
outputs: [ outputs: [
{ {
number: 1, number: 1,
@ -23,14 +109,43 @@ var details = function () { return ({
}); }; }); };
exports.details = details; exports.details = details;
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
var plugin = function (args) { var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function () {
var lib = require('../../../../../methods/lib')(); var lib, method, requestUrl, requestHeaders, requestBody, requestConfig, res, err_1;
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign return __generator(this, function (_a) {
args.inputs = lib.loadDefaultValues(args.inputs, details); switch (_a.label) {
return { case 0:
outputFileObj: args.inputFileObj, lib = require('../../../../../methods/lib')();
outputNumber: 1, // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
variables: args.variables, args.inputs = lib.loadDefaultValues(args.inputs, details);
}; method = String(args.inputs.method);
}; requestUrl = String(args.inputs.requestUrl);
requestHeaders = JSON.parse(String(args.inputs.requestHeaders));
requestBody = JSON.parse(String(args.inputs.requestBody));
requestConfig = {
method: method,
url: requestUrl,
headers: requestHeaders,
data: requestBody,
};
_a.label = 1;
case 1:
_a.trys.push([1, 3, , 4]);
return [4 /*yield*/, args.deps.axios(requestConfig)];
case 2:
res = _a.sent();
args.jobLog("Web request succeeded: Status Code: ".concat(res.status));
return [3 /*break*/, 4];
case 3:
err_1 = _a.sent();
args.jobLog('Web Request Failed');
args.jobLog(JSON.stringify(err_1));
throw new Error('Web Request Failed');
case 4: return [2 /*return*/, {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
}];
}
});
}); };
exports.plugin = plugin; exports.plugin = plugin;

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [], inputs: [],

@ -3,13 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.details = void 0; exports.plugin = exports.details = void 0;
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
var details = function () { return ({ var details = function () { return ({
name: 'Check HDR', name: 'Check HDR Video',
description: 'Check if video is HDR', description: 'Check if video is HDR',
style: { style: {
borderColor: 'orange', borderColor: 'orange',
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [], inputs: [],

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -10,6 +10,8 @@ var details = function () { return ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [], inputs: [],

@ -11,6 +11,8 @@ var details = function () { return ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -0,0 +1,109 @@
"use strict";
/* eslint-disable no-template-curly-in-string */
/* eslint-disable import/prefer-default-export */
Object.defineProperty(exports, "__esModule", { value: true });
exports.details = void 0;
var details = function () { return ({
"name": "Chapter 1: Getting Started",
"description": "Chapter 1: Getting Started",
"tags": "",
"flowPlugins": [
{
"name": "Input File",
"sourceRepo": "Community",
"pluginName": "inputFile",
"version": "1.0.0",
"id": "_YTuyCZg3",
"position": {
"x": 644.7725474007168,
"y": -59.78556037646227
}
},
{
"name": "Replace Original File",
"sourceRepo": "Community",
"pluginName": "replaceOriginalFile",
"version": "1.0.0",
"id": "RQzydYbay",
"position": {
"x": 644.8785689715966,
"y": 285.63446752627516
}
},
{
"name": "1. Hello and welcome to Tdarr! This is a comment plugin. It doesn't do anything except help explain what's going on in a flow! You can place them anywhere and even link them together.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "df5cejfZP",
"position": {
"x": 774.8672137292031,
"y": -254.93856109034408
}
},
{
"name": "2. See! This comment won't do anything. The file from the previous plugin will be passed straight to the next plugin",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "30CajwYP2",
"position": {
"x": 644.6915712919753,
"y": 135.90533672888392
}
},
{
"name": "3. This here is an input file plugin and it's where every flow starts. You can only have ONE of these per flow.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "734dA76hg",
"position": {
"x": 444.5704060029551,
"y": -3.4693570957774114
}
},
{
"name": "4. That's it for this one, see you in the next chapter!",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "rkYonbPgX",
"position": {
"x": 443.9627448274695,
"y": 332.6480632642012
}
}
],
"flowEdges": [
{
"source": "_YTuyCZg3",
"sourceHandle": "1",
"target": "30CajwYP2",
"targetHandle": null,
"id": "HUBIf10ny"
},
{
"source": "30CajwYP2",
"sourceHandle": "1",
"target": "RQzydYbay",
"targetHandle": null,
"id": "Gd19X19w1"
},
{
"source": "df5cejfZP",
"sourceHandle": "1",
"target": "30CajwYP2",
"targetHandle": null,
"id": "0EA92XgvP"
},
{
"source": "734dA76hg",
"sourceHandle": "1",
"target": "rkYonbPgX",
"targetHandle": null,
"id": "lXbYouTsz"
}
]
}); };
exports.details = details;

@ -0,0 +1,188 @@
"use strict";
/* eslint-disable no-template-curly-in-string */
/* eslint-disable import/prefer-default-export */
Object.defineProperty(exports, "__esModule", { value: true });
exports.details = void 0;
var details = function () { return ({
"name": "Chapter 2: The Basics",
"description": "Chapter 2: The Basics",
"tags": "",
"flowPlugins": [
{
"name": "Input File",
"sourceRepo": "Community",
"pluginName": "inputFile",
"version": "1.0.0",
"id": "p2KPpRjnB",
"position": {
"x": 414.1115477468154,
"y": -216.87055056329626
}
},
{
"name": "1. The flow follows the current 'working file' which we can run checks and take actions on.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "ecLynt2i0",
"position": {
"x": 197.4536903827362,
"y": -265.54506622009336
}
},
{
"name": "Replace Original File",
"sourceRepo": "Community",
"pluginName": "replaceOriginalFile",
"version": "1.0.0",
"id": "jUig7_cRU",
"position": {
"x": 439.02078192278447,
"y": 122.5624161723565
}
},
{
"name": "Rename File to have _BigFile",
"sourceRepo": "Community",
"pluginName": "renameFile",
"version": "1.0.0",
"inputsDB": {
"fileRename": "${fileName}_BigFile.${container}"
},
"id": "2l0pB_oXW",
"position": {
"x": 257.94626475719076,
"y": -21.078426771503985
}
},
{
"name": "Check File Size",
"sourceRepo": "Community",
"pluginName": "checkFileSize",
"version": "1.0.0",
"inputsDB": {
"greaterThan": "1",
"lessThan": "10000"
},
"id": "oDkceuMNL",
"position": {
"x": 413.7748155871969,
"y": -110.90469509295968
}
},
{
"name": "Each plugin can only have one input handle but many plugins can link to it. Plugins which only check something are typically orange coloured and have 2 or more outputs.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "HTvMe6FSV",
"position": {
"x": 34.402701566604065,
"y": -184.71873806260285
}
},
{
"name": "Once you make an action on a file, in almost all cases the output is the new file. It will be located in your library cache folder.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "3O3ECJdF-",
"position": {
"x": 33.1114649694174,
"y": 113.19141666640903
}
},
{
"name": "Typical usage is to replace the original file. So this plugin will replace the original file with the new file.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "qA8hT1mmP",
"position": {
"x": 355.2680532661178,
"y": 199.7482565776084
}
},
{
"name": "This flow route doesn't change the file, so the Replace Original File plugin won't do anything and the flow will end succesffully.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "1vBp13H02",
"position": {
"x": 597.7143477707415,
"y": -48.77347490679115
}
},
{
"name": "Double click on a plugin to see what each GREEN output does. Ignore the RED outputs for now.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "s-m8qOhJ7",
"position": {
"x": 34.4143205430116,
"y": -5.644569445757767
}
}
],
"flowEdges": [
{
"source": "p2KPpRjnB",
"sourceHandle": "1",
"target": "oDkceuMNL",
"targetHandle": null,
"id": "S8inufSTF"
},
{
"source": "oDkceuMNL",
"sourceHandle": "1",
"target": "2l0pB_oXW",
"targetHandle": null,
"id": "LFCRv0WUh"
},
{
"source": "2l0pB_oXW",
"sourceHandle": "1",
"target": "jUig7_cRU",
"targetHandle": null,
"id": "w0K3dKylI"
},
{
"source": "oDkceuMNL",
"sourceHandle": "2",
"target": "jUig7_cRU",
"targetHandle": null,
"id": "SNdz3urrJ"
},
{
"source": "ecLynt2i0",
"sourceHandle": "1",
"target": "HTvMe6FSV",
"targetHandle": null,
"id": "7qPHR6V9P"
},
{
"source": "3O3ECJdF-",
"sourceHandle": "1",
"target": "qA8hT1mmP",
"targetHandle": null,
"id": "GjDmOX_EI"
},
{
"source": "HTvMe6FSV",
"sourceHandle": "1",
"target": "s-m8qOhJ7",
"targetHandle": null,
"id": "0bPlyyR9Q"
},
{
"source": "s-m8qOhJ7",
"sourceHandle": "1",
"target": "3O3ECJdF-",
"targetHandle": null,
"id": "Mxxly19vC"
}
]
}); };
exports.details = details;

@ -0,0 +1,224 @@
"use strict";
/* eslint-disable no-template-curly-in-string */
/* eslint-disable import/prefer-default-export */
Object.defineProperty(exports, "__esModule", { value: true });
exports.details = void 0;
var details = function () { return ({
"name": "Chapter 3: FFmpeg Command",
"description": "Chapter 3: FFmpeg Command",
"tags": "",
"flowPlugins": [
{
"name": "Input File",
"sourceRepo": "Community",
"pluginName": "inputFile",
"version": "1.0.0",
"id": "gtZCtmY-l",
"position": {
"x": 648.6536861377089,
"y": -82.45578042880155
}
},
{
"name": "Check Video Codec",
"sourceRepo": "Community",
"pluginName": "checkVideoCodec",
"version": "1.0.0",
"id": "PpLF-5jxp",
"position": {
"x": 648.9333795070321,
"y": -12.529435106431094
}
},
{
"name": "Replace Original File",
"sourceRepo": "Community",
"pluginName": "replaceOriginalFile",
"version": "1.0.0",
"id": "QdLvoNjuG",
"position": {
"x": 723.9430232247286,
"y": 534.7914903208923
}
},
{
"name": "Begin Command",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandStart",
"version": "1.0.0",
"id": "-kY9osnGE",
"position": {
"x": 399.6705241883612,
"y": 143.02276817432977
}
},
{
"name": "Execute",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandExecute",
"version": "1.0.0",
"id": "pmoPx8W0W",
"position": {
"x": 400.42838247161643,
"y": 438.58749864385743
}
},
{
"name": "Set Container",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandSetContainer",
"version": "1.0.0",
"id": "-DEIJA3Pf",
"position": {
"x": 401.1862407548717,
"y": 335.51877212115033
}
},
{
"name": "Set Video Encoder",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandSetVideoEncoder",
"version": "1.0.0",
"id": "U0fVPXskr",
"position": {
"x": 400.1862407548716,
"y": 249.12292783005773
}
},
{
"name": "The FFmpeg Command plugins dynamically create an FFmpeg command depending on the input file",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "hGnpEHnk5",
"position": {
"x": 254.91444207269103,
"y": -44.61887485112061
}
},
{
"name": "You must always begin an FFmpeg command using the 'Begin Command' Plugin",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "saj94a135",
"position": {
"x": 201.288800916537,
"y": 100.94856498487928
}
},
{
"name": "In this example, if the video file is already in h265/hevc and mkv container, no action will be taken on the file. To force re-encoding, you can use the forceEncoding option on the Video Encoder plugin.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "sb5MvVryc",
"position": {
"x": 201.61485276007585,
"y": 222.09640730256172
}
},
{
"name": "Once the FFmpeg command has been created, you need to execute it using this plugin.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "V0QGN5PKA",
"position": {
"x": 202.61485276007582,
"y": 440.0964073025617
}
},
{
"name": "Once again, the output contains the new cache file (or the original file if no action was taken on the file). If there's a new cache file, the 'Replace Original File' plugin will replace the original file, else it will do nothing.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "i4eODNlBc",
"position": {
"x": 536.6148527600759,
"y": 568.0964073025617
}
}
],
"flowEdges": [
{
"source": "PpLF-5jxp",
"sourceHandle": "1",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "ldiZljXp2"
},
{
"source": "gtZCtmY-l",
"sourceHandle": "1",
"target": "PpLF-5jxp",
"targetHandle": null,
"id": "Cs5aBSUks"
},
{
"source": "-kY9osnGE",
"sourceHandle": "1",
"target": "U0fVPXskr",
"targetHandle": null,
"id": "wuqNLcC1D"
},
{
"source": "U0fVPXskr",
"sourceHandle": "1",
"target": "-DEIJA3Pf",
"targetHandle": null,
"id": "Coq5pIs3c"
},
{
"source": "-DEIJA3Pf",
"sourceHandle": "1",
"target": "pmoPx8W0W",
"targetHandle": null,
"id": "fGjbMXOng"
},
{
"source": "PpLF-5jxp",
"sourceHandle": "2",
"target": "-kY9osnGE",
"targetHandle": null,
"id": "E5NHstmdF"
},
{
"source": "pmoPx8W0W",
"sourceHandle": "1",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "k9JywvYcK"
},
{
"source": "hGnpEHnk5",
"sourceHandle": "1",
"target": "saj94a135",
"targetHandle": null,
"id": "dX6DiWPJX"
},
{
"source": "saj94a135",
"sourceHandle": "1",
"target": "sb5MvVryc",
"targetHandle": null,
"id": "0MAqJvu_e"
},
{
"source": "sb5MvVryc",
"sourceHandle": "1",
"target": "V0QGN5PKA",
"targetHandle": null,
"id": "57NrKKG2n"
},
{
"source": "V0QGN5PKA",
"sourceHandle": "1",
"target": "i4eODNlBc",
"targetHandle": null,
"id": "BHwljK8rj"
}
]
}); };
exports.details = details;

@ -0,0 +1,213 @@
"use strict";
/* eslint-disable no-template-curly-in-string */
/* eslint-disable import/prefer-default-export */
Object.defineProperty(exports, "__esModule", { value: true });
exports.details = void 0;
var details = function () { return ({
"name": "Chapter 4: Flow Errors Part 1",
"description": "Chapter 4: Flow Errors Part 1",
"tags": "",
"flowPlugins": [
{
"name": "Input File",
"sourceRepo": "Community",
"pluginName": "inputFile",
"version": "1.0.0",
"id": "gtZCtmY-l",
"position": {
"x": 648.6536861377089,
"y": -82.45578042880155
}
},
{
"name": "Check Video Codec",
"sourceRepo": "Community",
"pluginName": "checkVideoCodec",
"version": "1.0.0",
"id": "PpLF-5jxp",
"position": {
"x": 752.4065242952165,
"y": 51.12406033129332
}
},
{
"name": "Replace Original File",
"sourceRepo": "Community",
"pluginName": "replaceOriginalFile",
"version": "1.0.0",
"id": "QdLvoNjuG",
"position": {
"x": 773.1888091521793,
"y": 727.583503313465
}
},
{
"name": "Begin Command",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandStart",
"version": "1.0.0",
"id": "-kY9osnGE",
"position": {
"x": 399.6705241883612,
"y": 143.02276817432977
}
},
{
"name": "Execute",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandExecute",
"version": "1.0.0",
"id": "pmoPx8W0W",
"position": {
"x": 416.1451226612283,
"y": 433.3485852473201
}
},
{
"name": "Set Container",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandSetContainer",
"version": "1.0.0",
"id": "-DEIJA3Pf",
"position": {
"x": 401.1862407548717,
"y": 335.51877212115033
}
},
{
"name": "Set Video Encoder",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandSetVideoEncoder",
"version": "1.0.0",
"id": "U0fVPXskr",
"position": {
"x": 400.1862407548716,
"y": 249.12292783005773
}
},
{
"name": "If an unhandled error occurs during the flow, the flow will stop and the file will be moved to the Transcode: Error/Cancelled tab. You can then review the job report to see what went wrong.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "mNaOzfS0Y",
"position": {
"x": 604.5850500985517,
"y": 166.18413013606266
}
},
{
"name": "Fail Flow",
"sourceRepo": "Community",
"pluginName": "failFlow",
"version": "1.0.0",
"id": "mNwoZNlmo",
"position": {
"x": 616.8564543703576,
"y": 578.3209514237449
}
},
{
"name": "Compare File Size",
"sourceRepo": "Community",
"pluginName": "compareFileSize",
"version": "1.0.0",
"id": "YGd45fK8d",
"position": {
"x": 518.9335431151374,
"y": 502.8688871164036
}
},
{
"name": "You can also force a flow to fail which can be useful in certain situation such as here.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "9QkIvxxxx",
"position": {
"x": 678.3646507954192,
"y": 429.7476734555484
}
}
],
"flowEdges": [
{
"source": "PpLF-5jxp",
"sourceHandle": "1",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "ldiZljXp2"
},
{
"source": "gtZCtmY-l",
"sourceHandle": "1",
"target": "PpLF-5jxp",
"targetHandle": null,
"id": "Cs5aBSUks"
},
{
"source": "-kY9osnGE",
"sourceHandle": "1",
"target": "U0fVPXskr",
"targetHandle": null,
"id": "wuqNLcC1D"
},
{
"source": "U0fVPXskr",
"sourceHandle": "1",
"target": "-DEIJA3Pf",
"targetHandle": null,
"id": "Coq5pIs3c"
},
{
"source": "-DEIJA3Pf",
"sourceHandle": "1",
"target": "pmoPx8W0W",
"targetHandle": null,
"id": "fGjbMXOng"
},
{
"source": "PpLF-5jxp",
"sourceHandle": "2",
"target": "-kY9osnGE",
"targetHandle": null,
"id": "E5NHstmdF"
},
{
"source": "pmoPx8W0W",
"sourceHandle": "1",
"target": "YGd45fK8d",
"targetHandle": null,
"id": "bldP67hmm"
},
{
"source": "YGd45fK8d",
"sourceHandle": "1",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "fw9Le5zqo"
},
{
"source": "YGd45fK8d",
"sourceHandle": "2",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "wd7SmimpM"
},
{
"source": "YGd45fK8d",
"sourceHandle": "3",
"target": "mNwoZNlmo",
"targetHandle": null,
"id": "RmpqCf-Vh"
},
{
"source": "mNaOzfS0Y",
"sourceHandle": "1",
"target": "9QkIvxxxx",
"targetHandle": null,
"id": "4Yez6rEN2"
}
]
}); };
exports.details = details;

@ -0,0 +1,307 @@
"use strict";
/* eslint-disable no-template-curly-in-string */
/* eslint-disable import/prefer-default-export */
Object.defineProperty(exports, "__esModule", { value: true });
exports.details = void 0;
var details = function () { return ({
"name": "Chapter 4: Flow Errors Part 2 - On Flow Error",
"description": "Chapter 4: Flow Errors Part 2 - On Flow Error",
"tags": "",
"flowPlugins": [
{
"name": "Input File",
"sourceRepo": "Community",
"pluginName": "inputFile",
"version": "1.0.0",
"id": "gtZCtmY-l",
"position": {
"x": 648.6536861377089,
"y": -82.45578042880155
}
},
{
"name": "Check Video Codec",
"sourceRepo": "Community",
"pluginName": "checkVideoCodec",
"version": "1.0.0",
"id": "PpLF-5jxp",
"position": {
"x": 752.4065242952165,
"y": 51.12406033129332
}
},
{
"name": "Replace Original File",
"sourceRepo": "Community",
"pluginName": "replaceOriginalFile",
"version": "1.0.0",
"id": "QdLvoNjuG",
"position": {
"x": 773.1888091521793,
"y": 727.583503313465
}
},
{
"name": "Begin Command",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandStart",
"version": "1.0.0",
"id": "-kY9osnGE",
"position": {
"x": 399.6705241883612,
"y": 143.02276817432977
}
},
{
"name": "Execute",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandExecute",
"version": "1.0.0",
"id": "pmoPx8W0W",
"position": {
"x": 416.1451226612283,
"y": 433.3485852473201
}
},
{
"name": "Set Container",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandSetContainer",
"version": "1.0.0",
"id": "-DEIJA3Pf",
"position": {
"x": 401.1862407548717,
"y": 335.51877212115033
}
},
{
"name": "Set Video Encoder",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandSetVideoEncoder",
"version": "1.0.0",
"id": "U0fVPXskr",
"position": {
"x": 400.1862407548716,
"y": 249.12292783005773
}
},
{
"name": "Fail Flow",
"sourceRepo": "Community",
"pluginName": "failFlow",
"version": "1.0.0",
"id": "mNwoZNlmo",
"position": {
"x": 616.8564543703576,
"y": 578.3209514237449
}
},
{
"name": "Compare File Size",
"sourceRepo": "Community",
"pluginName": "compareFileSize",
"version": "1.0.0",
"id": "YGd45fK8d",
"position": {
"x": 518.9335431151374,
"y": 502.8688871164036
}
},
{
"name": "On Flow Error",
"sourceRepo": "Community",
"pluginName": "onFlowError",
"version": "1.0.0",
"id": "yMWso-uZa",
"position": {
"x": 922.4197900595414,
"y": 161.088098623682
}
},
{
"name": "1. To handle an error that occurs anywhere in this specifc flow, you can use the 'On Flow Error' plugin.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "jpEn9FVQX",
"position": {
"x": 1018.5785464566798,
"y": 65.98583847747655
}
},
{
"name": "All unhandled errors and the 'Fail Flow' plugin IN THIS FLOW will trigger the 'On Flow Error' plugin IN THIS FLOW",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "vRFTPo0p5",
"position": {
"x": 698.3866844766682,
"y": 451.2472106052397
}
},
{
"name": "If another error occurs in the 'On Flow Error' flow then the flow will end and the file will be moved to the transcode 'Transcode: Error/Cancelled' tab. The 'On Flow Error' plugin will NOT be run again (to prevent infinite error loops)",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "fAQouEkEY",
"position": {
"x": 1183.421069816697,
"y": 228.19157008625297
}
},
{
"name": "Send Web Request",
"sourceRepo": "Community",
"pluginName": "webRequest",
"version": "1.0.0",
"id": "42P9lb0B3",
"position": {
"x": 897.7260729664589,
"y": 469.1243455181426
}
},
{
"name": "Even if all the plugins in the error flow complete successfully, the file will still be moved to the 'Transcode: Error/Cancelled' tab at the end.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "Ke1S57we6",
"position": {
"x": 1006.3188415680227,
"y": 541.3784972055968
}
},
{
"name": "Fail Flow",
"sourceRepo": "Community",
"pluginName": "failFlow",
"version": "1.0.0",
"id": "yj3grm5d8",
"position": {
"x": 1047.7090907308577,
"y": 394.7331214427515
}
},
{
"name": "Check File Exists",
"sourceRepo": "Community",
"pluginName": "checkFileExists",
"version": "1.0.0",
"id": "S_rVuKn8S",
"position": {
"x": 926.2665476107438,
"y": 277.7066707997331
}
}
],
"flowEdges": [
{
"source": "PpLF-5jxp",
"sourceHandle": "1",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "ldiZljXp2"
},
{
"source": "gtZCtmY-l",
"sourceHandle": "1",
"target": "PpLF-5jxp",
"targetHandle": null,
"id": "Cs5aBSUks"
},
{
"source": "-kY9osnGE",
"sourceHandle": "1",
"target": "U0fVPXskr",
"targetHandle": null,
"id": "wuqNLcC1D"
},
{
"source": "U0fVPXskr",
"sourceHandle": "1",
"target": "-DEIJA3Pf",
"targetHandle": null,
"id": "Coq5pIs3c"
},
{
"source": "-DEIJA3Pf",
"sourceHandle": "1",
"target": "pmoPx8W0W",
"targetHandle": null,
"id": "fGjbMXOng"
},
{
"source": "PpLF-5jxp",
"sourceHandle": "2",
"target": "-kY9osnGE",
"targetHandle": null,
"id": "E5NHstmdF"
},
{
"source": "pmoPx8W0W",
"sourceHandle": "1",
"target": "YGd45fK8d",
"targetHandle": null,
"id": "bldP67hmm"
},
{
"source": "YGd45fK8d",
"sourceHandle": "1",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "fw9Le5zqo"
},
{
"source": "YGd45fK8d",
"sourceHandle": "2",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "wd7SmimpM"
},
{
"source": "YGd45fK8d",
"sourceHandle": "3",
"target": "mNwoZNlmo",
"targetHandle": null,
"id": "RmpqCf-Vh"
},
{
"source": "jpEn9FVQX",
"sourceHandle": "1",
"target": "fAQouEkEY",
"targetHandle": null,
"id": "5mv1ls7Ib"
},
{
"source": "fAQouEkEY",
"sourceHandle": "1",
"target": "Ke1S57we6",
"targetHandle": null,
"id": "_VEvhMOtk"
},
{
"source": "yMWso-uZa",
"sourceHandle": "1",
"target": "S_rVuKn8S",
"targetHandle": null,
"id": "yweCdlSWM"
},
{
"source": "S_rVuKn8S",
"sourceHandle": "1",
"target": "yj3grm5d8",
"targetHandle": null,
"id": "xI3eh7wZp"
},
{
"source": "S_rVuKn8S",
"sourceHandle": "2",
"target": "42P9lb0B3",
"targetHandle": null,
"id": "V-qf6QBC4"
}
]
}); };
exports.details = details;

@ -0,0 +1,314 @@
"use strict";
/* eslint-disable no-template-curly-in-string */
/* eslint-disable import/prefer-default-export */
Object.defineProperty(exports, "__esModule", { value: true });
exports.details = void 0;
var details = function () { return ({
"name": "Chapter 4: Flow Errors Part 3 - Plugin-specific Error Handling",
"description": "Chapter 4: Flow Errors Part 3 - Plugin-specific Error Handling",
"tags": "",
"flowPlugins": [
{
"name": "Input File",
"sourceRepo": "Community",
"pluginName": "inputFile",
"version": "1.0.0",
"id": "gtZCtmY-l",
"position": {
"x": 648.6536861377089,
"y": -82.45578042880155
}
},
{
"name": "Check Video Codec",
"sourceRepo": "Community",
"pluginName": "checkVideoCodec",
"version": "1.0.0",
"id": "PpLF-5jxp",
"position": {
"x": 541.9238836009351,
"y": 32.863009312154745
}
},
{
"name": "Replace Original File",
"sourceRepo": "Community",
"pluginName": "replaceOriginalFile",
"version": "1.0.0",
"id": "QdLvoNjuG",
"position": {
"x": 773.1888091521793,
"y": 727.583503313465
}
},
{
"name": "Begin Command",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandStart",
"version": "1.0.0",
"id": "-kY9osnGE",
"position": {
"x": 399.6705241883612,
"y": 143.02276817432977
}
},
{
"name": "Execute",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandExecute",
"version": "1.0.0",
"id": "pmoPx8W0W",
"position": {
"x": 399.8062875388412,
"y": 417.9708580733087
}
},
{
"name": "Set Container",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandSetContainer",
"version": "1.0.0",
"id": "-DEIJA3Pf",
"position": {
"x": 401.1862407548717,
"y": 335.51877212115033
}
},
{
"name": "Set Video Encoder",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandSetVideoEncoder",
"version": "1.0.0",
"id": "U0fVPXskr",
"position": {
"x": 400.1862407548716,
"y": 249.12292783005773
}
},
{
"name": "Fail Flow",
"sourceRepo": "Community",
"pluginName": "failFlow",
"version": "1.0.0",
"id": "mNwoZNlmo",
"position": {
"x": 616.8564543703576,
"y": 578.3209514237449
}
},
{
"name": "Compare File Size",
"sourceRepo": "Community",
"pluginName": "compareFileSize",
"version": "1.0.0",
"id": "YGd45fK8d",
"position": {
"x": 518.9335431151374,
"y": 502.8688871164036
}
},
{
"name": "On Flow Error",
"sourceRepo": "Community",
"pluginName": "onFlowError",
"version": "1.0.0",
"id": "yMWso-uZa",
"position": {
"x": 1060.1712089610803,
"y": 145.28055874973487
}
},
{
"name": "Send Web Request",
"sourceRepo": "Community",
"pluginName": "webRequest",
"version": "1.0.0",
"id": "Bc2bZtgBc",
"position": {
"x": 922.4677516191077,
"y": 279.351803016885
}
},
{
"name": "Tdarr also offers plugin-specific error handling using the RED connection on each plugin. The flow path will be triggered if an unhandled error occurs within that specific plugin.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "H__edbTLw",
"position": {
"x": 767.7320724785685,
"y": -230.81328720265796
}
},
{
"name": "Send Web Request: Ping Melissa to check network storage",
"sourceRepo": "Community",
"pluginName": "webRequest",
"version": "1.0.0",
"id": "X9NEJCEgk",
"position": {
"x": 880.7836232681229,
"y": -39.676791653194755
}
},
{
"name": "Send Web Request: Ping Romesh to check transcode log",
"sourceRepo": "Community",
"pluginName": "webRequest",
"version": "1.0.0",
"id": "BO0c5TlKq",
"position": {
"x": 661.6510110384603,
"y": 300.5554220718082
}
},
{
"name": "This allows very specific error flows, for example pinging different team members for different errors.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "zTVwtbuxI",
"position": {
"x": 657.8440331872728,
"y": 166.67570418496692
}
},
{
"name": "The plugin-specifc error handling will NOT trigger the 'On Flow Error' plugin.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "N9E-u8l0o",
"position": {
"x": 1170.7519669401188,
"y": 56.50523025141092
}
},
{
"name": "But you can still join the plugin-specific error handling flow onto the rest of the 'On Flow Error' Flow",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "AOi3vLobO",
"position": {
"x": 1125.9768689675689,
"y": 284.4868129833375
}
}
],
"flowEdges": [
{
"source": "PpLF-5jxp",
"sourceHandle": "1",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "ldiZljXp2"
},
{
"source": "gtZCtmY-l",
"sourceHandle": "1",
"target": "PpLF-5jxp",
"targetHandle": null,
"id": "Cs5aBSUks"
},
{
"source": "-kY9osnGE",
"sourceHandle": "1",
"target": "U0fVPXskr",
"targetHandle": null,
"id": "wuqNLcC1D"
},
{
"source": "U0fVPXskr",
"sourceHandle": "1",
"target": "-DEIJA3Pf",
"targetHandle": null,
"id": "Coq5pIs3c"
},
{
"source": "-DEIJA3Pf",
"sourceHandle": "1",
"target": "pmoPx8W0W",
"targetHandle": null,
"id": "fGjbMXOng"
},
{
"source": "PpLF-5jxp",
"sourceHandle": "2",
"target": "-kY9osnGE",
"targetHandle": null,
"id": "E5NHstmdF"
},
{
"source": "pmoPx8W0W",
"sourceHandle": "1",
"target": "YGd45fK8d",
"targetHandle": null,
"id": "bldP67hmm"
},
{
"source": "YGd45fK8d",
"sourceHandle": "1",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "fw9Le5zqo"
},
{
"source": "YGd45fK8d",
"sourceHandle": "2",
"target": "QdLvoNjuG",
"targetHandle": null,
"id": "wd7SmimpM"
},
{
"source": "YGd45fK8d",
"sourceHandle": "3",
"target": "mNwoZNlmo",
"targetHandle": null,
"id": "RmpqCf-Vh"
},
{
"source": "yMWso-uZa",
"sourceHandle": "1",
"target": "Bc2bZtgBc",
"targetHandle": null,
"id": "7k8P1VYv6"
},
{
"source": "gtZCtmY-l",
"sourceHandle": "err1",
"target": "X9NEJCEgk",
"targetHandle": null,
"id": "9rhuR5eSI"
},
{
"source": "pmoPx8W0W",
"sourceHandle": "err1",
"target": "BO0c5TlKq",
"targetHandle": null,
"id": "ttZgLtKF3"
},
{
"source": "H__edbTLw",
"sourceHandle": "1",
"target": "zTVwtbuxI",
"targetHandle": null,
"id": "5sjNNMXAK"
},
{
"source": "X9NEJCEgk",
"sourceHandle": "1",
"target": "Bc2bZtgBc",
"targetHandle": null,
"id": "OW-yqRQH5"
},
{
"source": "N9E-u8l0o",
"sourceHandle": "1",
"target": "AOi3vLobO",
"targetHandle": null,
"id": "K440_LQm_"
}
]
}); };
exports.details = details;

@ -0,0 +1,156 @@
"use strict";
/* eslint-disable no-template-curly-in-string */
/* eslint-disable import/prefer-default-export */
Object.defineProperty(exports, "__esModule", { value: true });
exports.details = void 0;
var details = function () { return ({
"name": "Chapter 5: Go To Flow",
"description": "Chapter 5: Go To Flow",
"tags": "",
"flowPlugins": [
{
"name": "Input File",
"sourceRepo": "Community",
"pluginName": "inputFile",
"version": "1.0.0",
"id": "gtZCtmY-l",
"position": {
"x": 648.6536861377089,
"y": -82.45578042880155
}
},
{
"name": "Check Video Codec",
"sourceRepo": "Community",
"pluginName": "checkVideoCodec",
"version": "1.0.0",
"id": "PpLF-5jxp",
"position": {
"x": 752.4065242952165,
"y": 51.12406033129332
}
},
{
"name": "On Flow Error",
"sourceRepo": "Community",
"pluginName": "onFlowError",
"version": "1.0.0",
"id": "yMWso-uZa",
"position": {
"x": 1122.33024332169,
"y": 226.4434391132305
}
},
{
"name": "You can use the Go To Flow to go to a different flow. The working file will be passed to that flow and will continue as normal. Double click on the plugin to select the flow you'd like to go to.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "rHV28Kbkv",
"position": {
"x": 462.0014512264263,
"y": 65.78412788449464
}
},
{
"name": "Go To Flow",
"sourceRepo": "Community",
"pluginName": "goToFlow",
"version": "1.0.0",
"id": "gOrbropah",
"position": {
"x": 572.7308895655424,
"y": 234.58707695358294
}
},
{
"name": "By design, if an error happens in a different flow, this 'On Flow Error' will not be called. Across all flows, the 'On Flow Error' plugin will only be called ONCE in the flow that the FIRST error occurred in. 'On Flow Error' plugins in flows before or after the current flow will not be called, even if an error occurs in them at a later time.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "7azuiVML9",
"position": {
"x": 1310.2464269220861,
"y": 134.70796523124582
}
},
{
"name": "Replace Original File",
"sourceRepo": "Community",
"pluginName": "replaceOriginalFile",
"version": "1.0.0",
"id": "ELn0kcc-1",
"position": {
"x": 778.4079905179452,
"y": 428.7308825254772
}
},
{
"name": "Go To Flow",
"sourceRepo": "Community",
"pluginName": "goToFlow",
"version": "1.0.0",
"id": "j5dOGi9zz",
"position": {
"x": 1122.484636036451,
"y": 397.97542817745443
}
},
{
"name": "After an error has occured you can even go to a different flow! So you can create a dedicated Error flow and go to it each time an error occurs within any of your flows! Useful for notifications etc.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "EpMxr2UuE",
"position": {
"x": 1205.7688307851763,
"y": 479.4625484620842
}
}
],
"flowEdges": [
{
"source": "gtZCtmY-l",
"sourceHandle": "1",
"target": "PpLF-5jxp",
"targetHandle": null,
"id": "Cs5aBSUks"
},
{
"source": "PpLF-5jxp",
"sourceHandle": "1",
"target": "gOrbropah",
"targetHandle": null,
"id": "qVWE7SWt2"
},
{
"source": "rHV28Kbkv",
"sourceHandle": "1",
"target": "7azuiVML9",
"targetHandle": null,
"id": "i0OUf3hAM"
},
{
"source": "PpLF-5jxp",
"sourceHandle": "2",
"target": "ELn0kcc-1",
"targetHandle": null,
"id": "hTaDcPw24"
},
{
"source": "yMWso-uZa",
"sourceHandle": "1",
"target": "j5dOGi9zz",
"targetHandle": null,
"id": "6Hrh7vbfW"
},
{
"source": "7azuiVML9",
"sourceHandle": "1",
"target": "EpMxr2UuE",
"targetHandle": null,
"id": "S_36mCXnL"
}
]
}); };
exports.details = details;

@ -0,0 +1,267 @@
"use strict";
/* eslint-disable no-template-curly-in-string */
/* eslint-disable import/prefer-default-export */
Object.defineProperty(exports, "__esModule", { value: true });
exports.details = void 0;
var details = function () { return ({
"name": "Chapter 6: The Review System",
"description": "Chapter 6: The Review System",
"tags": "",
"flowPlugins": [
{
"name": "Input File",
"sourceRepo": "Community",
"pluginName": "inputFile",
"version": "1.0.0",
"id": "gtZCtmY-l",
"position": {
"x": 648.6536861377089,
"y": -82.45578042880155
}
},
{
"name": "Check Video Codec",
"sourceRepo": "Community",
"pluginName": "checkVideoCodec",
"version": "1.0.0",
"id": "PpLF-5jxp",
"position": {
"x": 752.4065242952165,
"y": 51.12406033129332
}
},
{
"name": "Replace Original File",
"sourceRepo": "Community",
"pluginName": "replaceOriginalFile",
"version": "1.0.0",
"id": "R0gX9B20d",
"position": {
"x": 879.7236115475249,
"y": 934.782797377857
}
},
{
"name": "Begin Command",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandStart",
"version": "1.0.0",
"id": "U6N3AQubH",
"position": {
"x": 546.8854528742303,
"y": 174.54090453410515
}
},
{
"name": "Execute",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandExecute",
"version": "1.0.0",
"id": "Lv-zb-iTw",
"position": {
"x": 543.172691292081,
"y": 368.6158072160807
}
},
{
"name": "Set Video Encoder",
"sourceRepo": "Community",
"pluginName": "ffmpegCommandSetVideoEncoder",
"version": "1.0.0",
"id": "1pOFUCuQR",
"position": {
"x": 545.0642491154337,
"y": 274.70711126791645
}
},
{
"name": "Require Review",
"sourceRepo": "Community",
"pluginName": "requireReview",
"version": "1.0.0",
"id": "oHpu2fZOi",
"position": {
"x": 631.7959812272709,
"y": 459.542392214296
}
},
{
"name": "Run Classic Transcode Plugin: Add Audio Stream",
"sourceRepo": "Community",
"pluginName": "runClassicTranscodePlugin",
"version": "1.0.0",
"inputsDB": {
"pluginSourceId": "Community:Tdarr_Plugin_00td_action_add_audio_stream_codec"
},
"id": "RZX5jIP5I",
"position": {
"x": 632.2402074212371,
"y": 545.8356807635909
}
},
{
"name": "Run Classic Transcode Plugin",
"sourceRepo": "Community",
"pluginName": "runClassicTranscodePlugin",
"version": "1.0.0",
"inputsDB": {
"pluginSourceId": "Community:Tdarr_Plugin_00td_action_remove_audio_by_channel_count",
"channelCounts": "8"
},
"id": "3zj5puRQ1",
"position": {
"x": 696.5390735282473,
"y": 758.7339551203235
}
},
{
"name": "Require Review",
"sourceRepo": "Community",
"pluginName": "requireReview",
"version": "1.0.0",
"id": "q8Pz_3HGh",
"position": {
"x": 634.7388490591334,
"y": 648.8668893974542
}
},
{
"name": "You can pause a flow by using the 'Require Review' plugin. This will cause the file to stay in the staging section on the Tdarr tab until the 'Reviewed' button is pressed. This allows you to check the last completed cache file.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "YPyMAbZ76",
"position": {
"x": 856.2716462414401,
"y": 343.06736953610425
}
},
{
"name": "Once the file has been reviewed, the flow will continue from the next plugin.",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "REt4UEEGD",
"position": {
"x": 856.7260936183322,
"y": 531.8099095812979
}
},
{
"name": "You can 'Require Review' as much as you like!",
"sourceRepo": "Community",
"pluginName": "comment",
"version": "1.0.0",
"id": "UhuSLjA8g",
"position": {
"x": 857.7070495622867,
"y": 709.362935437006
}
},
{
"name": "Require Review",
"sourceRepo": "Community",
"pluginName": "requireReview",
"version": "1.0.0",
"id": "8IU0bhEJs",
"position": {
"x": 780.2115299899054,
"y": 844.7348557026837
}
}
],
"flowEdges": [
{
"source": "gtZCtmY-l",
"sourceHandle": "1",
"target": "PpLF-5jxp",
"targetHandle": null,
"id": "Cs5aBSUks"
},
{
"source": "U6N3AQubH",
"sourceHandle": "1",
"target": "1pOFUCuQR",
"targetHandle": null,
"id": "RdnvWmv0o"
},
{
"source": "1pOFUCuQR",
"sourceHandle": "1",
"target": "Lv-zb-iTw",
"targetHandle": null,
"id": "p-VkIS6DK"
},
{
"source": "PpLF-5jxp",
"sourceHandle": "2",
"target": "U6N3AQubH",
"targetHandle": null,
"id": "x_vWzShYB"
},
{
"source": "PpLF-5jxp",
"sourceHandle": "1",
"target": "R0gX9B20d",
"targetHandle": null,
"id": "CtIsUppTB"
},
{
"source": "Lv-zb-iTw",
"sourceHandle": "1",
"target": "oHpu2fZOi",
"targetHandle": null,
"id": "d9tDIjd1L"
},
{
"source": "oHpu2fZOi",
"sourceHandle": "1",
"target": "RZX5jIP5I",
"targetHandle": null,
"id": "kFP4WRftx"
},
{
"source": "RZX5jIP5I",
"sourceHandle": "1",
"target": "q8Pz_3HGh",
"targetHandle": null,
"id": "nqbQJ9wUz"
},
{
"source": "q8Pz_3HGh",
"sourceHandle": "1",
"target": "3zj5puRQ1",
"targetHandle": null,
"id": "Vx60urLP7"
},
{
"source": "YPyMAbZ76",
"sourceHandle": "1",
"target": "REt4UEEGD",
"targetHandle": null,
"id": "B85VWeRRu"
},
{
"source": "REt4UEEGD",
"sourceHandle": "1",
"target": "UhuSLjA8g",
"targetHandle": null,
"id": "wk44u1THD"
},
{
"source": "3zj5puRQ1",
"sourceHandle": "1",
"target": "8IU0bhEJs",
"targetHandle": null,
"id": "9Q4vfDFmI"
},
{
"source": "8IU0bhEJs",
"sourceHandle": "1",
"target": "R0gX9B20d",
"targetHandle": null,
"id": "8wXVHwiDC"
}
]
}); };
exports.details = details;

@ -6,7 +6,7 @@ exports.details = void 0;
var details = function () { return ({ var details = function () { return ({
name: 'Basic HEVC Video Flow', name: 'Basic HEVC Video Flow',
description: 'Basic HEVC Video Flow', description: 'Basic HEVC Video Flow',
tags: 'video', tags: '',
flowPlugins: [ flowPlugins: [
{ {
name: 'Input File', name: 'Input File',
@ -93,8 +93,6 @@ var details = function () { return ({
target: '91b7IrsEc', target: '91b7IrsEc',
targetHandle: null, targetHandle: null,
id: 'HhF4rw2DZ', id: 'HhF4rw2DZ',
animated: true,
type: 'smoothstep',
}, },
{ {
source: '91b7IrsEc', source: '91b7IrsEc',
@ -102,8 +100,6 @@ var details = function () { return ({
target: '4Swd6qzvc', target: '4Swd6qzvc',
targetHandle: null, targetHandle: null,
id: 'jJizyFUcr', id: 'jJizyFUcr',
animated: true,
type: 'smoothstep',
}, },
{ {
source: '4Swd6qzvc', source: '4Swd6qzvc',
@ -111,8 +107,6 @@ var details = function () { return ({
target: '8B_6pRd_U', target: '8B_6pRd_U',
targetHandle: null, targetHandle: null,
id: '3Df7Xoy93', id: '3Df7Xoy93',
animated: true,
type: 'smoothstep',
}, },
{ {
source: '450g167D8', source: '450g167D8',
@ -120,8 +114,6 @@ var details = function () { return ({
target: '4fkfOyR3l', target: '4fkfOyR3l',
targetHandle: null, targetHandle: null,
id: 'rE5Dsh9KM', id: 'rE5Dsh9KM',
animated: true,
type: 'smoothstep',
}, },
{ {
source: '91b7IrsEc', source: '91b7IrsEc',
@ -129,8 +121,6 @@ var details = function () { return ({
target: '4fkfOyR3l', target: '4fkfOyR3l',
targetHandle: null, targetHandle: null,
id: 'W2nVG7ts5', id: 'W2nVG7ts5',
animated: true,
type: 'smoothstep',
}, },
{ {
source: '8B_6pRd_U', source: '8B_6pRd_U',
@ -138,8 +128,6 @@ var details = function () { return ({
target: 'TtKXi3Q7h', target: 'TtKXi3Q7h',
targetHandle: null, targetHandle: null,
id: 'epqtLsPuG', id: 'epqtLsPuG',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'TtKXi3Q7h', source: 'TtKXi3Q7h',
@ -147,8 +135,6 @@ var details = function () { return ({
target: '450g167D8', target: '450g167D8',
targetHandle: null, targetHandle: null,
id: 'ljOeP0cAZ', id: 'ljOeP0cAZ',
animated: true,
type: 'smoothstep',
}, },
], ],
}); }; }); };

@ -6,7 +6,7 @@ exports.details = void 0;
var details = function () { return ({ var details = function () { return ({
name: 'Create Low Resolution Video Copies', name: 'Create Low Resolution Video Copies',
description: 'Create Low Resolution Video Copies', description: 'Create Low Resolution Video Copies',
tags: 'video', tags: '',
flowPlugins: [ flowPlugins: [
{ {
name: 'Input File', name: 'Input File',
@ -77,14 +77,14 @@ var details = function () { return ({
sourceRepo: 'Community', sourceRepo: 'Community',
pluginName: 'checkFileNameIncludes', pluginName: 'checkFileNameIncludes',
version: '1.0.0', version: '1.0.0',
inputsDB: {
terms: '_720p,_480p',
},
id: 'wRipuaq4G', id: 'wRipuaq4G',
position: { position: {
x: 763.9976994431687, x: 763.9976994431687,
y: 198.97576654117708, y: 198.97576654117708,
}, },
inputsDB: {
terms: '_720p,_480p',
},
}, },
{ {
name: 'Rename File _720p', name: 'Rename File _720p',
@ -138,14 +138,14 @@ var details = function () { return ({
sourceRepo: 'Community', sourceRepo: 'Community',
pluginName: 'ffmpegCommandSetVideoEncoder', pluginName: 'ffmpegCommandSetVideoEncoder',
version: '1.0.0', version: '1.0.0',
inputsDB: {
forceEncoding: 'true',
},
id: 'wcmBN2N02', id: 'wcmBN2N02',
position: { position: {
x: 1171.0819612214827, x: 1171.0819612214827,
y: 257.19366435734827, y: 257.19366435734827,
}, },
inputsDB: {
forceEncoding: 'true',
},
}, },
{ {
name: 'Execute', name: 'Execute',
@ -185,42 +185,42 @@ var details = function () { return ({
sourceRepo: 'Community', sourceRepo: 'Community',
pluginName: 'ffmpegCommandSetVdeoResolution', pluginName: 'ffmpegCommandSetVdeoResolution',
version: '1.0.0', version: '1.0.0',
inputsDB: {
targetResolution: '480p',
},
id: 'dzFEwECXB', id: 'dzFEwECXB',
position: { position: {
x: 1396.1961096759603, x: 1396.1961096759603,
y: 309.9727302535869, y: 309.9727302535869,
}, },
inputsDB: {
targetResolution: '480p',
},
}, },
{ {
name: 'Set Video Encoder', name: 'Set Video Encoder',
sourceRepo: 'Community', sourceRepo: 'Community',
pluginName: 'ffmpegCommandSetVideoEncoder', pluginName: 'ffmpegCommandSetVideoEncoder',
version: '1.0.0', version: '1.0.0',
inputsDB: {
forceEncoding: 'true',
},
id: '_EynbvgSl', id: '_EynbvgSl',
position: { position: {
x: 1396.1961096759603, x: 1396.1961096759603,
y: 214.35898180146438, y: 214.35898180146438,
}, },
inputsDB: {
forceEncoding: 'true',
},
}, },
{ {
name: 'Set Video Resolution 720p', name: 'Set Video Resolution 720p',
sourceRepo: 'Community', sourceRepo: 'Community',
pluginName: 'ffmpegCommandSetVdeoResolution', pluginName: 'ffmpegCommandSetVdeoResolution',
version: '1.0.0', version: '1.0.0',
inputsDB: {
targetResolution: '720p',
},
id: 'CMm7MlE7g', id: 'CMm7MlE7g',
position: { position: {
x: 1169.6624226114702, x: 1169.6624226114702,
y: 336.82482287402803, y: 336.82482287402803,
}, },
inputsDB: {
targetResolution: '720p',
},
}, },
], ],
flowEdges: [ flowEdges: [
@ -230,8 +230,6 @@ var details = function () { return ({
target: 'wRipuaq4G', target: 'wRipuaq4G',
targetHandle: null, targetHandle: null,
id: 'IE_oGhETB', id: 'IE_oGhETB',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'wRipuaq4G', source: 'wRipuaq4G',
@ -239,8 +237,6 @@ var details = function () { return ({
target: '1pj9oSg5G', target: '1pj9oSg5G',
targetHandle: null, targetHandle: null,
id: 'QR6uGNUhE', id: 'QR6uGNUhE',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'wRipuaq4G', source: 'wRipuaq4G',
@ -248,8 +244,6 @@ var details = function () { return ({
target: 'VyNRD3YjM', target: 'VyNRD3YjM',
targetHandle: null, targetHandle: null,
id: 'sh_kstv0D', id: 'sh_kstv0D',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'uDC6XT1Jy', source: 'uDC6XT1Jy',
@ -257,8 +251,6 @@ var details = function () { return ({
target: '1pj9oSg5G', target: '1pj9oSg5G',
targetHandle: null, targetHandle: null,
id: 'G5jl85ijr', id: 'G5jl85ijr',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'VyNRD3YjM', source: 'VyNRD3YjM',
@ -266,8 +258,6 @@ var details = function () { return ({
target: 'uDC6XT1Jy', target: 'uDC6XT1Jy',
targetHandle: null, targetHandle: null,
id: 'DmUL9DS8q', id: 'DmUL9DS8q',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'VpCD-7LZJ', source: 'VpCD-7LZJ',
@ -275,8 +265,6 @@ var details = function () { return ({
target: 'mFRK-Z9WC', target: 'mFRK-Z9WC',
targetHandle: null, targetHandle: null,
id: 'ap4YXAxy3', id: 'ap4YXAxy3',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'cTKbaB8nT', source: 'cTKbaB8nT',
@ -284,8 +272,6 @@ var details = function () { return ({
target: 'mFRK-Z9WC', target: 'mFRK-Z9WC',
targetHandle: null, targetHandle: null,
id: 'i9fr5J5pL', id: 'i9fr5J5pL',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'mFRK-Z9WC', source: 'mFRK-Z9WC',
@ -293,8 +279,6 @@ var details = function () { return ({
target: 'oD4u5PY9T', target: 'oD4u5PY9T',
targetHandle: null, targetHandle: null,
id: 'KUw59S_Zl', id: 'KUw59S_Zl',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'oD4u5PY9T', source: 'oD4u5PY9T',
@ -302,8 +286,6 @@ var details = function () { return ({
target: 'wRipuaq4G', target: 'wRipuaq4G',
targetHandle: null, targetHandle: null,
id: 'HlM4E6eV8', id: 'HlM4E6eV8',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'tmUd79-Fb', source: 'tmUd79-Fb',
@ -311,9 +293,6 @@ var details = function () { return ({
target: 'cTKbaB8nT', target: 'cTKbaB8nT',
targetHandle: null, targetHandle: null,
id: 'iJLmmoDLp', id: 'iJLmmoDLp',
animated: true,
type: 'smoothstep',
selected: false,
}, },
{ {
source: 'uDC6XT1Jy', source: 'uDC6XT1Jy',
@ -321,8 +300,6 @@ var details = function () { return ({
target: 'FSG9AOX5c', target: 'FSG9AOX5c',
targetHandle: null, targetHandle: null,
id: 'iRTrU8utq', id: 'iRTrU8utq',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'dzFEwECXB', source: 'dzFEwECXB',
@ -330,8 +307,6 @@ var details = function () { return ({
target: 'gbY0xIJnB', target: 'gbY0xIJnB',
targetHandle: null, targetHandle: null,
id: 'A5cyCu_kx', id: 'A5cyCu_kx',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'Jn6dcKd3i', source: 'Jn6dcKd3i',
@ -339,8 +314,6 @@ var details = function () { return ({
target: '_EynbvgSl', target: '_EynbvgSl',
targetHandle: null, targetHandle: null,
id: '1HajidLz-', id: '1HajidLz-',
animated: true,
type: 'smoothstep',
}, },
{ {
source: '_EynbvgSl', source: '_EynbvgSl',
@ -348,8 +321,6 @@ var details = function () { return ({
target: 'dzFEwECXB', target: 'dzFEwECXB',
targetHandle: null, targetHandle: null,
id: 'vEESYeSsL', id: 'vEESYeSsL',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'VyNRD3YjM', source: 'VyNRD3YjM',
@ -357,8 +328,6 @@ var details = function () { return ({
target: 'Jn6dcKd3i', target: 'Jn6dcKd3i',
targetHandle: null, targetHandle: null,
id: 'q8zd_qCSU', id: 'q8zd_qCSU',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'gbY0xIJnB', source: 'gbY0xIJnB',
@ -366,8 +335,6 @@ var details = function () { return ({
target: 'VpCD-7LZJ', target: 'VpCD-7LZJ',
targetHandle: null, targetHandle: null,
id: 'leYMQdxHw', id: 'leYMQdxHw',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'FSG9AOX5c', source: 'FSG9AOX5c',
@ -375,8 +342,6 @@ var details = function () { return ({
target: 'wcmBN2N02', target: 'wcmBN2N02',
targetHandle: null, targetHandle: null,
id: 'Dl5MCSqQM', id: 'Dl5MCSqQM',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'wcmBN2N02', source: 'wcmBN2N02',
@ -384,8 +349,6 @@ var details = function () { return ({
target: 'CMm7MlE7g', target: 'CMm7MlE7g',
targetHandle: null, targetHandle: null,
id: 'GIpbjomC8', id: 'GIpbjomC8',
animated: true,
type: 'smoothstep',
}, },
{ {
source: 'CMm7MlE7g', source: 'CMm7MlE7g',
@ -393,8 +356,6 @@ var details = function () { return ({
target: 'tmUd79-Fb', target: 'tmUd79-Fb',
targetHandle: null, targetHandle: null,
id: 'AxR9R10MY', id: 'AxR9R10MY',
animated: true,
type: 'smoothstep',
}, },
], ],
}); }; }); };

@ -15,6 +15,8 @@ const details = (): IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -14,6 +14,8 @@ const details = (): IpluginDetails => ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -15,6 +15,8 @@ const details = (): IpluginDetails => ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -13,6 +13,8 @@ const details = () :IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -14,6 +14,8 @@ const details = () :IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -14,6 +14,8 @@ const details = () :IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -14,6 +14,8 @@ const details = () :IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -17,6 +17,8 @@ const details = (): IpluginDetails => ({
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: 2, sidebarPosition: 2,
icon: 'faPlay', icon: 'faPlay',
inputs: [], inputs: [],

@ -13,6 +13,8 @@ const details = () :IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -14,6 +14,8 @@ const details = () :IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -16,6 +16,8 @@ const details = ():IpluginDetails => ({
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -15,6 +15,8 @@ const details = ():IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -15,6 +15,8 @@ const details = (): IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -16,6 +16,8 @@ const details = ():IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -13,6 +13,8 @@ const details = () :IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -14,6 +14,8 @@ const details = () :IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -16,6 +16,8 @@ const details = (): IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -18,6 +18,8 @@ const details = () :IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: 1, sidebarPosition: 1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -15,6 +15,8 @@ const details = (): IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -14,6 +14,8 @@ const details = (): IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -14,6 +14,8 @@ const details = (): IpluginDetails => ({
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [], inputs: [],

@ -14,6 +14,8 @@ const details = (): IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -13,6 +13,8 @@ const details = (): IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [ inputs: [

@ -14,6 +14,8 @@ const details = (): IpluginDetails => ({
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faQuestion', icon: 'faQuestion',
inputs: [], inputs: [],

@ -17,6 +17,8 @@ const details = (): IpluginDetails => ({
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [ inputs: [
@ -115,6 +117,18 @@ const plugin = async (args: IpluginInputArgs): Promise<IpluginOutputArgs> => {
args.jobLog(`Input path: ${args.inputFileObj._id}`); args.jobLog(`Input path: ${args.inputFileObj._id}`);
args.jobLog(`Output path: ${outputPath}`); args.jobLog(`Output path: ${outputPath}`);
if (args.inputFileObj._id === ouputFilePath) {
args.jobLog('Input and output path are the same, skipping copy.');
return {
outputFileObj: {
_id: args.inputFileObj._id,
},
outputNumber: 1,
variables: args.variables,
};
}
args.deps.fsextra.ensureDirSync(outputPath); args.deps.fsextra.ensureDirSync(outputPath);
await fs.copyFile(args.inputFileObj._id, ouputFilePath); await fs.copyFile(args.inputFileObj._id, ouputFilePath);

@ -18,6 +18,8 @@ const details = (): IpluginDetails => ({
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [],
@ -51,6 +53,18 @@ const plugin = async (args: IpluginInputArgs): Promise<IpluginOutputArgs> => {
args.jobLog(`Input path: ${args.inputFileObj._id}`); args.jobLog(`Input path: ${args.inputFileObj._id}`);
args.jobLog(`Output path: ${outputPath}`); args.jobLog(`Output path: ${outputPath}`);
if (args.inputFileObj._id === ouputFilePath) {
args.jobLog('Input and output path are the same, skipping copy.');
return {
outputFileObj: {
_id: args.inputFileObj._id,
},
outputNumber: 1,
variables: args.variables,
};
}
args.deps.fsextra.ensureDirSync(outputPath); args.deps.fsextra.ensureDirSync(outputPath);
await fs.copyFile(args.inputFileObj._id, ouputFilePath); await fs.copyFile(args.inputFileObj._id, ouputFilePath);

@ -14,6 +14,8 @@ const details = ():IpluginDetails => ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -18,6 +18,8 @@ const details = ():IpluginDetails => ({
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [ inputs: [
@ -97,6 +99,18 @@ const plugin = async (args:IpluginInputArgs):Promise<IpluginOutputArgs> => {
args.jobLog(`Input path: ${args.inputFileObj._id}`); args.jobLog(`Input path: ${args.inputFileObj._id}`);
args.jobLog(`Output path: ${ouputFilePath}`); args.jobLog(`Output path: ${ouputFilePath}`);
if (args.inputFileObj._id === ouputFilePath) {
args.jobLog('Input and output path are the same, skipping move.');
return {
outputFileObj: {
_id: args.inputFileObj._id,
},
outputNumber: 1,
variables: args.variables,
};
}
args.deps.fsextra.ensureDirSync(outputPath); args.deps.fsextra.ensureDirSync(outputPath);
await moveFileAndValidate({ await moveFileAndValidate({

@ -17,6 +17,8 @@ const details = ():IpluginDetails => ({
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [],
@ -40,6 +42,18 @@ const plugin = async (args:IpluginInputArgs):Promise<IpluginOutputArgs> => {
const ouputFilePath = `${outputDir}/${fileName}.${container}`; const ouputFilePath = `${outputDir}/${fileName}.${container}`;
if (args.inputFileObj._id === ouputFilePath) {
args.jobLog('Input and output path are the same, skipping move.');
return {
outputFileObj: {
_id: args.inputFileObj._id,
},
outputNumber: 1,
variables: args.variables,
};
}
await moveFileAndValidate({ await moveFileAndValidate({
inputPath: args.inputFileObj._id, inputPath: args.inputFileObj._id,
outputPath: ouputFilePath, outputPath: ouputFilePath,

@ -16,6 +16,8 @@ const details = (): IpluginDetails => ({
}, },
tags: 'video', tags: 'video',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [
@ -54,6 +56,18 @@ const plugin = async (args: IpluginInputArgs): Promise<IpluginOutputArgs> => {
const fileDir = getFileAbosluteDir(args.inputFileObj._id); const fileDir = getFileAbosluteDir(args.inputFileObj._id);
const newPath = `${fileDir}/${newName}`; const newPath = `${fileDir}/${newName}`;
if (args.inputFileObj._id === newPath) {
args.jobLog('Input and output path are the same, skipping rename.');
return {
outputFileObj: {
_id: args.inputFileObj._id,
},
outputNumber: 1,
variables: args.variables,
};
}
await moveFileAndValidate({ await moveFileAndValidate({
inputPath: args.inputFileObj._id, inputPath: args.inputFileObj._id,
outputPath: newPath, outputPath: newPath,

@ -10,12 +10,14 @@ import {
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = (): IpluginDetails => ({ const details = (): IpluginDetails => ({
name: 'Replace Original File', name: 'Replace Original File',
description: 'Replace the original file', description: 'Replace the original file. If the file hasn\'t changed then no action is taken.',
style: { style: {
borderColor: 'green', borderColor: 'green',
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [],

@ -13,6 +13,8 @@ const details = ():IpluginDetails => ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -14,6 +14,8 @@ const details = ():IpluginDetails => ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [],

@ -16,6 +16,8 @@ const details = ():IpluginDetails => ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [ inputs: [

@ -12,8 +12,9 @@ const details = ():IpluginDetails => ({
borderColor: 'pink', borderColor: 'pink',
}, },
tags: '', tags: '',
isStartPlugin: true, isStartPlugin: true,
pType: 'start',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -0,0 +1,53 @@
import {
IpluginDetails,
IpluginInputArgs,
IpluginOutputArgs,
} from '../../../../FlowHelpers/1.0.0/interfaces/interfaces';
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = (): IpluginDetails => ({
name: 'Comment',
nameUI: {
type: 'textarea',
style: {
height: '250px',
},
},
description: `Add a comment to your flow. Can place anywhere and link together.
Any file input into the comment will be passed straight through.`,
style: {
borderColor: 'white',
borderRadius: '10px',
backgroundColor: '#043775',
},
tags: '',
isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1,
icon: 'faComment',
inputs: [],
outputs: [
{
number: 1,
tooltip: 'Continue to next plugin',
},
],
});
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const plugin = (args: IpluginInputArgs): IpluginOutputArgs => {
const lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
};
};
export {
details,
plugin,
};

@ -13,6 +13,8 @@ const details = ():IpluginDetails => ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faExclamationTriangle', icon: 'faExclamationTriangle',
inputs: [], inputs: [],

@ -9,14 +9,26 @@ const details = ():IpluginDetails => ({
name: 'Go To Flow', name: 'Go To Flow',
description: 'Go to a different flow', description: 'Go to a different flow',
style: { style: {
borderColor: 'red', borderColor: 'green',
opacity: 0.5,
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [
{
name: 'flowId',
type: 'string',
defaultValue: '',
inputUI: {
type: 'dropdown',
options: [],
},
tooltip: 'Specify flow ID to go to',
},
],
outputs: [], outputs: [],
}); });

@ -0,0 +1,45 @@
import {
IpluginDetails,
IpluginInputArgs,
IpluginOutputArgs,
} from '../../../../FlowHelpers/1.0.0/interfaces/interfaces';
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = ():IpluginDetails => ({
name: 'On Flow Error',
description: `Runs if an error occurs in this specific flow.
Won't run if error occurs in after going to a different flow (unless that flow comes back to this one).`,
style: {
borderColor: 'red',
},
tags: '',
isStartPlugin: false,
pType: 'onFlowError',
requiresVersion: '2.11.01',
sidebarPosition: -1,
icon: 'faArrowRight',
inputs: [],
outputs: [
{
number: 1,
tooltip: 'Continue to next plugin',
},
],
});
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const plugin = (args:IpluginInputArgs):IpluginOutputArgs => {
const lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
};
};
export {
details,
plugin,
};

@ -0,0 +1,46 @@
import {
IpluginDetails,
IpluginInputArgs,
IpluginOutputArgs,
} from '../../../../FlowHelpers/1.0.0/interfaces/interfaces';
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = (): IpluginDetails => ({
name: 'Require Review',
description: `Makes the flow pause.
The file will stay in the staging section on the Tdarr tab until the user clicks the "Reviewed" button.
`,
style: {
borderColor: 'yellow',
},
tags: '',
isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1,
icon: 'faHand',
inputs: [],
outputs: [
{
number: 1,
tooltip: 'Continue to next plugin',
},
],
});
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const plugin = (args: IpluginInputArgs): IpluginOutputArgs => {
const lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details);
return {
outputFileObj: args.inputFileObj,
outputNumber: 1,
variables: args.variables,
};
};
export {
details,
plugin,
};

@ -15,6 +15,8 @@ const details = ():IpluginDetails => ({
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: '', icon: '',
inputs: [], inputs: [],

@ -5,18 +5,72 @@ import {
} from '../../../../FlowHelpers/1.0.0/interfaces/interfaces'; } from '../../../../FlowHelpers/1.0.0/interfaces/interfaces';
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = ():IpluginDetails => ({ const details = (): IpluginDetails => ({
name: 'Send Web Request', name: 'Send Web Request',
description: 'Send Web Request', description: 'Send Web Request',
style: { style: {
borderColor: 'green', borderColor: 'green',
opacity: 0.5,
}, },
tags: '', tags: '',
isStartPlugin: false, isStartPlugin: false,
pType: '',
requiresVersion: '2.11.01',
sidebarPosition: -1, sidebarPosition: -1,
icon: 'faArrowRight', icon: 'faArrowRight',
inputs: [], inputs: [
{
name: 'method',
type: 'string',
defaultValue: 'post',
inputUI: {
type: 'dropdown',
options: [
'get',
'post',
'put',
'delete',
],
},
tooltip: 'Specify request method',
},
{
name: 'requestUrl',
type: 'string',
defaultValue: 'http://example.com',
inputUI: {
type: 'text',
},
tooltip: 'Specify request URL',
},
{
name: 'requestHeaders',
type: 'string',
defaultValue: `{
"Content-Type": "application/json"
}`,
inputUI: {
type: 'textarea',
style: {
height: '100px',
},
},
tooltip: 'Specify request URL',
},
{
name: 'requestBody',
type: 'string',
defaultValue: `{
"test": "test"
}`,
inputUI: {
type: 'textarea',
style: {
height: '100px',
},
},
tooltip: 'Specify request body',
},
],
outputs: [ outputs: [
{ {
number: 1, number: 1,
@ -26,11 +80,32 @@ const details = ():IpluginDetails => ({
}); });
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
const plugin = (args:IpluginInputArgs):IpluginOutputArgs => { const plugin = async (args: IpluginInputArgs): Promise<IpluginOutputArgs> => {
const lib = require('../../../../../methods/lib')(); const lib = require('../../../../../methods/lib')();
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
args.inputs = lib.loadDefaultValues(args.inputs, details); args.inputs = lib.loadDefaultValues(args.inputs, details);
const method = String(args.inputs.method);
const requestUrl = String(args.inputs.requestUrl);
const requestHeaders = JSON.parse(String(args.inputs.requestHeaders));
const requestBody = JSON.parse(String(args.inputs.requestBody));
const requestConfig = {
method,
url: requestUrl,
headers: requestHeaders,
data: requestBody,
};
try {
const res = await args.deps.axios(requestConfig);
args.jobLog(`Web request succeeded: Status Code: ${res.status}`);
} catch (err) {
args.jobLog('Web Request Failed');
args.jobLog(JSON.stringify(err));
throw new Error('Web Request Failed');
}
return { return {
outputFileObj: args.inputFileObj, outputFileObj: args.inputFileObj,
outputNumber: 1, outputNumber: 1,

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save