X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fcaptions-utils.ts;h=73b6d166d978915da7de8b0dcffbceb5d49a3f71;hb=32c68d67d9125df62ead71668efca4da30132786;hp=20c9fe5aa436efb48cb45128c1c97ec9f2d0c1f5;hpb=c9d5c64f98c1f1fe7950de60c58edeaf3ace070d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/captions-utils.ts b/server/helpers/captions-utils.ts index 20c9fe5aa..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-extra' +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