diff options
Diffstat (limited to 'model_fs.js')
-rw-r--r-- | model_fs.js | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/model_fs.js b/model_fs.js index 6c64211..14cb4b5 100644 --- a/model_fs.js +++ b/model_fs.js @@ -17,7 +17,6 @@ exports.start = function(config) { watcher.on('fileCreated', exports.rebuildFiles); watcher.on('fileModified', exports.rebuildFiles); exports.rebuildFiles(); - }; exports.rebuildFiles = function() { @@ -86,27 +85,32 @@ exports.rebuildFiles = function() { } /* collect events and adds them to the slideset */ var collectEvents = function(slideset) { - fs.readFile(path.join(__dirname, configuration.dir, 'default', configuration.events), function(err, data) { + fs.readFile(path.join(__dirname, configuration.dir, slideset, configuration.events), function(err, data) { if(err) { throw err; } var events = JSON.parse(data.toString()); if(events['type'] == 'text') { - files[slideset]['events'] = events['events']; + setEvents(slideset, events['events'], function(err) { + if(err) { throw err; } + }); } else if(events['type'] == 'ical') { - var compEv = []; ical.fromURL(events['url'], {}, function(err, data) { + if(err) { throw err; } + var compEv = []; for (var k in data) { if (data.hasOwnProperty(k)) { var ev = data[k]; if(ev.start && ev.summary) { - compEv.push({ - date: - ev.start, - text: - ev.summary - }); + var curDate = new Date(ev.start); + if(typeof compEv[curDate.toDateString()] == "undefined") { + compEv[curDate.toDateString()] = []; + } + compEv[curDate.toDateString()].push({time: curDate.toTimeString(), text: ev.summary}); } } } + setEvents(slideset, compEv, function(err) { + if(err) { throw err; } + }); }); } }); |