def get_draftkings_players(id):
    csv_players = get_available_players(id)
    draftable_players = draftables(id)["draftables"]
    return list([
        merge_draftking_players(draftable_players, player, id)
        for index, player in csv_players.iterrows()
    ])
Beispiel #2
0
def update_nba_DK_slate():

    if not contests_nba["contests"]:
        return 0
    # contests = contests(sport=Sport.NFL)
    df = pd.DataFrame()


    for label in contests_nba["contests"]:
        if not str(label["starts_at"]).startswith(getdate()):
            continue
        # print(label["starts_at"])
        id = label["draft_group_id"]
        break


    players = draftables(id)

    playerName = [x['names']['display'] for x in players['draftables']]
    sal = [x['salary'] for x in players['draftables']]
    pos = [x['position'] for x in players['draftables']]
    team =  [x['team_abbreviation'] for x in players['draftables']]
    opp = [x['competition']['name'] for x in players['draftables']]

    index = 0
    while index < len(playerName):

        if index > 0 and playerName[index] == playerName[index-1]:
            del playerName[index]
            del sal[index]
            del pos[index]
            del team[index]
            del opp[index]

        else:
            temp = opp[index].split()
            if temp[0] == team[index]:
                opp[index] = temp[-1]
            else:
                opp[index] = temp[0]
            index+=1

    df['playerName'] = playerName
    df['sal'] = sal
    df['pos'] = pos
    df['team'] = team
    df['opp'] = opp


    df['proj'] = [0 for _ in range(len(playerName))]

    df.to_csv('/home/ubuntu/gitrepositories/DailyFantasySports/DFOptimizerApp/app/src/main/python/slates/NBAslateDK.csv', index=False)
Beispiel #3
0
def update_mlb_DK_slate():

    if not contests_mlb["contests"]:
        return 0
    # contests = contests(sport=Sport.NFL)
    df = pd.DataFrame()


    for label in contests_mlb["contests"]:
        if not str(label["starts_at"]).startswith(getdate()):
            continue
        # print(label["starts_at"])
        id = label["draft_group_id"]
        break


    players = draftables(id)

    playerName = [x['names']['display'] for x in players['draftables']]
    sal = [x['salary'] for x in players['draftables']]
    pos = [x['position'] for x in players['draftables']]
    team =  [x['team_abbreviation'] for x in players['draftables']]
    opp = [x['competition']['name'] for x in players['draftables']]

    index = 0
    while index < len(playerName):

        if index > 0 and playerName[index] == playerName[index-1]:
            del playerName[index]
            del sal[index]
            del pos[index]
            del team[index]
            del opp[index]

        else:
            temp = opp[index].split()
            if temp[0] == team[index]:
                opp[index] = temp[-1]
            else:
                opp[index] = temp[0]
            index+=1

    df['playerName'] = playerName
    df['sal'] = sal
    df['pos'] = pos
    df['team'] = team
    df['opp'] = opp
    df['proj'] = [0 for _ in range(len(playerName))]
Beispiel #4
0
 def test_get_draftables(self):
     response = draftables(draft_group_id=18186)
     self.assertIsNotNone(response)
Beispiel #5
0
def update_nfl_FD_slate():
    if not contests_nfl["contests"]:
        return 0
    df = pd.DataFrame()
    id = None

    for label in contests_nfl["contests"]:
        if not str(label["starts_at"]).startswith(changedate_nfl()):
            continue
        # print(label["starts_at"])
        id = label["draft_group_id"]
        break

    if id is None:
        return 0

    players = draftables(id)

    playerName = [x['names']['display'] for x in players['draftables']]
    pos = [x['position'] for x in players['draftables']]
    team = [x['team_abbreviation'] for x in players['draftables']]
    opp = [x['competition']['name'] for x in players['draftables']]

    index = 0
    while index < len(playerName):

        if index > 0 and playerName[index] == playerName[index - 1]:
            del playerName[index]
            del pos[index]
            del team[index]
            del opp[index]

        else:
            temp = opp[index].split()
            if temp[0] == team[index]:
                opp[index] = temp[-1]
            else:
                opp[index] = temp[0]
            index += 1

    df['playerName'] = playerName
    df['sal'] = [0 for _ in range(len(playerName))]
    df['pos'] = pos
    df['team'] = team
    df['opp'] = opp
    df['proj'] = [0 for _ in range(len(playerName))]

    sl = df

    # set up some parameters for scrape
    base_url = 'http://www.fantasypros.com/nfl/projections'
    position_list = ['qb', 'rb', 'wr', 'te', 'k', 'dst']

    frames = []
    for position in position_list:
        temp = position + '.php?scoring=PPR'
        url = '%s/%s' % (base_url, temp)

        response = requests.get(url)

        # use expert:expert in request to get only one expert at a time
        # use pandas to parse the HTML table for us
        df = pd.io.html.read_html(response.text, attrs={'id': 'data'})[0]
        # df['WEEK'] = current_week
        # df['POSITION'] = position.upper()
        df.rename(columns=COLUMN_MAPPINGS[position.upper()], inplace=True)
        if position is not 'dst' and position is not 'k':
            df.columns = ['{}'.format(x[1]) for x in df.columns]

        # print(df.columns.values)
        # print(df)
        frames.append(df)

        # msg = 'getting projections for {}, week {}, postition {}'

    path = get_my_path()
    path = functools.reduce(lambda x, f: f(x), [os.path.dirname] * 1, path)
    # const_path = os.path.join(path, "NFLtemp.csv")

    check = len(frames)
    count = 0
    for frame in frames:
        count = count + 1
        # print(frame)
        for i in range(len(frame)):
            if count < check:
                name = frame.loc[i, "Player"]
                name = name.rsplit(' ', 1)[0]
                proj = frame.loc[i, "FPTS"]
                # print(name, proj)
                name = str(name)
                proj = str(proj)
                if (name == 'D.K. Metcalf'):
                    name = 'DK Metcalf'
                if (name == 'Duke Johnson Jr.'):
                    name = 'Duke Johnson'
                if (name == 'Wayne Gallman'):
                    name = 'Wayne Gallman Jr.'
                if (name == 'D.J. Chark Jr.'):
                    name = 'DJ Chark Jr.'
                if (name == 'Dwayne Haskins'):
                    name = 'Dwayne Haskins Jr.'
                if (name == 'Darrell Henderson'):
                    name = 'Darrell Henderson Jr.'
                sl.loc[sl['playerName'] == name, 'proj'] = proj
            else:
                name = frame.loc[i, "Player"]
                words = name.split()
                name = words[-1]
                if name == 'Team':
                    name = 'Washington'
                proj = frame.loc[i, "FPTS"]
                name = name + ' '
                name = str(name)
                proj = str(proj)
                # print(name, proj)
                sl.loc[sl['playerName'] == name, 'proj'] = proj

    # sl = pd.read_csv(const_path)

    # set up some parameters for scrape
    base_url = 'https://www.fantasypros.com/daily-fantasy/nfl/fanduel-salary-changes.php'

    response = requests.get(base_url)

    df = pd.io.html.read_html(response.text)[0]
    # print(df)
    # print(df[['Player','This Week']])
    for i in range(len(df)):
        name = df.loc[i, "Player"]
        pos = name[-4:-1].strip()
        if pos == 'DST':
            name = name.split('(', 1)[0].strip()
            words = name.split()
            name = words[-1].strip()
            name = name + ' '
            if (name == 'Team '):
                name = 'WAS Football Team '
        else:
            name = name.split('(', 1)[0].strip()
            # Renames
            if (name == 'D.K. Metcalf'):
                name = 'DK Metcalf'
            if (name == 'Duke Johnson Jr.'):
                name = 'Duke Johnson'
            if (name == 'Wayne Gallman'):
                name = 'Wayne Gallman Jr.'
            if (name == 'D.J. Chark Jr.'):
                name = 'DJ Chark Jr.'
            if (name == 'Dwayne Haskins'):
                name = 'Dwayne Haskins Jr.'
            if (name == 'Darrell Henderson'):
                name = 'Darrell Henderson Jr.'
        sal = df.loc[i, "This Week"]
        sal = sal[1:]
        sal = sal.replace(',', '')
        # print(name, sal, pos)
        sl.loc[sl['playerName'] == name, 'sal'] = sal
    # print(sl.loc[sl['sal']==0])
    path = get_my_path()
    path = functools.reduce(lambda x, f: f(x), [os.path.dirname] * 1, path)
    const_path = os.path.join(path, "NFLslateFD.csv")
    sl.to_csv(const_path)
Beispiel #6
0
 def test_nba_draftables(self):
     draftables = client.draftables(draft_group_id=11513)
     self.assertIsNotNone(draftables)
Beispiel #7
0
 def test_euroleague_draftables(self):
     draftables = client.draftables(draft_group_id=22916)
     self.assertIsNotNone(draftables)
Beispiel #8
0
 def test_soccer_epl_draftables(self):
     draftables = client.draftables(draft_group_id=22831)
     self.assertIsNotNone(draftables)
Beispiel #9
0
 def test_soccer_uefa_national_league_draftables(self):
     draftables = client.draftables(draft_group_id=22855)
     self.assertIsNotNone(draftables)
Beispiel #10
0
 def test_cbb_draftables(self):
     draftables = client.draftables(draft_group_id=22958)
     self.assertIsNotNone(draftables)
Beispiel #11
0
 def test_nfl_draftables(self):
     draftables = client.draftables(draft_group_id=22927)
     self.assertIsNotNone(draftables)
#     # return 0
# contests = contests(sport=Sport.NFL)
df = pd.DataFrame()
id = None

for label in contests_nfl["contests"]:
    if not str(label["starts_at"]).startswith(changedate_nfl()):
        continue
    # print(label["starts_at"])
    id = label["draft_group_id"]
    break
#
# if id is None:
#     return 0

players = draftables(id)

playerName = [x['names']['display'] for x in players['draftables']]
sal = [x['salary'] for x in players['draftables']]
pos = [x['position'] for x in players['draftables']]
team = [x['team_abbreviation'] for x in players['draftables']]
opp = [x['competition']['name'] for x in players['draftables']]
print(playerName)
index = 0
while index < len(playerName):

    if index > 0 and playerName[index] == playerName[index - 1]:
        del playerName[index]
        del sal[index]
        del pos[index]
        del team[index]