diff options
Diffstat (limited to 'src/Utils/ScoresFile.hs')
-rw-r--r-- | src/Utils/ScoresFile.hs | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/src/Utils/ScoresFile.hs b/src/Utils/ScoresFile.hs index eac386c..f981a4a 100644 --- a/src/Utils/ScoresFile.hs +++ b/src/Utils/ScoresFile.hs @@ -14,7 +14,7 @@ import Control.Monad (liftM) import Data.List.Split (splitOn) import Data.Maybe (fromJust) import System.FilePath ((</>)) -import Control.Monad.SariulClocks +-- import Control.Monad.SariulClocks import Control.Monad.Trans (liftIO) scoresToCSV :: ScoresList -> String @@ -35,27 +35,30 @@ scoresFromCSV csv = foldr step [] (lines csv) classString:scoreString:timeString:[] = splitOn "," line theClass = fromJust $ lookupSariulClass ((read . (:[]) . head) classString) ((read . (:[]) . last) classString) --- try to read from scores-XX.csv where XX is largest timestamp -readScoresFile :: SariulScoresMonad a => a (Maybe ScoresList) -readScoresFile = do - curDir <- liftIO getCurrentDirectory - let dataDir = curDir </> "data" - filenames <- liftM (reverse . sort . filter isCSV) $ liftIO $ getDirectoryContents dataDir - if null filenames - then return Nothing - else do - -- let scores = liftM scoresFromCSV $ liftIO $ readFile (dataDir </> head filenames) - scores <- liftIO $ scoresFromCSV <$> readFile (dataDir </> head filenames) - putScores scores - return $ Just scores - where isCSV path = takeExtension path == ".csv" +-- -- try to read from scores-XX.csv where XX is largest timestamp +-- readScoresFile :: SariulScoresMonad a => a (Maybe ScoresList) +-- readScoresFile = do +-- curDir <- liftIO getCurrentDirectory +-- let dataDir = curDir </> "data" +-- filenames <- liftM (reverse . sort . filter isCSV) $ liftIO $ getDirectoryContents dataDir +-- if null filenames +-- then return Nothing +-- else do +-- -- let scores = liftM scoresFromCSV $ liftIO $ readFile (dataDir </> head filenames) +-- scores <- liftIO $ scoresFromCSV <$> readFile (dataDir </> head filenames) +-- putScores scores +-- return $ Just scores +-- where isCSV path = takeExtension path == ".csv" --- writes to score-XX.csv where XX is unix timestamp: a simple-minded logging -writeScoresFile :: SariulScoresMonad a => a () -writeScoresFile = do - scores <- getScores - curDir <- liftIO getCurrentDirectory - let dataDir = curDir </> "data" - timestamp <- liftM round $ liftIO getPOSIXTime - let filename = dataDir </> ("scores-" ++ show timestamp ++ ".csv") - liftIO $ writeFile filename (scoresToCSV scores) +-- -- writes to score-XX.csv where XX is unix timestamp: a simple-minded logging +-- writeScoresFile :: SariulScoresMonad a => a () +-- writeScoresFile = do +-- scores <- getScores +-- curDir <- liftIO getCurrentDirectory +-- let dataDir = curDir </> "data" +-- timestamp <- liftM round $ liftIO getPOSIXTime +-- let filename = dataDir </> ("scores-" ++ show timestamp ++ ".csv") +-- liftIO $ writeFile filename (scoresToCSV scores) + +readScoresFile = undefined +writeScoresFile = undefined |