mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 10:20:08 +00:00
moving to new .makePreview(..)
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
65ddabb7d9
commit
32f9d5450e
@ -57,12 +57,12 @@ var IndexFormatActions = actions.Actions({
|
|||||||
|
|
||||||
'preview-sizes': [
|
'preview-sizes': [
|
||||||
75,
|
75,
|
||||||
150,
|
200,
|
||||||
350,
|
480,
|
||||||
900,
|
900,
|
||||||
1000,
|
1080,
|
||||||
1280,
|
1440,
|
||||||
1920,
|
2160,
|
||||||
],
|
],
|
||||||
|
|
||||||
// Supported fields:
|
// Supported fields:
|
||||||
|
|||||||
@ -9,7 +9,8 @@
|
|||||||
|
|
||||||
var actions = require('lib/actions')
|
var actions = require('lib/actions')
|
||||||
var features = require('lib/features')
|
var features = require('lib/features')
|
||||||
var preview = require('lib/preview')
|
// XXX REMOVE...
|
||||||
|
//var preview = require('lib/preview')
|
||||||
|
|
||||||
var core = require('features/core')
|
var core = require('features/core')
|
||||||
|
|
||||||
@ -81,6 +82,7 @@ var SharpActions = actions.Actions({
|
|||||||
// from filesystem.IndexFormat...
|
// from filesystem.IndexFormat...
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/* XXX REMOVE ???
|
||||||
// NOTE: post handlers are pushed in .makePreviews(..)
|
// NOTE: post handlers are pushed in .makePreviews(..)
|
||||||
// XXX might be a good idea to make this a bit more generic...
|
// XXX might be a good idea to make this a bit more generic...
|
||||||
// XXX might be a good idea to use tasks to throttle....
|
// XXX might be a good idea to use tasks to throttle....
|
||||||
@ -117,6 +119,7 @@ var SharpActions = actions.Actions({
|
|||||||
function(){
|
function(){
|
||||||
this.previewConstructorWorker && this.previewConstructorWorker.kill()
|
this.previewConstructorWorker && this.previewConstructorWorker.kill()
|
||||||
delete this.previewConstructorWorker }],
|
delete this.previewConstructorWorker }],
|
||||||
|
//*/
|
||||||
|
|
||||||
// XXX need to destinguish if something was written in the promise chain...
|
// XXX need to destinguish if something was written in the promise chain...
|
||||||
// ...return false???
|
// ...return false???
|
||||||
@ -241,7 +244,9 @@ var SharpActions = actions.Actions({
|
|||||||
true
|
true
|
||||||
: transform
|
: transform
|
||||||
timestamp = timestamp || Date.timeStamp()
|
timestamp = timestamp || Date.timeStamp()
|
||||||
logger = logger || this.logger
|
logger = logger !== false ?
|
||||||
|
(logger || this.logger)
|
||||||
|
: false
|
||||||
logger = logger && logger.push('Resize')
|
logger = logger && logger.push('Resize')
|
||||||
|
|
||||||
// backup...
|
// backup...
|
||||||
@ -255,7 +260,8 @@ var SharpActions = actions.Actions({
|
|||||||
return Promise.all(images
|
return Promise.all(images
|
||||||
.map(function(gid){
|
.map(function(gid){
|
||||||
// skip non-images...
|
// skip non-images...
|
||||||
if(that.images[gid].type != undefined){
|
if(!['image', null, undefined]
|
||||||
|
.includes(that.images[gid].type)){
|
||||||
return false }
|
return false }
|
||||||
|
|
||||||
// paths...
|
// paths...
|
||||||
@ -335,15 +341,39 @@ var SharpActions = actions.Actions({
|
|||||||
&& logger.emit('done', to)
|
&& logger.emit('done', to)
|
||||||
return img }) }) }) })) }],
|
return img }) }) }) })) }],
|
||||||
|
|
||||||
// XXX do better logging...
|
|
||||||
// XXX test against .makePreviews(..) for speed...
|
// XXX test against .makePreviews(..) for speed...
|
||||||
|
// XXX this does not update image.base_path -- is this correct???
|
||||||
|
// XXX do we need to be able to run this in a worker???
|
||||||
// XXX EXPERIMENTAL
|
// XXX EXPERIMENTAL
|
||||||
makePreviews2: ['- Image/',
|
makePreviews: ['Sharp|File/Make image $previews',
|
||||||
|
core.doc`Make image previews
|
||||||
|
|
||||||
|
Make previews for all images...
|
||||||
|
.makePreviews()
|
||||||
|
.makePreviews('all')
|
||||||
|
-> actions
|
||||||
|
|
||||||
|
Make previews for current image...
|
||||||
|
.makePreviews('current')
|
||||||
|
-> actions
|
||||||
|
|
||||||
|
Make previews for specific image(s)...
|
||||||
|
.makePreviews(gid)
|
||||||
|
.makePreviews([gid, gid, ..])
|
||||||
|
-> actions
|
||||||
|
|
||||||
|
`,
|
||||||
function(images, sizes, base_path, logger){
|
function(images, sizes, base_path, logger){
|
||||||
var that = this
|
var that = this
|
||||||
logger = logger || this.logger
|
|
||||||
|
var logger_mode = this.config['preview-progress-mode'] || 'gids'
|
||||||
|
logger = logger !== false ?
|
||||||
|
(logger || this.logger)
|
||||||
|
: false
|
||||||
|
var gid_logger = logger && logger.push('Images')
|
||||||
logger = logger && logger.push('Previews')
|
logger = logger && logger.push('Previews')
|
||||||
|
|
||||||
|
|
||||||
// get/normalize images...
|
// get/normalize images...
|
||||||
//images = images || this.current
|
//images = images || this.current
|
||||||
images = images
|
images = images
|
||||||
@ -384,26 +414,32 @@ var SharpActions = actions.Actions({
|
|||||||
var base = base_path
|
var base = base_path
|
||||||
|| img.base_path
|
|| img.base_path
|
||||||
|| that.location.path
|
|| that.location.path
|
||||||
|
|
||||||
|
gid_logger && gid_logger.emit('queued', gid)
|
||||||
|
|
||||||
return sizes
|
return sizes
|
||||||
.map(function(size){
|
.map(function(size, i){
|
||||||
var name = path = path_tpl
|
var name = path = path_tpl
|
||||||
.replace(/\$RESOLUTION|\$\{RESOLUTION\}/g, parseInt(size))
|
.replace(/\$RESOLUTION|\$\{RESOLUTION\}/g, parseInt(size))
|
||||||
.replace(/\$GID|\$\{GID\}/g, gid)
|
.replace(/\$GID|\$\{GID\}/g, gid)
|
||||||
.replace(/\$NAME|\$\{NAME\}/g, img.name)
|
.replace(/\$NAME|\$\{NAME\}/g, img.name)
|
||||||
|
|
||||||
return that.makeResizedImage(gid, size, base, {
|
return that.makeResizedImage(gid, size, base, {
|
||||||
name,
|
name,
|
||||||
skipSmaller: true,
|
skipSmaller: true,
|
||||||
transform: false,
|
transform: false,
|
||||||
logger,
|
logger: logger_mode == 'gids' ?
|
||||||
|
false
|
||||||
|
: logger,
|
||||||
})
|
})
|
||||||
.then(function([res]){
|
.then(function([res]){
|
||||||
// XXX this does not appears to work...
|
i == sizes.length-1
|
||||||
|
&& gid_logger && gid_logger.emit('done', gid)
|
||||||
|
|
||||||
|
// did not create a preview...
|
||||||
if(!res){
|
if(!res){
|
||||||
return false }
|
return false }
|
||||||
|
|
||||||
// update metadata...
|
// update metadata...
|
||||||
// XXX make this optional (for testing)...
|
|
||||||
var preview = img.preview = img.preview || {}
|
var preview = img.preview = img.preview || {}
|
||||||
preview[parseInt(size) + 'px'] = name
|
preview[parseInt(size) + 'px'] = name
|
||||||
that.markChanged('images', [gid])
|
that.markChanged('images', [gid])
|
||||||
@ -411,11 +447,11 @@ var SharpActions = actions.Actions({
|
|||||||
return [gid, size, name] }) }) })
|
return [gid, size, name] }) }) })
|
||||||
.flat()) }],
|
.flat()) }],
|
||||||
|
|
||||||
// XXX use .makeResizedImage(..)
|
/* XXX REMOVE...
|
||||||
// XXX not sure why are we messing with orientation here...
|
// XXX not sure why are we messing with orientation here...
|
||||||
// XXX should this account for non-jpeg images???
|
// XXX should this account for non-jpeg images???
|
||||||
// XXX log: count gids and not specific images...
|
// XXX log: count gids and not specific images...
|
||||||
makePreviews: ['Sharp|File/Make image $previews',
|
_makePreviews: ['Sharp|File/Make image $previews',
|
||||||
core.doc`Make image previews
|
core.doc`Make image previews
|
||||||
|
|
||||||
Make previews for all images...
|
Make previews for all images...
|
||||||
@ -574,6 +610,7 @@ var SharpActions = actions.Actions({
|
|||||||
base_path,
|
base_path,
|
||||||
path_tpl,
|
path_tpl,
|
||||||
post_handler) }))} }],
|
post_handler) }))} }],
|
||||||
|
//*/
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user