generate blur thumbnail for all items!

This commit is contained in:
2026-05-23 21:05:40 +02:00
parent 8c9e89c771
commit 2f044a8d02
11 changed files with 79 additions and 92 deletions

View File

@@ -8,7 +8,7 @@
* node regen.mjs --all - Regenerate ALL items
* node regen.mjs --audio - Regenerate all audio items
* node regen.mjs --pdf - Regenerate all PDF items
* node regen.mjs --blur - Regenerate ONLY the blurred thumbnails for NSFW/NSFL items
* node regen.mjs --blur - Regenerate ONLY the blurred thumbnails for all items
*/
import db from "../src/inc/sql.mjs";
@@ -27,7 +27,7 @@ if (args.length === 0) {
console.log(' node regen.mjs --audio - Regenerate all audio items');
console.log(' node regen.mjs --pdf - Regenerate all PDF items');
console.log(' node regen.mjs --youtube - Regenerate all YouTube thumbnails');
console.log(' node regen.mjs --blur - Regenerate ONLY the blurred thumbnails for NSFW/NSFL items');
console.log(' node regen.mjs --blur - Regenerate ONLY the blurred thumbnails for all items');
process.exit(0);
}
@@ -64,12 +64,9 @@ const regen = async (item) => {
console.log(`[${id}] ✓ Thumbnail regenerated`);
}
// Regenerate blurred thumbnail if item has NSFW tag
const nsfw = await db`SELECT 1 FROM tags_assign WHERE item_id = ${id} AND tag_id = 2 LIMIT 1`;
if (nsfw.length > 0) {
await queue.genBlurredThumbnail(id, false);
console.log(`[${id}] ✓ Blurred thumbnail regenerated`);
}
// Regenerate blurred thumbnail unconditionally
await queue.genBlurredThumbnail(id, false);
console.log(`[${id}] ✓ Blurred thumbnail regenerated`);
} catch (err) {
console.error(`[${id}] ✗ FAILED:`, err.message || err);
}
@@ -91,16 +88,13 @@ try {
items = await db`SELECT id, dest, mime, src FROM items WHERE active = true AND is_deleted = false AND mime = 'video/youtube' ORDER BY id`;
console.log(`Regenerating ${items.length} YouTube items...\n`);
} else if (blurOnly) {
const nsflTagId = cfg.nsfl_tag_id || 3;
items = await db`
SELECT DISTINCT i.id, i.dest, i.mime, i.src
FROM items i
JOIN tags_assign ta ON ta.item_id = i.id
WHERE i.active = true AND i.is_deleted = false
AND ta.tag_id IN (2, ${nsflTagId})
ORDER BY i.id
SELECT id, dest, mime, src
FROM items
WHERE active = true AND is_deleted = false
ORDER BY id
`;
console.log(`Regenerating ONLY blurred thumbnails for ${items.length} NSFW/NSFL items...\n`);
console.log(`Regenerating ONLY blurred thumbnails for all ${items.length} items...\n`);
} else {
const ids = args.map(Number).filter(n => !isNaN(n) && n > 0);
if (ids.length === 0) {