module Stats where import Database import Control.Monad.IO.Class data Query = Query String getAvg = makeQuery "select avg(time), Subject from todo group by Subject order by avg(time) desc" getSum = makeQuery "select sum(time), Subject from todo group by Subject order by sum(time) desc" makeRow x = " " ++ (x !! 0) ++ " " ++ (x!! 1) ++ " " makeTable stats = "" ++ (mconcat (map makeRow stats)) ++ "
" genStats = getSubjects >>= mapM makeGithub >>= \gits -> getAvg >>= \avg -> getSum >>= \sum -> return (hea ++ (makeTable avg) ++ "

Sum

" ++ (makeTable sum) ++ "" ++ (mconcat gits)) hea :: String hea = "

avg

" makeGithub :: String -> IO String makeGithub subject = do z <- makeQuery ("select Due from todo where subject = '" ++ subject ++ "' and state = 0") let head = "

Calendar "++ subject ++ "

" return (head ++ (Prelude.concat q )++ bot)