some tweaking...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2020-10-30 19:24:38 +03:00
parent 669ee51297
commit 5c73431299

View File

@ -237,7 +237,14 @@ var SharpActions = actions.Actions({
logger = logger || this.logger logger = logger || this.logger
logger = logger && logger.push('Resize') logger = logger && logger.push('Resize')
// backup...
// XXX make backup name pattern configurable...
var timestamp = Date.timeStamp() var timestamp = Date.timeStamp()
var backupName = function(to){
var i = 0
while(fse.existsSync(`${to}.${timestamp}.bak`+ (i || ''))){
i++ }
return `${to}.${timestamp}.bak`+ (i || '') }
return Promise.all(images return Promise.all(images
.map(function(gid){ .map(function(gid){
@ -257,7 +264,7 @@ var SharpActions = actions.Actions({
var img = sharp(source) var img = sharp(source)
return (skipSmaller ? return (skipSmaller ?
// skip source if smaller... // skip if smaller than size...
img img
.metadata() .metadata()
.then(function(m){ .then(function(m){
@ -268,9 +275,10 @@ var SharpActions = actions.Actions({
&& Math.min(m.width, m.height) < size)){ && Math.min(m.width, m.height) < size)){
logger && logger.emit('skipping', to) logger && logger.emit('skipping', to)
return } return }
// continue...
return img }) return img })
: Promise.resolve(img)) : Promise.resolve(img))
// write... // prepare to write...
.then(function(img){ .then(function(img){
return img return img
&& ensureDir(pathlib.dirname(to)) && ensureDir(pathlib.dirname(to))
@ -278,14 +286,8 @@ var SharpActions = actions.Actions({
// handle existing image... // handle existing image...
if(fse.existsSync(to)){ if(fse.existsSync(to)){
// rename... // rename...
// XXX make backup name pattern configurable...
if(overwrite == 'backup'){ if(overwrite == 'backup'){
var i = 0 fse.renameSync(to, backupName(to))
while(fse.existsSync(`${to}.${timestamp}.bak`+ (i || ''))){
i++ }
fse.renameSync(
to,
`${to}.${timestamp}.bak`+ (i || ''))
// remove... // remove...
} else if(overwrite){ } else if(overwrite){
fse.removeSync(to) fse.removeSync(to)