From a0eeb45f14bab539f505861cad8f5d42d9ba30cb Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 8 Apr 2021 10:35:49 +0200 Subject: Update data in DB when regenerate thumbnails --- scripts/regenerate-thumbnails.ts | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'scripts') diff --git a/scripts/regenerate-thumbnails.ts b/scripts/regenerate-thumbnails.ts index 04c6e2b74..0213b8a22 100644 --- a/scripts/regenerate-thumbnails.ts +++ b/scripts/regenerate-thumbnails.ts @@ -3,12 +3,13 @@ registerTSPaths() import * as Bluebird from 'bluebird' import * as program from 'commander' -import { pathExists } from 'fs-extra' +import { pathExists, remove } from 'fs-extra' import { 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' program .description('Regenerate local thumbnails using preview files') @@ -37,13 +38,8 @@ async function processVideo (videoArg: MVideo) { const thumbnail = video.getMiniature() const preview = video.getPreview() - const thumbnailPath = thumbnail.getPath() const previewPath = preview.getPath() - if (!await pathExists(thumbnailPath)) { - throw new Error(`Thumbnail ${thumbnailPath} does not exist on disk`) - } - if (!await pathExists(previewPath)) { throw new Error(`Preview ${previewPath} does not exist on disk`) } @@ -52,5 +48,22 @@ async function processVideo (videoArg: MVideo) { width: THUMBNAILS_SIZE.width, height: THUMBNAILS_SIZE.height } + + const oldPath = thumbnail.getPath() + + // Update thumbnail + thumbnail.filename = ActorImageModel.generateFilename() + thumbnail.width = size.width + thumbnail.height = size.height + + const thumbnailPath = thumbnail.getPath() await processImage(previewPath, thumbnailPath, size, true) + + // Save new attributes + await thumbnail.save() + + // Remove old thumbnail + await remove(oldPath) + + // Don't federate, remote instances will refresh the thumbnails after a while } -- cgit v1.2.3