diff --git a/pydfs_lineup_optimizer/constants.py b/pydfs_lineup_optimizer/constants.py index 5775c29..2357b37 100644 --- a/pydfs_lineup_optimizer/constants.py +++ b/pydfs_lineup_optimizer/constants.py @@ -24,3 +24,4 @@ class Sport: NASCAR = 'NASCAR' TENNIS = 'TENNIS' CS = 'CS' + COLLEGE_BASKETBALL = 'COLLEGE_BASKETBALL' diff --git a/pydfs_lineup_optimizer/lineup_exporter.py b/pydfs_lineup_optimizer/lineup_exporter.py index 540afc1..f52c9ca 100644 --- a/pydfs_lineup_optimizer/lineup_exporter.py +++ b/pydfs_lineup_optimizer/lineup_exporter.py @@ -74,7 +74,7 @@ def render_player(player: 'LineupPlayer') -> str: class FanDuelCSVLineupExporter(CSVLineupExporter): - EXTRA_COLUMNS = () + EXTRA_COLUMNS = ('Budget', 'FPPG') COLUMNS_MAPPING = { 'MVP': 'MVP - 2X Points', 'STAR': 'STAR - 1.5X Points', @@ -82,8 +82,14 @@ class FanDuelCSVLineupExporter(CSVLineupExporter): 'CAPTAIN': 'Captain - 1.5x Pts', } - def _get_extra_columns(self, lineup): - return [] +# def _get_extra_columns(self, lineup): +# return [] + + def _get_extra_columns(self, lineup: 'Lineup') -> List[str]: + return [ + str(lineup.salary_costs), + str(lineup.fantasy_points_projection), + ] @staticmethod def render_player(player: 'LineupPlayer') -> str: diff --git a/pydfs_lineup_optimizer/sites/draftkings/classic/settings.py b/pydfs_lineup_optimizer/sites/draftkings/classic/settings.py index 5b3b27e..393cf4e 100644 --- a/pydfs_lineup_optimizer/sites/draftkings/classic/settings.py +++ b/pydfs_lineup_optimizer/sites/draftkings/classic/settings.py @@ -29,6 +29,22 @@ class DraftKingsBasketballSettings(DraftKingsSettings): ] +@SitesRegistry.register_settings +class DraftKingsCollegeBasketballSettings(DraftKingsSettings): + sport = Sport.COLLEGE_BASKETBALL + min_games = 2 + positions = [ + LineupPosition('G', ('G', )), + LineupPosition('G', ('G', )), + LineupPosition('G', ('G', )), + LineupPosition('F', ('F', )), + LineupPosition('F', ('F', )), + LineupPosition('F', ('F', )), + LineupPosition('UTIL', ('G', 'F')), + LineupPosition('UTIL', ('G', 'F')) + ] + + @SitesRegistry.register_settings class DraftKingsWNBASettings(DraftKingsSettings): sport = Sport.WNBA @@ -145,7 +161,7 @@ class DraftKingsCanadianFootballSettings(DraftKingsSettings): @SitesRegistry.register_settings class DraftKingsCollegeFootballSettings(DraftKingsSettings): - sport = Sport.CANADIAN_FOOTBALL + sport = Sport.COLLEGE_FOOTBALL min_games = 2 positions = [ LineupPosition('QB', ('QB', )), diff --git a/pydfs_lineup_optimizer/sites/fanduel/classic/settings.py b/pydfs_lineup_optimizer/sites/fanduel/classic/settings.py index 2d24cfc..992504f 100644 --- a/pydfs_lineup_optimizer/sites/fanduel/classic/settings.py +++ b/pydfs_lineup_optimizer/sites/fanduel/classic/settings.py @@ -6,7 +6,7 @@ from pydfs_lineup_optimizer.rules import OptimizerRule, FanduelBaseballRosterRule from pydfs_lineup_optimizer.sites.fanduel.classic.importer import FanDuelCSVImporter, FanDuelLOLCSVImporter, \ FanDuelMVPCSVImporter -from pydfs_lineup_optimizer.lineup_exporter import FanDuelCSVLineupExporter +from pydfs_lineup_optimizer.lineup_exporter import CSVLineupExporter, FanDuelCSVLineupExporter class FanDuelSettings(BaseSettings): @@ -34,6 +34,21 @@ class FanDuelBasketballSettings(FanDuelSettings): ] +@SitesRegistry.register_settings +class FanDuelCollegeBasketballSettings(FanDuelSettings): + sport = Sport.COLLEGE_BASKETBALL + positions = [ + LineupPosition('G', ('G', )), + LineupPosition('G', ('G', )), + LineupPosition('G', ('G', )), + LineupPosition('G', ('G', )), + LineupPosition('F', ('F', )), + LineupPosition('F', ('F', )), + LineupPosition('F', ('F', )), + LineupPosition('UTIL', ('G', 'F')) + ] + + @SitesRegistry.register_settings class FanDuelFootballSettings(FanDuelSettings): sport = Sport.FOOTBALL @@ -169,3 +184,17 @@ class FanDuelMMASettings(FanDuelSettings): LineupPosition('F', ('F', )), ] +@SitesRegistry.register_settings +class FanDuelCollegeFootballSettings(FanDuelSettings): + sport = Sport.COLLEGE_FOOTBALL + positions = [ + LineupPosition('QB', ('QB', )), + LineupPosition('RB', ('RB', )), + LineupPosition('RB', ('RB', )), + LineupPosition('WR', ('WR', )), + LineupPosition('WR', ('WR', )), + LineupPosition('WR', ('WR', )), + LineupPosition('SUPER FLEX', ('QB', 'RB', 'WR')), + ] + +