From 8c5ad1533d8278d736fed7d6cf61a7fbe0d84282 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Mon, 16 Oct 2023 23:18:38 +0200 Subject: [haskell] updated main, init and server reset handling --- haskell/src/SpaceTraders/APIClient/Client.hs | 9 +++++++++ haskell/src/SpaceTraders/Automation/Init.hs | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'haskell/src') diff --git a/haskell/src/SpaceTraders/APIClient/Client.hs b/haskell/src/SpaceTraders/APIClient/Client.hs index 5c2aa66..9229813 100644 --- a/haskell/src/SpaceTraders/APIClient/Client.hs +++ b/haskell/src/SpaceTraders/APIClient/Client.hs @@ -20,6 +20,9 @@ import qualified Data.Text as T import qualified Data.Text.Encoding as T import Network.HTTP.Simple import Network.HTTP.Types.Status +import System.Directory +import System.Environment +import System.Posix.Process import SpaceTraders import SpaceTraders.APIClient.Errors @@ -86,4 +89,10 @@ sendPaginated pagination requestBuilder = do Right (APIRateLimit r) -> do liftIO $ delay (1_000_000 * (round $ retryAfter r)) sendPaginated' request + Right (APIResetHappened _) -> liftIO $ do + removeFile "spacetraders.db" + p <- getExecutablePath + a <- getArgs + e <- getEnvironment + executeFile p False a (Just e) -- we exec on ourselves Right e -> return $ Left e diff --git a/haskell/src/SpaceTraders/Automation/Init.hs b/haskell/src/SpaceTraders/Automation/Init.hs index 42c19e1..6a368ca 100644 --- a/haskell/src/SpaceTraders/Automation/Init.hs +++ b/haskell/src/SpaceTraders/Automation/Init.hs @@ -55,7 +55,6 @@ registerST = do addAgent $ agent r' addContract $ contract r' addShip $ ship r' - _ <- myShips -- in order to fetch the starting probe that is not advertised in the register message let t = token r' addToken t return t -- cgit v1.2.3