textual-log-parser
Version:
Parses Textual log files and returns JavaScript objects
60 lines (41 loc) • 1.13 kB
JavaScript
function handleLine(line){
if(line.indexOf('joined the channel.') !== -1)
return;
if(line.indexOf('left the channel.') !== -1)
return;
if(line.indexOf('sets mode ') !== -1)
return;
if(line.indexOf('now known as ') !== -1)
return;
if(line.indexOf('left IRC') !== -1)
return;
if(lineStartsWith(line, 'Topic is '))
return;
if(lineStartsWith(line, 'Set by '))
return;
if(lineStartsWith(line, 'Mode is '))
return;
if(lineStartsWith(line, '• '))
return;
if(lineStartsWith(line, '<'))
return;
if(line.indexOf('changed the topic') !== -1)
return handleTopic(line, datetime);
}
function handleTopic(line, datetime){
var chunks = line.split(' ');
var topicIndex = line.indexOfEnd('changed the topic to ');
var topic = {
date: datetime && datetime[1],
author: chunks[1],
value: line.slice(topicIndex)
};
topics.push(topic);
}
function lineStartsWith(line, string){
return line.indexOf(string) === 27;
}
String.prototype.indexOfEnd = function(string) {
var io = this.indexOf(string);
return io == -1 ? -1 : io + string.length;
};