from __future__ import print_function
import time
import cfbd
from cfbd.rest import ApiException
from pprint import pprint
import pandas as pd
import numpy as np
from cfbFcns import standardizeTeamName

# Configure API key authorization: ApiKeyAuth
configuration = cfbd.Configuration()
configuration.api_key[
    'Authorization'] = 'XBWTTfw3Jo8o/r/jmDnRA6SsnoHp0MKKPBEE0UGID/hPKqzKLV/+0Ljn06dCbQRS'
configuration.api_key_prefix['Authorization'] = 'Bearer'

# create an instance of the API class
api_instance = cfbd.StatsApi(cfbd.ApiClient(configuration))
year = 2021  # int | Year/season filter for games (optional)
week = 4  # int | Week filter (optional)

api_response = api_instance.get_advanced_team_game_stats(year=year,
                                                         week=week,
                                                         season_type="regular")
dict = {}
dict["gameId"] = []
dict["week"] = []
dict["team"] = []
dict["opponent"] = []
for a in ["offense", "defense"]:
    dict[a + ".ppa"] = []
    dict[a + ".successRate"] = []
# Import required modules
import pandas as pd
import cfbd
import time

# Import files
import write_to_db

##########################################
year = 2009
##########################################

#  Configure API key for College Football Data API
cfbd_config = cfbd.Configuration()
cfbd_config.api_key[
    "Authorization"] = "kf4KXdtp2JFvq+7wy4yipT75+3mcVzeTl56SvjdONO3cdEksOHxWuZdPf2fB92hl"
cfbd_config.api_key_prefix["Authorization"] = "Bearer"

teams_api = cfbd.TeamsApi(cfbd.ApiClient(cfbd_config))
games_api = cfbd.GamesApi(cfbd.ApiClient(cfbd_config))

# Build out DataFrame with basic team info
teams = teams_api.get_fbs_teams()

# teams_df = pd.DataFrame.from_records(
#     [
#         dict(
#             id=t.id,
#             team=t.school,
#             conference=t.conference,
#             division=t.division,
def get_teams(**kwargs) -> List[cfbd.Team]:
    """ Get teams data. """
    config = cfbd.Configuration()
    config.verify_ssl = False
    api = cfbd.TeamsApi(cfbd.ApiClient(config))
    return api.get_teams(**kwargs)
def get_rankings(*args, **kwargs) -> List[cfbd.RankingWeek]:
    """ Get rankings data. """
    config = cfbd.Configuration()
    config.verify_ssl = False
    api = cfbd.RankingsApi(cfbd.ApiClient(config))
    return api.get_rankings(*args, **kwargs)
def get_games(*args, **kwargs) -> List[cfbd.Game]:
    """ Get games data. """
    config = cfbd.Configuration()
    config.verify_ssl = False
    api = cfbd.GamesApi(cfbd.ApiClient(config))
    return api.get_games(*args, **kwargs)