summaryrefslogtreecommitdiff
path: root/src/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Main.hs')
-rw-r--r--src/Main.hs14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/Main.hs b/src/Main.hs
index e592fce..1bd6496 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -4,7 +4,7 @@
module Main (main) where
import Control.Applicative ((<|>))
-import Control.Monad (guard, forM_)
+import Control.Monad (guard, forM_, forM)
import Data.ByteString (ByteString)
import Data.ByteString qualified as BS
import Data.ByteString.Char8 qualified as BS8
@@ -330,16 +330,14 @@ testCount :: FilePath -> IO ()
testCount confpath = do
config <- enrichConfig <$> readConfig confpath
forM_ (econfChannels config) $ \(Channel nw ch) -> do
- -- forM_ [Channel "liberachat" "#haskell"] $ \(Channel nw ch) -> do
let dir = confLogsDir config </> T.unpack nw </> T.unpack ch
files <- listDirectory dir
- forM_ files $ \file -> do
+ count <- fmap sum . forM files $ \file -> do
evs <- parseLog <$> BS.readFile (dir </> file)
- forM_ evs $ \case
- (_, Talk _ _msg) -> return ()
- (_, Notice n msg) -> error (show (n, msg))
- (_, Act _ _msg) -> return ()
- _ -> return ()
+ fmap sum . forM evs $ \case
+ (_, Notice _ _) -> return (1 :: Int)
+ _ -> return 0
+ print count
main :: IO ()
main = getArgs >>= \case