async def get_replay(self, filename="Example.SC2Replay"): filename = "Replays/Replay" + str(uuid.uuid4()) + ".SC2Replay" async with websockets.connect("ws://{0}:{1}/sc2api".format( self.host.address, self.host.port)) as ws: if self.status == "finished": replay = api.Request(save_replay=api.RequestSaveReplay()) await ws.send(replay.SerializeToString()) _replay_response = await ws.recv() replay_response = api.Response.FromString(_replay_response) with open(filename, "wb") as f: f.write(replay_response.save_replay.data) self.host.status = "idle" return filename
async def save_replay(self, path): logger.debug(f"Requesting replay from server") result = await self._execute(save_replay=sc_pb.RequestSaveReplay()) with open(path, "wb") as f: f.write(result.save_replay.data) logger.info(f"Saved replay to {path}")
def save_replay(self): """Save a replay, returning the data.""" res = self._client.send(save_replay=sc_pb.RequestSaveReplay()) return res.data
async def save_replay(self, path): result = await self._execute(save_replay=sc_pb.RequestSaveReplay()) with open(path, "wb") as f: f.write(result.save_replay.data)