def _parse_game_data(self, uri):
boxscore = self._retrieve_html_page(uri)<EOL>if not boxscore:<EOL><INDENT>return<EOL><DEDENT>for field in self.__dict__:<EOL><INDENT>short_field = str(field)[<NUM_LIT:1>:]<EOL>if short_field == '<STR_LIT>' orshort_field == '<STR_LIT>' orshort_field == '<STR_LIT>' orshort_field == '<STR_LIT>' orshort_field == '<STR_LIT>' orshort_field == '<STR_LIT>' orshort_field == '<STR_LIT:date>' orshort_field == '<STR_LIT:time>' orshort_field == '<STR_LIT>' orshort_field == '<STR_LIT>' orshort_field == '<STR_LIT>' orshort_field == '<STR_LIT>':<EOL><INDENT>continue<EOL><DEDENT>if short_field == '<STR_LIT>' orshort_field == '<STR_LIT>':<EOL><INDENT>value = self._parse_name(short_field, boxscore)<EOL>setattr(self, field, value)<EOL>continue<EOL><DEDENT>index = <NUM_LIT:0><EOL>if short_field in BOXSCORE_ELEMENT_INDEX.keys():<EOL><INDENT>index = BOXSCORE_ELEMENT_INDEX[short_field]<EOL><DEDENT>value = utils._parse_field(BOXSCORE_SCHEME,<EOL>boxscore,<EOL>short_field,<EOL>index)<EOL>setattr(self, field, value)<EOL><DEDENT>self._parse_game_date_and_location(boxscore)<EOL>self._away_players, self._home_players = self._find_players(boxscore)<EOL>
Parses a value for every attribute.

This function looks through every attribute and retrieves the value
according to the parsing scheme and index of the attribute from the
passed HTML data. Once the value is retrieved, the attribute's value is
updated with the returned result.

Note that this method is called directly once Boxscore is invoked and
does not need to be called manually.

Parameters
----------
uri : string
    The relative link to the boxscore HTML page, such as
    'BOS/BOS201806070'.