mirror of
https://github.com/gabehf/Tdarr_Plugins.git
synced 2026-03-09 07:29:04 -07:00
commit
0fbfb7cc8c
4 changed files with 271 additions and 6 deletions
108
FlowPlugins/CommunityFlowPlugins/file/deleteFile/1.0.0/index.js
Normal file
108
FlowPlugins/CommunityFlowPlugins/file/deleteFile/1.0.0/index.js
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
"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 });
|
||||
exports.plugin = exports.details = void 0;
|
||||
var fs_1 = require("fs");
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
var details = function () { return ({
|
||||
name: 'Delete File',
|
||||
description: 'Delete the working file or original file.',
|
||||
style: {
|
||||
borderColor: 'red',
|
||||
},
|
||||
tags: 'video',
|
||||
isStartPlugin: false,
|
||||
pType: '',
|
||||
requiresVersion: '2.11.01',
|
||||
sidebarPosition: -1,
|
||||
icon: 'faTrash',
|
||||
inputs: [
|
||||
{
|
||||
name: 'fileToDelete',
|
||||
type: 'string',
|
||||
defaultValue: 'workingFile',
|
||||
inputUI: {
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
'workingFile',
|
||||
'originalFile',
|
||||
],
|
||||
},
|
||||
tooltip: 'Specify the file to delete',
|
||||
},
|
||||
],
|
||||
outputs: [
|
||||
{
|
||||
number: 1,
|
||||
tooltip: 'Continue to next plugin',
|
||||
},
|
||||
],
|
||||
}); };
|
||||
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, fileToDelete;
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0:
|
||||
lib = require('../../../../../methods/lib')();
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign
|
||||
args.inputs = lib.loadDefaultValues(args.inputs, details);
|
||||
fileToDelete = String(args.inputs.fileToDelete);
|
||||
if (!(fileToDelete === 'workingFile')) return [3 /*break*/, 2];
|
||||
args.jobLog("Deleting working file ".concat(args.inputFileObj._id));
|
||||
return [4 /*yield*/, fs_1.promises.unlink(args.inputFileObj._id)];
|
||||
case 1:
|
||||
_a.sent();
|
||||
return [3 /*break*/, 4];
|
||||
case 2:
|
||||
if (!(fileToDelete === 'originalFile')) return [3 /*break*/, 4];
|
||||
args.jobLog("Deleting original file ".concat(args.originalLibraryFile._id));
|
||||
return [4 /*yield*/, fs_1.promises.unlink(args.originalLibraryFile._id)];
|
||||
case 3:
|
||||
_a.sent();
|
||||
_a.label = 4;
|
||||
case 4: return [2 /*return*/, {
|
||||
outputFileObj: args.inputFileObj,
|
||||
outputNumber: 1,
|
||||
variables: args.variables,
|
||||
}];
|
||||
}
|
||||
});
|
||||
}); };
|
||||
exports.plugin = plugin;
|
||||
|
|
@ -26,8 +26,8 @@ var details = function () { return ({
|
|||
version: '1.0.0',
|
||||
id: 'jiZxqk6Mn',
|
||||
position: {
|
||||
x: 718.6406249999999,
|
||||
y: 385.25,
|
||||
x: 596.6254413959128,
|
||||
y: 400.40716566510395,
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
@ -38,7 +38,43 @@ var details = function () { return ({
|
|||
id: '1Ic5EqipX',
|
||||
position: {
|
||||
x: 718.640625,
|
||||
y: 255.75,
|
||||
y: 256.50785828325525,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Delete Original File',
|
||||
sourceRepo: 'Community',
|
||||
pluginName: 'deleteFile',
|
||||
version: '1.0.0',
|
||||
id: 'GFVi2TyC5',
|
||||
position: {
|
||||
x: 1023.512757091562,
|
||||
y: 507.4711636025485,
|
||||
},
|
||||
inputsDB: {
|
||||
fileToDelete: 'originalFile',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Move To Directory',
|
||||
sourceRepo: 'Community',
|
||||
pluginName: 'moveToDirectory',
|
||||
version: '2.0.0',
|
||||
id: 'paWDXnDMV',
|
||||
position: {
|
||||
x: 831.7746114279963,
|
||||
y: 397.5817125305445,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "By default this flow will replace the original file. If you'd like to move the\n file to an output directory and delete the original file then connect the 'Basic Video or Audio\n Settings' plugin to the 'Move To Directory'",
|
||||
sourceRepo: 'Community',
|
||||
pluginName: 'comment',
|
||||
version: '1.0.0',
|
||||
id: 'CuLcKZmvH',
|
||||
position: {
|
||||
x: 934.0854796674475,
|
||||
y: 187.65496806885437,
|
||||
},
|
||||
},
|
||||
],
|
||||
|
|
@ -57,6 +93,13 @@ var details = function () { return ({
|
|||
targetHandle: null,
|
||||
id: 'CNPsr76ct',
|
||||
},
|
||||
{
|
||||
source: 'paWDXnDMV',
|
||||
sourceHandle: '1',
|
||||
target: 'GFVi2TyC5',
|
||||
targetHandle: null,
|
||||
id: 'f2s4CS2H5',
|
||||
},
|
||||
],
|
||||
}); };
|
||||
exports.details = details;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
import { promises as fs } from 'fs';
|
||||
import {
|
||||
IpluginDetails,
|
||||
IpluginInputArgs,
|
||||
IpluginOutputArgs,
|
||||
} from '../../../../FlowHelpers/1.0.0/interfaces/interfaces';
|
||||
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
const details = (): IpluginDetails => ({
|
||||
name: 'Delete File',
|
||||
description: 'Delete the working file or original file.',
|
||||
style: {
|
||||
borderColor: 'red',
|
||||
},
|
||||
tags: 'video',
|
||||
isStartPlugin: false,
|
||||
pType: '',
|
||||
requiresVersion: '2.11.01',
|
||||
sidebarPosition: -1,
|
||||
icon: 'faTrash',
|
||||
inputs: [
|
||||
{
|
||||
name: 'fileToDelete',
|
||||
type: 'string',
|
||||
defaultValue: 'workingFile',
|
||||
inputUI: {
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
'workingFile',
|
||||
'originalFile',
|
||||
],
|
||||
},
|
||||
tooltip: 'Specify the file to delete',
|
||||
},
|
||||
],
|
||||
outputs: [
|
||||
{
|
||||
number: 1,
|
||||
tooltip: 'Continue to next plugin',
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const plugin = async (args: IpluginInputArgs): Promise<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);
|
||||
|
||||
const fileToDelete = String(args.inputs.fileToDelete);
|
||||
|
||||
if (fileToDelete === 'workingFile') {
|
||||
args.jobLog(`Deleting working file ${args.inputFileObj._id}`);
|
||||
await fs.unlink(args.inputFileObj._id);
|
||||
} else if (fileToDelete === 'originalFile') {
|
||||
args.jobLog(`Deleting original file ${args.originalLibraryFile._id}`);
|
||||
await fs.unlink(args.originalLibraryFile._id);
|
||||
}
|
||||
|
||||
return {
|
||||
outputFileObj: args.inputFileObj,
|
||||
outputNumber: 1,
|
||||
variables: args.variables,
|
||||
};
|
||||
};
|
||||
export {
|
||||
details,
|
||||
plugin,
|
||||
};
|
||||
|
|
@ -27,8 +27,8 @@ const details = () :IflowTemplate => ({
|
|||
version: '1.0.0',
|
||||
id: 'jiZxqk6Mn',
|
||||
position: {
|
||||
x: 718.6406249999999,
|
||||
y: 385.25,
|
||||
x: 596.6254413959128,
|
||||
y: 400.40716566510395,
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
@ -39,7 +39,45 @@ const details = () :IflowTemplate => ({
|
|||
id: '1Ic5EqipX',
|
||||
position: {
|
||||
x: 718.640625,
|
||||
y: 255.75,
|
||||
y: 256.50785828325525,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Delete Original File',
|
||||
sourceRepo: 'Community',
|
||||
pluginName: 'deleteFile',
|
||||
version: '1.0.0',
|
||||
id: 'GFVi2TyC5',
|
||||
position: {
|
||||
x: 1023.512757091562,
|
||||
y: 507.4711636025485,
|
||||
},
|
||||
inputsDB: {
|
||||
fileToDelete: 'originalFile',
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Move To Directory',
|
||||
sourceRepo: 'Community',
|
||||
pluginName: 'moveToDirectory',
|
||||
version: '2.0.0',
|
||||
id: 'paWDXnDMV',
|
||||
position: {
|
||||
x: 831.7746114279963,
|
||||
y: 397.5817125305445,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: `By default this flow will replace the original file. If you'd like to move the
|
||||
file to an output directory and delete the original file then connect the 'Basic Video or Audio
|
||||
Settings' plugin to the 'Move To Directory'`,
|
||||
sourceRepo: 'Community',
|
||||
pluginName: 'comment',
|
||||
version: '1.0.0',
|
||||
id: 'CuLcKZmvH',
|
||||
position: {
|
||||
x: 934.0854796674475,
|
||||
y: 187.65496806885437,
|
||||
},
|
||||
},
|
||||
],
|
||||
|
|
@ -58,6 +96,13 @@ const details = () :IflowTemplate => ({
|
|||
targetHandle: null,
|
||||
id: 'CNPsr76ct',
|
||||
},
|
||||
{
|
||||
source: 'paWDXnDMV',
|
||||
sourceHandle: '1',
|
||||
target: 'GFVi2TyC5',
|
||||
targetHandle: null,
|
||||
id: 'f2s4CS2H5',
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue