X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=blackboard-dns.git;a=blobdiff_plain;f=DDNS%2FUtils.hs;fp=DDNS%2FUtils.hs;h=e0ef4035ec85e7ef1688afe17f8f6d35fcad8007;hp=b1b5687b674dece01e91071cbbfecf9c19e2481b;hb=22ba80d23ad59661c90bd5a77305b16c417b153b;hpb=1abf9ad51c79257c0bce8e134fdd48a2ff0ef373 diff --git a/DDNS/Utils.hs b/DDNS/Utils.hs index b1b5687..e0ef403 100644 --- a/DDNS/Utils.hs +++ b/DDNS/Utils.hs @@ -2,9 +2,12 @@ module DDNS.Utils ( trim , getInputLine' , getInputLineWithDefault + , readInputLine' + , readInputLineWithDefault ) where +import Control.Monad import System.Console.Haskeline @@ -33,3 +36,14 @@ getInputLineWithDefault prompt defaultStr case trim ret of Just ret' -> return ret' Nothing -> return defaultStr + + +readInputLine' :: (MonadException m, Read r) => String -> InputT m r +readInputLine' = liftM read . getInputLine' + +readInputLineWithDefault :: (MonadException m, Read r) => String -> r -> InputT m r +readInputLineWithDefault prompt defaultValue + = do ret <- getInputLine prompt + case trim ret of + Just ret' -> return $ read ret' + Nothing -> return defaultValue \ No newline at end of file