X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fcaptions-utils.ts;h=0dad23759b1090a34eb00c2c465083e69f51799c;hb=c6c0fa6cd8fe8f752463d8982c3dbcd448739c4e;hp=8b04f878d1273b079ab1860bf83348e2ee8efdf6;hpb=f4001cf408a99049d01a356bfb20a62342de06ea;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/captions-utils.ts b/server/helpers/captions-utils.ts index 8b04f878d..0dad23759 100644 --- a/server/helpers/captions-utils.ts +++ b/server/helpers/captions-utils.ts @@ -1,20 +1,19 @@ -import { renamePromise, unlinkPromise } from './core-utils' import { join } from 'path' -import { CONFIG } from '../initializers' -import { VideoCaptionModel } from '../models/video/video-caption' +import { CONFIG } from '../initializers/config' import * as srt2vtt from 'srt-to-vtt' -import { createReadStream, createWriteStream } from 'fs' +import { createReadStream, createWriteStream, move, remove } from 'fs-extra' +import { MVideoCaptionFormattable } from '@server/types/models' -async function moveAndProcessCaptionFile (physicalFile: { filename: string, path: string }, videoCaption: VideoCaptionModel) { +async function moveAndProcessCaptionFile (physicalFile: { filename: string, path: string }, videoCaption: MVideoCaptionFormattable) { const videoCaptionsDir = CONFIG.STORAGE.CAPTIONS_DIR const destination = join(videoCaptionsDir, videoCaption.getCaptionName()) // Convert this srt file to vtt if (physicalFile.path.endsWith('.srt')) { await convertSrtToVtt(physicalFile.path, destination) - await unlinkPromise(physicalFile.path) - } else { // Just move the vtt file - await renamePromise(physicalFile.path, destination) + await remove(physicalFile.path) + } else if (physicalFile.path !== destination) { // Just move the vtt file + await move(physicalFile.path, destination, { overwrite: true }) } // This is important in case if there is another attempt in the retry process