X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=scripts%2Fregenerate-thumbnails.ts;h=061819387ac0420ba1fe6092653ec960239d1039;hb=c6ffe7fb2b05269f68d40871117a6082d134cd62;hp=0213b8a22414ed1f4557852e9d003f838b4890f6;hpb=a0eeb45f14bab539f505861cad8f5d42d9ba30cb;p=github%2FChocobozzz%2FPeerTube.git diff --git a/scripts/regenerate-thumbnails.ts b/scripts/regenerate-thumbnails.ts index 0213b8a22..061819387 100644 --- a/scripts/regenerate-thumbnails.ts +++ b/scripts/regenerate-thumbnails.ts @@ -1,15 +1,10 @@ -import { registerTSPaths } from '../server/helpers/register-ts-paths' -registerTSPaths() - -import * as Bluebird from 'bluebird' -import * as program from 'commander' +import { map } from 'bluebird' +import { program } from 'commander' import { pathExists, remove } from 'fs-extra' -import { processImage } from '@server/helpers/image-utils' +import { generateImageFilename, processImage } from '@server/helpers/image-utils' import { THUMBNAILS_SIZE } from '@server/initializers/constants' -import { VideoModel } from '@server/models/video/video' -import { MVideo } from '@server/types/models' import { initDatabaseModels } from '@server/initializers/database' -import { ActorImageModel } from '@server/models/account/actor-image' +import { VideoModel } from '@server/models/video/video' program .description('Regenerate local thumbnails using preview files') @@ -22,16 +17,16 @@ run() async function run () { await initDatabaseModels(true) - const videos = await VideoModel.listLocal() + const ids = await VideoModel.listLocalIds() - await Bluebird.map(videos, v => { - return processVideo(v) - .catch(err => console.error('Cannot process video %s.', v.url, err)) + await map(ids, id => { + return processVideo(id) + .catch(err => console.error('Cannot process video %d.', id, err)) }, { concurrency: 20 }) } -async function processVideo (videoArg: MVideo) { - const video = await VideoModel.loadWithFiles(videoArg.id) +async function processVideo (id: number) { + const video = await VideoModel.loadWithFiles(id) console.log('Processing video %s.', video.name) @@ -52,12 +47,12 @@ async function processVideo (videoArg: MVideo) { const oldPath = thumbnail.getPath() // Update thumbnail - thumbnail.filename = ActorImageModel.generateFilename() + thumbnail.filename = generateImageFilename() thumbnail.width = size.width thumbnail.height = size.height const thumbnailPath = thumbnail.getPath() - await processImage(previewPath, thumbnailPath, size, true) + await processImage({ path: previewPath, destination: thumbnailPath, newSize: size, keepOriginal: true }) // Save new attributes await thumbnail.save()