X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FOptionalConfiguration.hs;h=2d74d27965e1281f0e816ae45500af9221f67440;hb=39e047ccd8422207e01247c63f514c40e7eac31e;hp=0bd093b457acc174d4ed5637824c51a3eb17026d;hpb=08bee78f64c72b943ef775d9914e457c05eae7e8;p=mailbox-count.git diff --git a/src/OptionalConfiguration.hs b/src/OptionalConfiguration.hs index 0bd093b..2d74d27 100644 --- a/src/OptionalConfiguration.hs +++ b/src/OptionalConfiguration.hs @@ -36,9 +36,11 @@ data OptionalConfiguration = OptionalConfiguration { database :: Maybe String, detail :: Maybe Bool, + detail_query :: Maybe String, host :: Maybe String, password :: Maybe String, port :: Maybe Int, + summary_query :: Maybe String, username :: Maybe String } deriving (Show, Data, Typeable) @@ -70,15 +72,19 @@ instance Monoid OptionalConfiguration where Nothing Nothing Nothing + Nothing + Nothing -- | Combine @cfg1@ and @cfg2@, giving precedence to @cfg2@. cfg1 `mappend` cfg2 = OptionalConfiguration (merge_maybes (database cfg1) (database cfg2)) (merge_maybes (detail cfg1) (detail cfg2)) + (merge_maybes (detail_query cfg1) (detail_query cfg2)) (merge_maybes (host cfg1) (host cfg2)) (merge_maybes (password cfg1) (password cfg2)) (merge_maybes (port cfg1) (port cfg2)) + (merge_maybes (summary_query cfg1) (summary_query cfg2)) (merge_maybes (username cfg1) (username cfg2)) @@ -106,15 +112,19 @@ from_rc = do DC.Optional user_config_path ] cfg_database <- DC.lookup cfg "database" cfg_detail <- DC.lookup cfg "detail" + cfg_detail_query <- DC.lookup cfg "detail_query" cfg_host <- DC.lookup cfg "host" cfg_password <- DC.lookup cfg "password" cfg_port <- DC.lookup cfg "port" + cfg_summary_query <- DC.lookup cfg "summary_query" cfg_username <- DC.lookup cfg "username" return $ OptionalConfiguration cfg_database cfg_detail + cfg_detail_query cfg_host cfg_password cfg_port + cfg_summary_query cfg_username