feature(put) Util -> exec, check

This commit is contained in:
coderaiser 2014-11-27 02:18:03 -05:00
parent 308a307408
commit 82725c0fcc
2 changed files with 23 additions and 15 deletions

View file

@ -7,7 +7,8 @@
path = require('path'),
CloudFunc = require(DIR + 'cloudfunc'),
Util = require(DIR + 'util'),
check = require('check'),
exec = require('execon'),
packer = require(DIR_SERVER + 'packer'),
@ -15,33 +16,38 @@
tryOptions = {log: true, exit: true},
flop = tryRequire('flop', tryOptions),
files = tryRequire('files-io', tryOptions);
files = tryRequire('files-io', tryOptions),
onSave = exec.with(onDone, 'save'),
onMakeDir = exec.with(onDone, 'make dir');
module.exports = function(query, name, readStream, callback) {
var baseName = path.basename(name),
onDone = function(msg, error) {
if (!error)
msg = CloudFunc.formatMsg(msg, baseName);
callback(error, msg);
},
onSave = Util.exec.with(onDone, 'save'),
OnMakeDir = Util.exec.with(onDone, 'make dir');
var onFile = exec.with(onSave, name, callback),
onDir = exec.with(onMakeDir, name, callback);
Util.check(arguments, ['query', 'name', 'readStream', 'callback']);
check(arguments, ['query', 'name', 'readStream', 'callback']);
switch(query) {
default:
files.pipe(readStream, name, onSave);
files.pipe(readStream, name, onFile);
break;
case 'dir':
flop.create(name, 'dir', OnMakeDir);
flop.create(name, 'dir', onDir);
break;
case 'unzip':
packer.unpack(readStream, name, onSave);
packer.unpack(readStream, name, onFile);
break;
}
};
function onDone(msg, name, callback, error) {
var baseName = path.basename(name);
if (!error)
msg = CloudFunc.formatMsg(msg, baseName);
callback(error, msg);
}
})();

View file

@ -25,8 +25,10 @@
},
"subdomain": "cloudcmd",
"dependencies": {
"check": "~1.0.0",
"console-io": "~1.10.0",
"dropbox": "~0.10.0",
"execon": "~1.0.1",
"express": "~4.10.0",
"files-io": "~1.2.0",
"flop": "~1.0.25",