def create_player_from_table(player_data, game, player=None): # create the player if he didn't already exist if not player: player_name = player_data.select('td > a')[0].text.split('-')[0].strip() played = not any([re.search('DN[PD]', elem.text) for elem in player_data.select('td')]) player = Player(player_name, played, game) # populate player stats if player.played: player.traditional_stats = populate_traditional_stats(player_data.select('td')[1:]) return player