initial commit
This commit is contained in:
commit
5d453ac056
|
@ -0,0 +1,149 @@
|
|||
import math
|
||||
from scipy.special import erfinv
|
||||
import tbaapiv3client
|
||||
from pprint import pprint
|
||||
from tbaapiv3client.rest import ApiException
|
||||
import json
|
||||
from operator import itemgetter
|
||||
|
||||
|
||||
with open('creds', 'r') as file:
|
||||
creds = file.read()
|
||||
|
||||
|
||||
team_key = input("please enter the TBA team key")
|
||||
|
||||
configuration = tbaapiv3client.Configuration(
|
||||
host = "https://www.thebluealliance.com/api/v3",
|
||||
api_key = {
|
||||
'X-TBA-Auth-Key': creds
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
|
||||
with tbaapiv3client.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = tbaapiv3client.EventApi(api_client)
|
||||
year = 2024 # int | Competition Year (or Season). Must be 4 digits.
|
||||
try:
|
||||
api_response = api_instance.get_team_events_by_year_simple(team_key, year)
|
||||
#print(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling EventApi->get_team_events_by_year_simple: %s\n" % e)
|
||||
|
||||
|
||||
relevant_events = [event for event in api_response if event.event_type == 0]
|
||||
#pprint(relevant_events)
|
||||
|
||||
|
||||
eventkey1 = ((relevant_events[0]).key)
|
||||
eventkey2 = ((relevant_events[1]).key)
|
||||
|
||||
with tbaapiv3client.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = tbaapiv3client.EventApi(api_client)
|
||||
try:
|
||||
event_api_response1 = api_instance.get_team_event_status(team_key, eventkey1)
|
||||
#pprint(event_api_response1)
|
||||
except ApiException as e:
|
||||
print("Exception when calling EventApi->get_event: %s\n" % e)
|
||||
with tbaapiv3client.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = tbaapiv3client.EventApi(api_client)
|
||||
try:
|
||||
event_api_response2 = api_instance.get_team_event_status(team_key, eventkey2)
|
||||
#pprint(event_api_response2)
|
||||
except ApiException as e:
|
||||
print("Exception when calling EventApi->get_event: %s\n" % e)
|
||||
|
||||
|
||||
|
||||
qualteams1=(event_api_response1.qual.num_teams)
|
||||
qualteams2=(event_api_response2.qual.num_teams)
|
||||
|
||||
qualrank1=(event_api_response1.qual.ranking.rank)
|
||||
qualrank2=(event_api_response2.qual.ranking.rank)
|
||||
|
||||
if event_api_response1.alliance_status_str != "--":
|
||||
draft1=(event_api_response1.alliance.pick)
|
||||
if event_api_response1.alliance.pick == 0:
|
||||
draft1=(event_api_response1.alliance.number)
|
||||
if event_api_response2.alliance_status_str != "--":
|
||||
draft2=(event_api_response2.alliance.pick)
|
||||
if event_api_response2.alliance.pick == 0:
|
||||
draft2=(event_api_response2.alliance.number)
|
||||
|
||||
playwon=3
|
||||
won=3
|
||||
|
||||
if event_api_response1.alliance_status_str != "--":
|
||||
if event_api_response1.playoff.status == "won":
|
||||
place1=1
|
||||
if event_api_response1.playoff.status == "eliminated" and event_api_response1.playoff.level == "f":
|
||||
place1=2
|
||||
if event_api_response1.playoff.status == "eliminated" and event_api_response1.playoff_status_str == "<b>Eliminated in the Double Elimination Bracket (Round 5)</b> with a playoff record of <b>2-2-0</b>":
|
||||
place1=3
|
||||
if event_api_response1.playoff.status == "eliminated" and event_api_response1.playoff_status_str == "<b>Eliminated in the Double Elimination Bracket (Round 4)</b> with a playoff record of <b>2-2-0</b>":
|
||||
place1=4
|
||||
if event_api_response1.alliance_status_str == "--":
|
||||
place1=0
|
||||
draft1=17
|
||||
fwins1=0
|
||||
|
||||
|
||||
if event_api_response2.alliance_status_str != "--":
|
||||
if event_api_response2.playoff.status == "won":
|
||||
place2=1
|
||||
if event_api_response2.playoff.status == "eliminated" and event_api_response2.playoff.level == "f":
|
||||
place2=2
|
||||
if event_api_response2.playoff.status == "eliminated" and event_api_response2.playoff_status_str == "<b>Eliminated in the Double Elimination Bracket (Round 5)</b> with a playoff record of <b>2-2-0</b>":
|
||||
place2=3
|
||||
if event_api_response2.playoff.status == "eliminated" and event_api_response2.playoff_status_str == "<b>Eliminated in the Double Elimination Bracket (Round 4)</b> with a playoff record of <b>2-2-0</b>":
|
||||
place2=4
|
||||
if event_api_response2.alliance_status_str == "--":
|
||||
place2=0
|
||||
draft2=17
|
||||
fwins2=0
|
||||
|
||||
|
||||
|
||||
if place1==1 or place1==2:
|
||||
placepts1=20
|
||||
elif place1 == 3:
|
||||
placepts1 = 13
|
||||
elif place1 == 4:
|
||||
placepts1 = 7
|
||||
elif place1 == 0:
|
||||
placepts1 = 0
|
||||
|
||||
if place2==1 or place2==2:
|
||||
placepts2=20
|
||||
elif place2 == 3:
|
||||
placepts2 = 13
|
||||
elif place2 == 4:
|
||||
placepts2 = 7
|
||||
elif place2 == 0:
|
||||
placepts2 = 0
|
||||
|
||||
if event_api_response1.alliance_status_str != "--":
|
||||
fwins1=(event_api_response1.playoff.current_level_record.wins)
|
||||
if event_api_response2.alliance_status_str != "--":
|
||||
fwins2=(event_api_response2.playoff.current_level_record.wins)
|
||||
|
||||
awardpts=10
|
||||
|
||||
agepts=0
|
||||
|
||||
qualpts1 = erfinv((qualteams1-2*qualrank1+2)/(1.07*qualteams1))*((10)/(erfinv(1/1.07)))+12
|
||||
qualpts2 = erfinv((qualteams2-2*qualrank2+2)/(1.07*qualteams2))*((10)/(erfinv(1/1.07)))+12
|
||||
|
||||
DEpts = ((playwon/won)*placepts1+(fwins1*5))+((playwon/won)*placepts2+(fwins2*5))
|
||||
|
||||
qualpts = qualpts1+qualpts2
|
||||
draft = (17-draft1) + (17-draft2)
|
||||
|
||||
|
||||
regional_points = qualpts + (17-draft) + DEpts + awardpts + agepts
|
||||
|
||||
print(regional_points)
|
|
@ -0,0 +1,30 @@
|
|||
import math
|
||||
from scipy.special import erfinv
|
||||
|
||||
qualteams=55
|
||||
qualrank=13
|
||||
|
||||
draft=1
|
||||
playwon=3
|
||||
won=3
|
||||
place=1
|
||||
|
||||
if place==1 or place==2:
|
||||
placepts=20
|
||||
elif place == 3:
|
||||
placepts = 13
|
||||
elif place == 4:
|
||||
placepts = 7
|
||||
|
||||
awardpts=10
|
||||
|
||||
agepts=0
|
||||
|
||||
qualpts = erfinv((qualteams-2*qualrank+2)/(1.07*qualteams))*((10)/(erfinv(1/1.07)))+12
|
||||
DEpts = (playwon/won)*placepts
|
||||
|
||||
|
||||
|
||||
regional_points = qualpts + (17-draft) + DEpts + awardpts + agepts
|
||||
|
||||
print(regional_points)
|
|
@ -0,0 +1 @@
|
|||
5sPt183xCCWsmgw0FFJQnj8sySnCcdDBBNQObrEhp6DcGdNI4Pt3dYMjdmrh7FMC
|
Loading…
Reference in New Issue