class Client: def __init__(self, account): self.account = account self.innerClient = GatewayClient(GATEWAY_ADDRESS, GATEWAY_PORT, CLIENT_TIMEOUT) def __enter__(self): return self def __exit__(self, exc_type, exc_value, traceback): self.innerClient.disconnect() def connect(self): self.innerClient.connect() def loginWithSteamId(self, shouldVerifyResponse=True): return self._checkResponse(self.innerClient.loginWithSteamId(self.account.steamId), shouldVerifyResponse) def _checkResponse(self, response, shouldVerifyResponse): if shouldVerifyResponse: if response.statusCode != SUCCESS: raise ClientError("StatusCode expected to be SUCCESS but instead is {} : {}".format(response.statusCode, response)) return response