Use Node scan function if available

make-only-subtitle-default
HaveAGitGat 2 years ago
parent 7bb090dc6f
commit 6ac8019e1d

@ -90,26 +90,41 @@ export const runClassicPlugin = async (args:IpluginInputArgs, type:'filter'|'tra
const scanTypes = getScanTypes([pluginSrcStr]); const scanTypes = getScanTypes([pluginSrcStr]);
const pluginInputFileObj = await args.deps.axiosMiddleware('api/v2/scan-individual-file', { let pluginInputFileObj;
file: { let originalLibraryFile;
const inputFileScanArgs = {
_id: args.inputFileObj._id, _id: args.inputFileObj._id,
file: args.inputFileObj.file, file: args.inputFileObj.file,
DB: args.inputFileObj.DB, DB: args.inputFileObj.DB,
footprintId: args.inputFileObj.footprintId, footprintId: args.inputFileObj.footprintId,
}, };
scanTypes,
});
const originalLibraryFile = await args.deps.axiosMiddleware('api/v2/scan-individual-file', { const originalLibraryFileScanArgs = {
file: {
_id: args.originalLibraryFile._id, _id: args.originalLibraryFile._id,
file: args.originalLibraryFile.file, file: args.originalLibraryFile.file,
DB: args.originalLibraryFile.DB, DB: args.originalLibraryFile.DB,
footprintId: args.originalLibraryFile.footprintId, footprintId: args.originalLibraryFile.footprintId,
}, };
if (typeof args.scanIndividualFile !== 'undefined') {
args.jobLog('Scanning files using Node');
pluginInputFileObj = await args.scanIndividualFile(inputFileScanArgs, scanTypes);
originalLibraryFile = await args.scanIndividualFile(originalLibraryFileScanArgs, scanTypes);
} else {
args.jobLog('Scanning files using Server API');
pluginInputFileObj = await args.deps.axiosMiddleware('api/v2/scan-individual-file', {
file: inputFileScanArgs,
scanTypes, scanTypes,
}); });
originalLibraryFile = await args.deps.axiosMiddleware('api/v2/scan-individual-file', {
file: originalLibraryFileScanArgs,
scanTypes,
});
}
const otherArguments = { const otherArguments = {
handbrakePath: args.handbrakePath, handbrakePath: args.handbrakePath,
ffmpegPath: args.ffmpegPath, ffmpegPath: args.ffmpegPath,

@ -1,4 +1,5 @@
import { IFileObject, Istreams } from './synced/IFileObject'; import { IscanTypes } from '../fileUtils';
import { IFileObject, IFileObjectMin, Istreams } from './synced/IFileObject';
import Ijob from './synced/jobInterface'; import Ijob from './synced/jobInterface';
export interface IpluginInputUi { export interface IpluginInputUi {
@ -136,6 +137,7 @@ export interface IpluginInputArgs {
updateWorker: IupdateWorker, updateWorker: IupdateWorker,
logFullCliOutput: boolean, logFullCliOutput: boolean,
logOutcome: (outcome: string) => void, logOutcome: (outcome: string) => void,
scanIndividualFile?: (filee: IFileObjectMin, scanTypes: IscanTypes) => IFileObject,
deps: { deps: {
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
fsextra: any, fsextra: any,

Loading…
Cancel
Save