Beispiel #1
0
 def load_rosters(cls, league_id, week):
     """
     Load the rosters for the week
     """
     print 'Loading rosters for league %s week %s' % (league_id, str(week))
     week_list = cls.objects.filter(week=week)
     teams = Team.objects.filter(league__league_key=league_id)
     team_list = SortedDict([(team.team_key, team) for team in teams])
     query_str = "select team_key, roster.players.player.player_key, roster.players.player.selected_position.position from fantasysports.teams.roster where team_key in (value) and week='%s'" % week
     for result in cls.query_manager.batch_query(query_str, team_list.keys()):
         team_key = result.get('team_key')
         team = team_list.get(team_key)
         print 'Loading team %s week %s' % (team.name, str(week))
         team_rosters = week_list.filter(team=team)
         team_rosters.delete()
         player_list = result.get('roster').get('players').get('player')
         for player in player_list:
             player_obj = Player.get_player(player.get('player_key'))
             position = player.get('selected_position').get('position')
             roster_item = cls.objects.create(team=team, week=week, player=player_obj, position=position)
             roster_item.save()
             print '%s: %s' % (player_obj, position)
            'filename': str(args.filename),
            'directory': str(args.directory),
            'game': str(args.game),
            'league': str(args.league),
            'force': bool(args.force),
            }

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "fantasy.settings")
    from analyze.models.player import Player
    from analyze.models.league import League, NFLMatchup
    from analyze.models.team import Team, Roster

    if args.find:
        Player.query_manager.set_sleep(int(args.sleep))
        kwargs['eligible'] = args.eligible
        Player.find_all(**kwargs)
    elif args.raw:
        import re
        id_reg = re.compile('(\d+)$')
        query = QueryManager(sleep=args.sleep)
        with open(args.filename, 'r') as source:
            player_list = []
            for player_id in source:
                player_id = player_id.strip()
                if (int(args.start) <= int(id_reg.search(player_id).group(0)) and
                        int(args.end) >= int(id_reg.search(player_id).group(0))):
                    player_list.append(player_id)
            query_str = "select * from fantasysports.players where player_key in (value)"
            for result in query.batch_query(query_str, player_list):
                player_id = result.get('player_key')
                print player_id