{-# LANGUAGE FlexibleContexts #-} module Villefort.Summary where import Villefort.Database import Control.Monad.Reader import Villefort.Todo import Villefort.Stats import Villefort.Definitions total :: [[String]] -> Int total row = sum $ map (\x -> read $ x !! 1 :: Int) row getSummary :: (MonadReader VConfig m, MonadIO m) => m String getSummary = do dat <- getDone header <- getHeader return ( header ++ (makeTable ["Subject","Time"] $ dat ++ [["Total", show$ total dat]]))