mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-11-04 05:10:07 +00:00 
			
		
		
		
	refactoring files.js...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									8dcafdcf0d
								
							
						
					
					
						commit
						5d3a50cb15
					
				
							
								
								
									
										54
									
								
								ui/files.js
									
									
									
									
									
								
							
							
						
						
									
										54
									
								
								ui/files.js
									
									
									
									
									
								
							@ -27,15 +27,12 @@ var FILES_UPDATED = []
 | 
			
		||||
 | 
			
		||||
/********************************************************* Helpers ***/
 | 
			
		||||
 | 
			
		||||
function makeBaseFilename(base, date, ext){
 | 
			
		||||
function makeBaseFilename(base, ext){
 | 
			
		||||
	ext = ext == null ? CONFIG.json_ext : ext
 | 
			
		||||
 | 
			
		||||
	if(date == null){
 | 
			
		||||
	return CONFIG.base_file_pattern
 | 
			
		||||
		.replace('${BASE}', base)
 | 
			
		||||
		.replace('${EXT}', ext)
 | 
			
		||||
	}
 | 
			
		||||
	return date +'-'+ name +'.'+ ext
 | 
			
		||||
}
 | 
			
		||||
function makeFilename(base, date, ext){
 | 
			
		||||
	date = date == null ? Date.timeStamp() : date
 | 
			
		||||
@ -49,6 +46,7 @@ function makeFilename(base, date, ext){
 | 
			
		||||
function makeFilenamePattern(base, ext){
 | 
			
		||||
	return RegExp(makeFilename(base, '^[0-9]*', ext)+'$')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function makeDiffFilename(base, date, diff, ext){
 | 
			
		||||
	date = date == null ? Date.timeStamp() : date
 | 
			
		||||
	diff = diff == null ? CONFIG.diff_suffix : diff
 | 
			
		||||
@ -234,9 +232,15 @@ function loadLatestFile(path, dfl, pattern, diff_pattern, default_data){
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// XXX needs revision and testing...
 | 
			
		||||
function loadFile(title, path, file_dfl, file_pattern, default_data){
 | 
			
		||||
// NOTE: config change to name will not affect this...
 | 
			
		||||
function makeFileLoader(title, name, default_data, set_data, error, evt_name, skip_reg){
 | 
			
		||||
	var _loader = function(path){
 | 
			
		||||
		var res = $.Deferred()
 | 
			
		||||
 | 
			
		||||
		// NOTE: these are static!!
 | 
			
		||||
		var file_dfl = makeBaseFilename(name)
 | 
			
		||||
		var file_pattern = makeFilenamePattern(name)
 | 
			
		||||
 | 
			
		||||
		// default locations...
 | 
			
		||||
		if(path == null){
 | 
			
		||||
			var base = normalizePath(CONFIG.cache_dir_var)
 | 
			
		||||
@ -262,23 +266,10 @@ function loadFile(title, path, file_dfl, file_pattern, default_data){
 | 
			
		||||
					default_data)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	bubbleProgress(title, loader, res)
 | 
			
		||||
 | 
			
		||||
	return res
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function makeFileLoader(title, base, default_data, set_data, error, evt_name, skip_reg){
 | 
			
		||||
	var _loader = function(path){
 | 
			
		||||
		var res = loadFile(
 | 
			
		||||
				title, 
 | 
			
		||||
				path, 
 | 
			
		||||
				makeBaseFilename(base), 
 | 
			
		||||
				makeFilenamePattern(base), 
 | 
			
		||||
				default_data)
 | 
			
		||||
 | 
			
		||||
		res.done(set_data)
 | 
			
		||||
 | 
			
		||||
		bubbleProgress(title, loader, res)
 | 
			
		||||
 | 
			
		||||
		if(error != null){
 | 
			
		||||
			res.fail(error)
 | 
			
		||||
		}
 | 
			
		||||
@ -290,6 +281,8 @@ function makeFileLoader(title, base, default_data, set_data, error, evt_name, sk
 | 
			
		||||
	!skip_reg && FILE_LOADERS.push(_loader)
 | 
			
		||||
	return _loader
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// XXX make this check for updates -- no need to re-save if nothing 
 | 
			
		||||
// 		changed...
 | 
			
		||||
function makeFileSaver(title, file_dfl, get_data, skip_reg){
 | 
			
		||||
@ -321,6 +314,8 @@ function runFileLoaders(prefix, res){
 | 
			
		||||
		return bubbleProgress(prefix, load(), res, true)
 | 
			
		||||
	}))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// NOTE: if all is set, this will force save everything...
 | 
			
		||||
// XXX do we need bubbleProgress(..) here???
 | 
			
		||||
function runFileSavers(path, date, all){
 | 
			
		||||
@ -494,7 +489,6 @@ function saveFileImages(name, date, remove_diffs){
 | 
			
		||||
			})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// XXX use the pattern...
 | 
			
		||||
	dumpJSON(name, IMAGES)
 | 
			
		||||
 | 
			
		||||
	IMAGES_UPDATED = []
 | 
			
		||||
@ -514,6 +508,7 @@ function saveFileImagesDiff(name, date){
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	dumpJSON(name, updated)
 | 
			
		||||
 | 
			
		||||
	IMAGES_UPDATED = []
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -806,8 +801,8 @@ function exportImageTo(gid, path, im_name, size){
 | 
			
		||||
 | 
			
		||||
	// copy... 
 | 
			
		||||
	// NOTE: the sad smily face here is here for JS compatibility ;)
 | 
			
		||||
	;(function(src, dest){
 | 
			
		||||
		copyFile(src, dest)
 | 
			
		||||
	return (function(src, dest){
 | 
			
		||||
		return copyFile(src, dest)
 | 
			
		||||
			.done(function(){
 | 
			
		||||
				console.log(src, 'done.')
 | 
			
		||||
			})
 | 
			
		||||
@ -847,6 +842,10 @@ function exportImagesTo(path, im_name, dir_name, size){
 | 
			
		||||
	selection.sort(imageOrderCmp)
 | 
			
		||||
	var z = (('10e' + (selection.length + '').length) * 1 + '').slice(2)
 | 
			
		||||
 | 
			
		||||
	var queue = []
 | 
			
		||||
	var pool = []
 | 
			
		||||
	var pool_size = 10
 | 
			
		||||
 | 
			
		||||
	// go through ribbons...
 | 
			
		||||
	for(var i=DATA.ribbons.length-1; i >= 0; i--){
 | 
			
		||||
		var ribbon = DATA.ribbons[i]
 | 
			
		||||
@ -863,11 +862,16 @@ function exportImagesTo(path, im_name, dir_name, size){
 | 
			
		||||
			var o = selection.indexOf(gid) + ''
 | 
			
		||||
			dest = dest.replace('%i', (z + o).slice(o.length))
 | 
			
		||||
 | 
			
		||||
			exportImageTo(gid, path, dest, size)
 | 
			
		||||
			queue.push([gid, path, dest, size])
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		path = normalizePath(path +'/'+ dir_name)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// XXX pool this...
 | 
			
		||||
	queue.forEach(function(e){
 | 
			
		||||
		exportImageTo.apply(null, e)
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user