]> gitweb @ CieloNegro.org - blackboard-dns.git/blobdiff - DDNS/Utils.hs
editzone
[blackboard-dns.git] / DDNS / Utils.hs
index b1b5687b674dece01e91071cbbfecf9c19e2481b..e0ef4035ec85e7ef1688afe17f8f6d35fcad8007 100644 (file)
@@ -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