| var util = require('util'); |
| var path = require('path'); |
| var fs = require('fs'); |
| var mkdirp = require('mkdirp'); |
| |
| // Default to the global app root, otherwise fallback on the cwd. |
| var FINAL_SCREEN_SHOT_DIR = path.join(global.appRoot || '.', |
| '/../screen_shots/'); |
| mkdirp.sync(FINAL_SCREEN_SHOT_DIR); |
| |
| function FrameStore() { |
| this.sessionImgCountMap = {}; |
| } |
| |
| FrameStore.prototype.storeFrame = function(frame, sessionId) { |
| if (this.sessionImgCountMap[sessionId]) { |
| this.sessionImgCountMap[sessionId] += 1; |
| } else { |
| this.sessionImgCountMap[sessionId] = 1; |
| } |
| |
| var sessionImgNumber = this.sessionImgCountMap[sessionId]; |
| var fileName = util.format('%s_%s_%d.jpg', sessionId, sessionImgNumber, |
| Date.now()); |
| var filePath = path.join(FINAL_SCREEN_SHOT_DIR, fileName); |
| |
| fs.writeFile(filePath, frame, function(err) { |
| if (err) { |
| console.log(err); |
| } |
| }); |
| |
| return fileName; |
| }; |
| |
| module.exports = FrameStore; |