-- | An OptionalConfiguration is just like a 'Configuration', except
-- all of its fields are optional. The user can set options in two
-- | An OptionalConfiguration is just like a 'Configuration', except
-- all of its fields are optional. The user can set options in two
import Data.Data ( Data )
import Data.Maybe ( fromMaybe )
import Data.Monoid ( Monoid(..) )
import Data.Data ( Data )
import Data.Maybe ( fromMaybe )
import Data.Monoid ( Monoid(..) )
import Data.Typeable ( Typeable )
import Paths_harbl ( getSysconfDir )
import System.Console.CmdArgs.Default ( Default(..) )
import System.Directory ( getHomeDirectory )
import System.FilePath ( (</>) )
import System.IO.Error ( catchIOError )
import Data.Typeable ( Typeable )
import Paths_harbl ( getSysconfDir )
import System.Console.CmdArgs.Default ( Default(..) )
import System.Directory ( getHomeDirectory )
import System.FilePath ( (</>) )
import System.IO.Error ( catchIOError )
return "$(HOME)")
let global_config_path = etc </> "harblrc"
let user_config_path = home </> ".harblrc"
cfg <- DC.load [ DC.Optional global_config_path,
DC.Optional user_config_path ]
return "$(HOME)")
let global_config_path = etc </> "harblrc"
let user_config_path = home </> ".harblrc"
cfg <- DC.load [ DC.Optional global_config_path,
DC.Optional user_config_path ]
- cfg_lists <- DC.lookup cfg "lists"
- cfg_hosts <- DC.lookup cfg "hosts"
- cfg_threshold <- DC.lookup cfg "threshold"
+ cfg_lists <- DC.lookup cfg (pack "lists")
+ cfg_hosts <- DC.lookup cfg (pack "hosts")
+ cfg_threshold <- DC.lookup cfg (pack "threshold")
return $ OptionalConfiguration
(fromMaybe def cfg_hosts)
(fromMaybe def cfg_lists)
return $ OptionalConfiguration
(fromMaybe def cfg_hosts)
(fromMaybe def cfg_lists)