Created
March 12, 2017 21:17
-
-
Save TechplexEngineer/fb5f32a478505f32ded6dfe625bcb4a9 to your computer and use it in GitHub Desktop.
TBA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var base = "https://www.thebluealliance.com/api/v2"; | |
var options = { | |
headers: { | |
"X-TBA-App-Id": "blakeb:fantasyfrcsheet:1.0", | |
} | |
}; | |
//Docs: https://www.thebluealliance.com/apidocs#team-events-request | |
// This function takes a team number and returns a pipe delimited list of the weeks they are competing | |
function weeksAttending(teamNum) { | |
var url = base+'/team/frc'+teamNum+'/2017/events'; | |
var response = UrlFetchApp.fetch(url, options); | |
var json = response.getContentText(); | |
var data = JSON.parse(json); | |
var events = data.map(function(val) { | |
//Chris thinks we should change this to all events, not just districts, but if you do, it includes week 0 | |
if (val.event_district != 0) | |
return val.week+1; | |
return undefined; | |
}); | |
// Browser.msgBox(events); | |
return events.join('|'); | |
} | |
function scoreCalc(teamNum){ | |
} | |
//https://www.thebluealliance.com/apidocs#district-rankings-request | |
//@note not sure how often this will update... | |
function getRankings() { | |
var url = base+'/district/ne/2017/rankings'; | |
var response = UrlFetchApp.fetch(url, options); | |
var json = response.getContentText(); | |
var data = JSON.parse(json); | |
var map = getDistrictEventsMap(); | |
var result = []; | |
data.map(function(val) { | |
for (var key in val.event_points) { | |
result.push([val.team_key.replace('frc',''), key, val.event_points[key].total, map[key].week]) | |
} | |
}); | |
return result; | |
} | |
function _compare(a, b) { | |
if (a[2] < b[2]) return -1; | |
if (a[2] > b[2]) return 1; | |
return 0; | |
} | |
function getDistrictEvents() { | |
var url = base + "/district/ne/2017/events"; | |
var response = UrlFetchApp.fetch(url, options); | |
var json = response.getContentText(); | |
var data = JSON.parse(json); | |
data = data.map(function(val) { | |
return [val.short_name, val.key, val.week+1] | |
}); | |
return data.sort(_compare); | |
} | |
function getDistrictEventsMap() { | |
var url = base + "/district/ne/2017/events"; | |
var response = UrlFetchApp.fetch(url, options); | |
var json = response.getContentText(); | |
var data = JSON.parse(json); | |
var map = { | |
}; | |
data.map(function(val) { | |
map[val.key] = { | |
week: val.week+1, | |
short_name: val.short_name | |
} | |
}); | |
return map; | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment