Added dark and SFW modes.

This commit is contained in:
2020-03-23 01:43:49 +01:00
parent fdb2b132f6
commit 58ead7b426
288 changed files with 1316 additions and 156 deletions

View File

@@ -22,11 +22,32 @@ function getHash(buffer) {
return hash.digest('hex');
}
async function createThumbnail(buffer) {
async function getMeta(buffer, withHash = false) {
try {
const { entropy } = await sharp(buffer).stats();
const { width, height, size } = await sharp(buffer).metadata();
const hash = withHash && getHash(buffer);
return {
width,
height,
size,
entropy,
hash,
};
} catch (error) {
logger.warn(`Failed to retrieve image entropy, using 7.5: ${error.message}`);
return 7.5;
}
}
async function createThumbnail(buffer, height = config.media.thumbnailSize) {
try {
const thumbnail = sharp(buffer)
.resize({
height: config.media.thumbnailSize,
height,
withoutEnlargement: true,
})
.jpeg({
@@ -101,24 +122,6 @@ function pickQuality(items) {
return item || items[0];
}
async function getMeta(buffer) {
try {
const { entropy } = await sharp(buffer).stats();
const { width, height, size } = await sharp(buffer).metadata();
return {
width,
height,
size,
entropy,
};
} catch (error) {
logger.warn(`Failed to retrieve image entropy, using 7.5: ${error.message}`);
return 7.5;
}
}
async function extractItem(source) {
// const res = await bhttp.get(source.src);
const res = await get(source.src);
@@ -434,7 +437,10 @@ async function associateMedia(sourcesByTargetId, mediaBySource, domain, role, pr
}
module.exports = {
associateMedia,
createThumbnail,
getHash,
getMeta,
pluckItems,
storeMedia,
associateMedia,
};