From a1eaaa3de31a4ba809fccb137ebdc506a245e7e2 Mon Sep 17 00:00:00 2001 From: jomo Date: Fri, 7 Nov 2014 23:05:29 +0100 Subject: [PATCH] delete faces + helms on start (relevant: #4) since redis is flushed, we don't know about these files anyway --- modules/cache.js | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/modules/cache.js b/modules/cache.js index fa09bcc..fc9cd2e 100644 --- a/modules/cache.js +++ b/modules/cache.js @@ -2,7 +2,7 @@ var config = require("./config"); var redis = null; var fs = require("fs"); - +// sets up redis connection, calls clear_cache function connect_redis() { console.log("connecting to redis..."); if (process.env.REDISCLOUD_URL) { @@ -13,8 +13,8 @@ function connect_redis() { redis = require("redis").createClient(); } redis.on("ready", function() { - console.log("Redis connection established. Flushing all data."); - redis.flushall(); + console.log("Redis connection established."); + clear_cache(); }); redis.on("error", function (err) { console.error(err); @@ -24,7 +24,39 @@ function connect_redis() { }); } + +// flushes redis, deletes faces + helms +function clear_cache() { + console.log("Flushing redis"); + redis.flushall(); + console.log("Deleting all faces + helms..."); + fs.readdir(config.faces_dir, function(err, files) { + if (err) { + console.error(err); + } else { + for (var i in files) { + var file = files[i]; + if (file[0] != ".") { + // delete face file + fs.unlink(config.faces_dir + file, function(err){ + if (err) { + console.error(err); + } + }); + // delete helm file, we assume this exists as well + fs.unlink(config.helms_dir + file, function(err){ + if (err) { + console.error(err); + } + }); + } + } + } + }); +} + // sets the date of the face file belonging to +hash+ to now +// the helms file is ignored because we only need 1 file to read/write from function update_file_date(hash) { if (hash) { var path = config.faces_dir + hash + ".png";