From da6bf7333c8e845f54969c6fb102e9b36ed89a8e Mon Sep 17 00:00:00 2001 From: anima Date: Sat, 21 Sep 2024 23:01:46 +0200 Subject: [PATCH] add get sessions Signed-off-by: anima --- SatiAPI.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/SatiAPI.py b/SatiAPI.py index 377213f..a79bffe 100644 --- a/SatiAPI.py +++ b/SatiAPI.py @@ -16,7 +16,7 @@ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) class SatiAPI: """A API wrapper for Satisfactory dedicated server""" __AUTHOR__ = 'anima' - __VERSION__ = '0.11.0' + __VERSION__ = '0.11.3' def __init__(self, host: str = None, port: int = 7777, token: str = None, conffile: str = 'conf.yml', logfile: str = 'SatiAPI.log', loglevel: int = 20) -> None: """create a wrapper for satisfactory dedicated server @@ -196,10 +196,17 @@ class SatiAPI: # self._log.debug(f'token expired') # self.get_token() self._log.error(f'wrong response data {json_response=}') + elif response.status_code == 201: + # The function has been executed and returned no error. Returned by some functions to indicate that a new file has been created, such as UploadSaveGame + return True + + elif response.status_code == 202: + # The function has been executed, but is still being processed. This is returned by some functions with side deffects, such as LoadGame + return True elif response.status_code == 204: - # response from rename server, shutdown ... - print(query) + # used from some querys as response with no response content + # The function has been executed successfully, but returned no data (and no error) return True else: @@ -386,6 +393,14 @@ class SatiAPI: return self.__query('HealthCheck', data) + def get_sessions(self): + return self.__query('EnumerateSessions', auth=True) + + # def create_new_game(self, sessionname, startlocation) -> bool: + # data = dict() + # data['NewGameData'] + # pass + def get_server_options(self) -> dict: """Retrieves currently applied server options and server options that are still pending application (because of needing session or server restart) Does not require input parameters. @@ -426,4 +441,4 @@ if __name__ == "__main__": sati = SatiAPI(loglevel=10) # print('Verbundene Spieler: ', sati.get_status()['serverGameState']['numConnectedPlayers']) print(sati.get_status()) - print(sati.shutdown()) \ No newline at end of file + print(sati.get_sessions()) \ No newline at end of file