def harvest(year, game_num): game_info = GameHeader.harvest (year, game_num, 'RO', '02') away_full_name = Operations.team_acronym_to_uppercase( game_info.away_team) home_full_name = Operations.team_acronym_to_uppercase( game_info.home_team) tree = Operations.germinate_report_seed (year, game_num, "ES", '02') tables = tree.xpath('//table[@class="tablewidth" and @align="center"]/tr/td/table[@width="100%"]') rows = tables[3].xpath('./tr') roster = [] team_acronym = game_info.away_team for item in rows: if item.xpath('./td/text()')[0] == home_full_name: away_roster = roster roster = [] team_acronym = game_info.home_team elif item.get('class') == 'evenColor' or\ item.get('class') == 'oddColor': fields = item.xpath('./td/text()') for index, field in enumerate(fields): if field == u'\xa0': field = '0' if index == 0: number = field elif index == 1: position = field elif index == 2: name_raw = field.split(', ') first_name = name_raw[1] last_name = name_raw[0] elif index == 3: goals = field elif index == 4: assists = field elif index == 5: points = field elif index == 6: plus_minus = field elif index == 7: num_penalties = field elif index == 8: pim = field elif index == 9: total_minutes = field elif index == 10: num_shifts = field elif index == 11: avg_shift_length = field elif index == 12: powerplay_minutes = field elif index == 13: shorthanded_minutes = field elif index == 14: evenstrength_minutes = field elif index == 15: shots = field elif index == 16: attempts_blocked = field elif index == 17: missed_shots = field elif index == 18: hits = field elif index == 19: give_aways = field elif index == 20: take_aways = field elif index == 21: blocked_shots = field elif index == 22: faceoff_wins = field elif index == 23: faceoff_losses = field elif index == 24: faceoff_percentage = field playerid = Operations.get_playerid(first_name, last_name, team_acronym, year, position) roster.append (ES_Player(team_acronym, number, position, first_name, last_name, goals, assists, points, plus_minus, num_penalties, pim, total_minutes, num_shifts, avg_shift_length, powerplay_minutes, shorthanded_minutes, evenstrength_minutes, shots, attempts_blocked, missed_shots, hits, give_aways, take_aways, blocked_shots, faceoff_wins, faceoff_losses, faceoff_percentage, playerid)) home_roster = roster return away_roster, home_roster