Merge pull request #550 from HaveAGitGat/delete_file

Add Delete File
make-only-subtitle-default
HaveAGitGat 2 years ago committed by GitHub
commit 0fbfb7cc8c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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…
Cancel
Save