diff --git a/files.js b/files.js index 3278a5f..c06c04f 100644 --- a/files.js +++ b/files.js @@ -12,6 +12,7 @@ try { console.error(e.message); files = []; } + exports.getFiles = function() { return files; }; @@ -25,6 +26,12 @@ exports.getFile = function(id) { return r; }; +function writeInfo() { + /* TODO: delay */ + fs.writeFile(DB_PATH, JSON.stringify(files)); +} + + var maxId = 0, totalSize = 0; files.forEach(function(file) { totalSize += file.size; @@ -65,10 +72,11 @@ exports.addFile = function(info) { info.size = size; files.unshift(info); - fs.writeFile(DB_PATH, JSON.stringify(files)); + writeInfo(); }; out.discard = function() { this.end(); + console.log('rm incomplete ' + path); fs.unlink(path); }; @@ -77,8 +85,10 @@ exports.addFile = function(info) { exports.readFile = function(id) { var info = exports.getFile(id); - if (info) + if (info) { info.downloads++; + writeInfo(); + } return fs.createReadStream(FILES_PATH + '/' + id); }; diff --git a/server.js b/server.js index 1261d99..105f5c4 100644 --- a/server.js +++ b/server.js @@ -27,7 +27,6 @@ function app(app) { mime: part.mime } }); var out = files.addFile({ name: part.filename, - size: 0 /*TODO*/, type: part.mime }); var received = 0;