{-# LANGUAGE FlexibleContexts #-} module Villefort.Log (genStats) where import Control.Monad.Reader (MonadReader,MonadIO,liftIO) import Villefort.Definitions (VConfig(..)) import Villefort.Database (getSubjects,makeQuery,clean) import Villefort.Util (makeTable) import Paths_Villefort (getDataFileName) import System.Random (randomRIO) -- | Generate stats page genStats :: (MonadReader VConfig m, MonadIO m) => m String genStats = do subjects <- getSubjects gits <- mapM makeGithub subjects avg <- getAvg statsSum <- getSum x <- liftIO $ getDataFileName "templates/header" header <- liftIO (readFile x) return (header ++ table ++ (makeTable ["Subject","time"] avg) ++ "