def load_game_tags(self): """ Reads header tags from pgn if pgn is a one game only StringIO object """ header = collections.defaultdict(str) header["Id"] = 0 header["Offset"] = 0 for line in self.handle.readlines(): line = line.strip() if line.startswith('[') and line.endswith(']'): tag_match = TAG_REGEX.match(line) if tag_match: header[tag_match.group(1)] = tag_match.group(2) else: break return header
def load_game_tags(self): """ Reads header tags from pgn if pgn is a one game only StringIO object """ header = collections.defaultdict(str) header["Id"] = 0 header["Offset"] = 0 for line in self.handle.readlines(): line = line.strip() if line.startswith("[") and line.endswith("]"): tag_match = TAG_REGEX.match(line) if tag_match: value = tag_match.group(2) value = value.replace('\\"', '"') value = value.replace("\\\\", "\\") header[tag_match.group(1)] = value else: break return header