{-# LANGUAGE OverloadedStrings #-} module Main ( main ) where import qualified Data.Text.IO as T import Exit (exitWithParsingError) import Notification (notifyTodayAndNextWeek) import Model.Conf import Model.EventParser (parseEvents) import qualified Model.Path as Path main :: IO () main = do eitherEvents <- parseEvents <$> T.readFile Path.event eitherConf <- getConf Path.conf case (eitherEvents, eitherConf) of (Left err, _) -> exitWithParsingError Path.event err (_, Left err) -> exitWithParsingError Path.conf err (Right events, Right conf) -> notifyTodayAndNextWeek events conf