def __parse_summary_and_showdown(self): while len(self.buffer) > 0: line = self.buffer.pop(0) if line.strip() == Parsable._street_separators[Parsable._SUMMARY]: text_block = Parsable.pop_street(self.buffer) self.__parse_summary(text_block) if line.strip() == Parsable._street_separators[Parsable._SHOWDOWN]: text_block = Parsable.pop_street(self.buffer) self.__parse_showdown(text_block)
def __parse_players(self): street_text = Parsable.pop_street(self.buffer) for line in street_text: player = Player() if player.parse(line): player.parse_blinds_and_antes(street_text) self.players.append(player)
def __parse_streets(self): while Street.is_valid_street(self.buffer[0]): street_header = self.buffer.pop(0) street_text = Parsable.pop_street(self.buffer) for player in self.players: if self.game == 'TD': street = TripleDrawStreet(street_header) elif self.game == 'LHE': street = HoldemStreet(street_header) elif self.game == 'O8': street = OmahaStreet(street_header) elif self.game == 'RAZZ': street = StudStreet(street_header) elif self.game == 'STUD': street = StudStreet(street_header) elif self.game == 'STUD8': street = StudStreet(street_header) elif self.game == 'NLHE': street = HoldemStreet(street_header) elif self.game == 'PLO': street = OmahaStreet(street_header) else: print('not a valid game!') player.add_street(street) street.parse(street_text) if len(street.community_cards) > 0: if street.name == 'flop': if len(self.flop) == 0: for c in street.community_cards: self.flop.append(c) if street.name == 'turn': if len(self.turn) == 0: for c in street.community_cards: self.turn.append(c) if street.name == 'river': if len(self.river) == 0: for c in street.community_cards: self.river.append(c)