From 8390f412f442974409b9cbc3a8802e7562e43843 Mon Sep 17 00:00:00 2001 From: HaveAGitGat Date: Tue, 21 May 2024 11:29:45 +0000 Subject: [PATCH] Apply auto-build changes --- .../tools/runCli/1.0.0/index.js | 94 +++++++++++++++---- 1 file changed, 76 insertions(+), 18 deletions(-) diff --git a/FlowPlugins/CommunityFlowPlugins/tools/runCli/1.0.0/index.js b/FlowPlugins/CommunityFlowPlugins/tools/runCli/1.0.0/index.js index 412e89fc9..e9f1e9f5b 100644 --- a/FlowPlugins/CommunityFlowPlugins/tools/runCli/1.0.0/index.js +++ b/FlowPlugins/CommunityFlowPlugins/tools/runCli/1.0.0/index.js @@ -62,6 +62,16 @@ var details = function () { return ({ sidebarPosition: -1, icon: '', inputs: [ + { + label: 'Use Custom CLI Path?', + name: 'useCustomCliPath', + type: 'boolean', + defaultValue: 'false', + inputUI: { + type: 'switch', + }, + tooltip: 'Specify whether to use a custom CLI path', + }, { label: 'CLI', name: 'userCli', @@ -73,9 +83,49 @@ var details = function () { return ({ 'mkvmerge', 'mkvpropedit', ], + displayConditions: { + logic: 'AND', + sets: [ + { + logic: 'AND', + inputs: [ + { + name: 'useCustomCliPath', + value: 'false', + condition: '===', + }, + ], + }, + ], + }, }, tooltip: 'CLI to run', }, + { + label: 'Custom CLI Path', + name: 'customCliPath', + type: 'string', + defaultValue: '/usr/bin/mkvmerge', + inputUI: { + type: 'text', + displayConditions: { + logic: 'AND', + sets: [ + { + logic: 'AND', + inputs: [ + { + name: 'useCustomCliPath', + value: 'true', + condition: '===', + }, + ], + }, + ], + }, + }, + tooltip: 'Specify the path to the CLI to run', + }, { label: 'Does Command Create Output File?', name: 'doesCommandCreateOutputFile', @@ -112,6 +162,17 @@ var details = function () { return ({ }, tooltip: "\n This path can be accessed using ${outputFilePath} in the \"CLI Arguments\" input below.\n\n \\n\n ${cacheDir} is a special variable that points to the Tdarr worker cache directory.\n\n \\n \n ${fileName} is a special variable for the filename without extension.\n \n \\nExample\\n\n ${cacheDir}/${fileName}.{{{args.inputFileObj.container}}}\n ", }, + { + label: 'CLI Arguments', + name: 'cliArguments', + type: 'string', + // eslint-disable-next-line no-template-curly-in-string + defaultValue: '-o "${outputFilePath}" "{{{args.inputFileObj._id}}}"', + inputUI: { + type: 'text', + }, + tooltip: "Specify arguments to pass to the CLI. \n Normal variable templating with {{{}}} applies but ${outputFilePath} is a special\n variable from the \"Output File Path\" input above.\n\n \\nExample\\n\n -o \"${outputFilePath}\" \"{{{args.inputFileObj._id}}}\"\n ", + }, { label: 'Output File Becomes Working File?', name: 'outputFileBecomesWorkingFile', @@ -137,17 +198,6 @@ var details = function () { return ({ }, tooltip: 'Toggle this on to make the output file become the working file for the next plugin.', }, - { - label: 'CLI Arguments', - name: 'cliArguments', - type: 'string', - // eslint-disable-next-line no-template-curly-in-string - defaultValue: '-o "${outputFilePath}" "{{{args.inputFileObj._id}}}"', - inputUI: { - type: 'text', - }, - tooltip: "Specify arguments to pass to the CLI. \n Normal variable templating with {{{}}} applies but ${outputFilePath} is a special\n variable from the \"Output File Path\" input above.\n\n \\nExample\\n\n -o \"${outputFilePath}\" \"{{{args.inputFileObj._id}}}\"\n ", - }, ], outputs: [ { @@ -159,7 +209,7 @@ var details = function () { return ({ exports.details = details; // eslint-disable-next-line @typescript-eslint/no-unused-vars var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function () { - var lib, userCli, outputFileBecomesWorkingFile, userOutputFilePath, cliArguments, cacheDir, fileName, cliArgs, availableCli, msg, cli, res, msg; + var lib, userCli, useCustomCliPath, customCliPath, cliPath, outputFileBecomesWorkingFile, userOutputFilePath, cliArguments, cacheDir, fileName, cliArgs, availableCli, msg, cli, res, msg; return __generator(this, function (_a) { switch (_a.label) { case 0: @@ -167,6 +217,9 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign args.inputs = lib.loadDefaultValues(args.inputs, details); userCli = String(args.inputs.userCli); + useCustomCliPath = args.inputs.useCustomCliPath; + customCliPath = String(args.inputs.customCliPath); + cliPath = ''; outputFileBecomesWorkingFile = args.inputs.outputFileBecomesWorkingFile; userOutputFilePath = String(args.inputs.userOutputFilePath); cliArguments = String(args.inputs.cliArguments); @@ -189,14 +242,19 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function mkvpropedit: args.mkvpropeditPath, mkvmerge: 'mkvmerge', }; - if (!availableCli[userCli]) { - msg = "CLI ".concat(userCli, " not available to run in this plugin"); - args.jobLog(msg); - throw new Error(msg); + if (useCustomCliPath) { + cliPath = customCliPath; + } + else { + if (!availableCli[userCli]) { + msg = "CLI ".concat(userCli, " not available to run in this plugin"); + args.jobLog(msg); + throw new Error(msg); + } + cliPath = availableCli[userCli]; } - userCli = availableCli[userCli]; cli = new cliUtils_1.CLI({ - cli: userCli, + cli: cliPath, spawnArgs: cliArgs, spawnOpts: {}, jobLog: args.jobLog,