From 82725c0fcc0532fe2bf7c9fe0f2a6a5fe71eb77a Mon Sep 17 00:00:00 2001 From: coderaiser Date: Thu, 27 Nov 2014 02:18:03 -0500 Subject: [PATCH] feature(put) Util -> exec, check --- lib/server/rest/fs/put.js | 36 +++++++++++++++++++++--------------- package.json | 2 ++ 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/lib/server/rest/fs/put.js b/lib/server/rest/fs/put.js index 0c2203e6..33fe8961 100644 --- a/lib/server/rest/fs/put.js +++ b/lib/server/rest/fs/put.js @@ -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); + } })(); diff --git a/package.json b/package.json index fd2b37bc..9cab3c2c 100644 --- a/package.json +++ b/package.json @@ -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",