From 78048fcbc81521d145b79b4b47761a8b698d7ff7 Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Sun, 19 Apr 2015 12:14:50 +0200 Subject: Adding a design to the HTML mail + Adding waitInMinutes in the configuration --- src/Config.hs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/Config.hs') diff --git a/src/Config.hs b/src/Config.hs index 0a421fa..98e2c9a 100644 --- a/src/Config.hs +++ b/src/Config.hs @@ -12,6 +12,7 @@ import qualified Data.Map as M import Data.Text (Text) import qualified Data.Text as T import qualified Data.Text.IO as T +import Data.Text.Read (decimal) import Control.Monad (guard) @@ -35,6 +36,7 @@ configUsage = , " - url (required)" , " - mailTo (optional)" , " - properties (optional)" + , " - waitInMinutes (optional, default to 1)" , "" , " Example:" , "" @@ -46,6 +48,9 @@ configUsage = , "" , " # The properties field is an optional list" , " # properties = cp, city, surface, ges" + , "" + , " # The waitInMinutes field is an optional integer, default to 1" + , " # waitInMinutes = 60" ] configPath :: FilePath @@ -79,9 +84,14 @@ configFromMap map = do { url = url , mailTo = fieldValues "mailTo" map , properties = fieldValues "properties" map + , waitInMinutes = fromMaybe 1 $ M.lookup "waitInMinutes" map >>= fmap fst . eitherToMaybe . decimal } return config +eitherToMaybe :: Either a b -> Maybe b +eitherToMaybe (Right x) = Just x +eitherToMaybe _ = Nothing + fieldValues :: Text -> Map Text Text -> [Text] fieldValues field map = fromMaybe [] $ fmap T.strip . T.splitOn "," <$> M.lookup field map -- cgit v1.2.3