diff --git a/lib/server/files.js b/lib/server/files.js index 282804fa..0b35c851 100644 --- a/lib/server/files.js +++ b/lib/server/files.js @@ -16,60 +16,50 @@ CloudFunc = main.cloudfunc, Util = main.util; - object.read = function(pFiles, pOptions, pCallBack) { - var lDone = [], - lFiles, - lErrors, + object.read = function(files, options, callback) { + var done = [], + errors, i, n, - lName, - lReadedFiles = {}, - lDoneFunc = function (pParams) { - var msg, status, p, lName, - lRet = Util.checkObj(pParams, ['error', 'data', 'params']); + name, + readFiles = {}, + doneFunc = function (name, error, data) { + var msg, status; - if (lRet) { - lDone.pop(); - p = pParams, - lName = p.params; + done.pop(); + + if (error) { + status = 'error'; - if (p.error) { - status = 'error'; - - if (!lErrors) - lErrors = {}; - - lErrors[lName] = p.error; - } - else { - status = 'ok'; - lReadedFiles[lName] = p.data; - } + if (!errors) + errors = {}; - lName = path.basename(lName); - msg = CloudFunc.formatMsg('read', lName, status); - - Util.log(msg); - - if (!lDone.length) - Util.exec(pCallBack, lErrors, lReadedFiles); + errors[name] = p.error; } + else { + status = 'ok'; + readFiles[name] = data; + } + + name = path.basename(name); + msg = CloudFunc.formatMsg('read', name, status); + + Util.log(msg); + + if (!done.length) + Util.exec(callback, errors, readFiles); }; - if (Util.isFunction(pOptions)) { - pCallBack = pOptions; - pOptions = null; + if (Util.isFunction(options)) { + callback = options; + options = null; } - if (Util.isArray(pFiles)) - lFiles = pFiles; - else - lFiles = [pFiles]; - - for (i = 0, n = lFiles.length; i < n; i++) { - lName = lFiles.pop(); - lDone.push(lName); + n = files && files.length; + for (i = 0; i < n; i++) { + name = files.pop(); + done.push(name); - fs.readFile(lName, pOptions, Util.call(lDoneFunc, lName)); + fs.readFile(name, options, doneFunc.bind(null, name)); } };