Skip to content

Instantly share code, notes, and snippets.

@bryanjhsu
Created April 5, 2017 04:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bryanjhsu/cfbfdddd073e695acc5683a828154b96 to your computer and use it in GitHub Desktop.
Save bryanjhsu/cfbfdddd073e695acc5683a828154b96 to your computer and use it in GitHub Desktop.
var myName = "Bryan Hsu";
var theirName = "";
var messages = [];
var myMessages = [];
var theirMessages = [];
var myCount = 0;
var theirCount = 0;
//put in a table object created from a CSV
//it will create a message object for every single message
function csvToMessages(table) {
for (var r = 0; r < table.getRowCount(); r++) {
var message = new Message();
message.setUnixTime(table.getString(r, 0));
message.setTimestamp(table.getString(r, 1));
message.setName(table.getString(r, 2));
message.setMessage(table.getString(r, 3));
messages.push(message);
}
}
var weeks = [];
//separate all of the messages week by week
function separateMessages() {
var tempDate = messages[0].timestamp;
var endOfWeek = new Date();
var weekInMilliseconds = 7 * 24 * 60 * 60 * 1000;
endOfWeek.setTime(tempDate.getTime() + weekInMilliseconds);
for (var m = 0; m < messages.length; m++) {
var currMessage = messages[m];
if (currMessage.timestamp.getTime() > endOfWeek.getTime()) {
// console.log("curr time; " + currMessage.timestamp.getTime());
// console.log("next week; " + endOfWeek.getTime())
// console.log (myMessages.length);
var week = new Week();
week.setMyMessages(myMessages);
week.setTheirMessages(theirMessages);
week.setMyCharCount(myCount);
week.setTheirCharCount(theirCount);
myMessages = [];
theirMessages = [];
myCount = 0;
theirCount = 0;
weeks.push(week);
while (currMessage.timestamp.getTime() > endOfWeek.getTime()) {
// console.log (myMessages.length);
var emptyWeek = new Week();
weeks.push(emptyWeek)
endOfWeek.setTime(endOfWeek.getTime() + weekInMilliseconds);
}
}
if (currMessage.name == ("Bryan Hsu")) {
myMessages.push(m);
myCount += currMessage.message.length;
} else {
if (theirName === "") {
theirName = currMessage.name;
}
theirMessages.push(m);
theirCount += currMessage.message.length;
}
}
var finalWeek = new Week();
finalWeek.setMyMessages(myMessages);
finalWeek.setTheirMessages(theirMessages);
finalWeek.setMyCharCount(myCount);
finalWeek.setTheirCharCount(theirCount);
weeks.push(finalWeek);
}
function getData() {
for (var i = 0; i < weeks.length; i++) {
weeks[i].getWeekData(i + 1);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment