X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fcaptions-utils.ts;h=73b6d166d978915da7de8b0dcffbceb5d49a3f71;hb=b763f88dd0f455ce0ccae9cb81182c985a47c101;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..73b6d166d 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/typings/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