Esempio n. 1
0
    def parse_events(self):
        "Extracts all of the events from the file into an array"
        # Starting game state in a game
        game_state = GameState(1, '5v5')

        line = self.get_line()
        while (Event.is_event(line, self.version)):
            new_game_state, event = Event.parse_event(line, game_state)

            if event:
                self.events.append(event)

            game_state = new_game_state
            line = self.get_line()
Esempio n. 2
0
    def parse_header(self):
        "Parses the file up to the beginning of the game events."

        # First line should be version
        line = self.get_line()
        if not line:
            raise IOError("Encountered EOF while reading header.")
        if line not in Constants.VALID_VERSIONS:
            raise Exception(
                "File version not valid, I don't know what to do with this "
                "file.")
        self.version = line

        # Read the rest of the header up to the first event
        line = self.get_line()
        while (not Event.is_event(line, self.version)):
            self.parse_header_line(line)
            line = self.get_line()

        # The last line was an event, so put it back on the reader
        self.unread()