continued with mithril

This commit is contained in:
didier amyot committed 2016-02-07 09:03:33 -05:00
1 parent 0565d23cc8
commit 0c63722d68
6 files changed
+63 -18

No files matched your search

+43 -4
View File
@@ -3,7 +3,7 @@ define(['_'], function(_) {
resultParser._addJSDateToResult = function(res){
var date = res.date.split('/');
var time = res.time.split(':');
var time = _.isString(res.time) ? res.time.split(':'): [0, 0];
res.jsDate = new Date(
Number(date[0]),
Number(date[1]) - 1,
@@ -30,7 +30,7 @@ define(['_'], function(_) {
}
});
return _.map(ret, function(games, date){
return {date: date, games: games};
return resultParser._addJSDateToResult({date: date, games: games});
});
};
@@ -40,20 +40,59 @@ define(['_'], function(_) {
return _.uniq(_.concat(homeTeams, awayTeams));
};
resultParser._getWinner = function(res){
if(res.home_points > res.away_points){
return res.home;
}
if(res.home_points < res.away_points){
return res.away;
}
};
resultParser._hasWon = function(res, team){
return resultParser._getWinner(res) == team;
};
resultParser._hasLost = function(res, team){
return !resultParser._isDraw(res) && resultParser._getWinner(res) != team;
};
resultParser._isDraw = function(res){
return res.home_points == res.away_points;
};
resultParser._getPointsFor = function(res, team){
if(res.home == team){
return res.home_points;
}
return res.away_points;
};
resultParser._getPointsForOpponent = function(res, team){
if(res.home == team){
return res.away_points;
}
return res.home_points;
};
resultParser._getTeamStats = function(rawResults, team){
var ret = {team: team, gamePlayed: 0};
var ret = {
team: team, gamePlayed: 0, victories: 0,
defeats: 0, draws: 0, pointsFor: 0, pointsAgaint: 0};
_.each(rawResults, function(res){
if((team != res.home && team != res.away) || !_.isNumber(res.home_points)){
return;
}
ret.gamePlayed += 1;
ret.victories += resultParser._hasWon(res, team) ? 1: 0;
ret.defeats += resultParser._hasLost(res, team) ? 1: 0;
ret.draws += resultParser._isDraw(res) ? 1: 0;
ret.pointsFor += resultParser._getPointsFor(res, team);
ret.pointsAgaint += resultParser._getPointsForOpponent(res, team);
});
return ret;
};
resultParser.getStats = function(rawResults){
var allTeams = resultParser._getAllTeams(rawResults);
var getTeamStats = _.partial(resultParser._getTeamStats, rawResults);