Beispiel #1
0
	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
Beispiel #2
0
    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
Beispiel #3
0
    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
Beispiel #4
0
    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
Beispiel #5
0
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
Beispiel #6
0
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