def save_hsreplay_xml(self, parser, meta): from hsreplay.document import HSReplayDocument global_game = self.global_game hsreplay_doc = HSReplayDocument.from_parser(parser, build=self.build) game_xml = hsreplay_doc.games[0] game_xml.game_type = global_game.game_type game_xml.id = global_game.game_handle if self.reconnecting: game_xml.reconnecting = True game_tree = parser.games[0] for player in game_tree.game.players: player_meta = meta.get("player%i" % (player.player_id), {}) player_xml = game_xml.players[player.player_id - 1] player_xml.rank = player_meta.get("rank") player_xml.legendRank = player_meta.get("legend_rank") player_xml.cardback = player_meta.get("cardback") player_xml.deck = player_meta.get("deck") xml_str = hsreplay_doc.to_xml() self.hsreplay_version = hsreplay_doc.version # Clean up existing replays first if self.replay_xml.name and default_storage.exists(self.replay_xml.name): self.replay_xml.delete(save=False) xml_file = ContentFile(xml_str) self.replay_xml.save("hsreplay.xml", xml_file, save=False) return xml_file
def save_hsreplay_xml(self, parser, meta): from hsreplay.document import HSReplayDocument global_game = self.global_game hsreplay_doc = HSReplayDocument.from_parser(parser, build=global_game.build) game_xml = hsreplay_doc.games[0] game_xml.game_type = global_game.game_type game_xml.id = global_game.game_server_game_id if self.reconnecting: game_xml.reconnecting = True game_tree = parser.games[0] for player in game_tree.game.players: player_meta = meta.get("player%i" % (player.player_id), {}) player_xml = game_xml.players[player.player_id - 1] player_xml.rank = player_meta.get("rank") player_xml.legendRank = player_meta.get("legend_rank") player_xml.cardback = player_meta.get("cardback") player_xml.deck = player_meta.get("deck") xml_str = hsreplay_doc.to_xml() self.hsreplay_version = hsreplay_doc.version # Clean up existing replays first if self.replay_xml.name and default_storage.exists( self.replay_xml.name): self.replay_xml.delete(save=False) xml_file = ContentFile(xml_str) self.replay_xml.save("hsreplay.xml", xml_file, save=False) return xml_file
def loadMacGame(self): f = open("/Applications/Hearthstone/Logs/Power.log", "r") myList = [] for line in f: myList.append(line) f.close() pars = Pars() pars.read(myList) game = hsDoc.from_parser(pars, build=None) return game
def loadPcGame(self): # TODO: Rewrite game loading to be less time consuming # --- Connect to Hearthstone Client Directly --- f = open("C:\Program Files (x86)\Hearthstone\Logs\Power.log", "r") myList = [] for line in f: myList.append(line) f.close() pars = Pars() pars.read(myList) game = hsDoc.from_parser(pars, build=None) return game
def create_hsreplay_document(parser, entity_tree, meta, global_game): hsreplay_doc = HSReplayDocument.from_parser(parser, build=meta["build"]) game_xml = hsreplay_doc.games[0] game_xml.game_type = global_game.game_type game_xml.id = global_game.game_handle if meta["reconnecting"]: game_xml.reconnecting = True for player in entity_tree.players: player_meta = meta.get("player%i" % (player.player_id), {}) player_xml = game_xml.players[player.player_id - 1] player_xml.rank = player_meta.get("rank") player_xml.legendRank = player_meta.get("legend_rank") player_xml.cardback = player_meta.get("cardback") player_xml.deck = player_meta.get("deck") return hsreplay_doc
def create_hsreplay_document(parser, entity_tree, meta, global_game): hsreplay_doc = HSReplayDocument.from_parser(parser, build=meta["build"]) game_xml = hsreplay_doc.games[0] game_xml.game_type = global_game.game_type game_xml.id = global_game.game_handle if meta["reconnecting"]: game_xml.reconnecting = True for player in entity_tree.players: player_meta = meta.get("player%i" % (player.player_id), {}) player_xml = game_xml.players[player.player_id - 1] player_xml.rank = player_meta.get("rank") player_xml.legendRank = player_meta.get("legend_rank") player_xml.cardback = player_meta.get("cardback") player_xml.deck = player_meta.get("deck") return hsreplay_doc