]> gitweb @ CieloNegro.org - blackboard-dns.git/blobdiff - DDNS/Utils.hs
Code cleanup
[blackboard-dns.git] / DDNS / Utils.hs
index 9c32824c0828722226b0c89e68ecb29984a0f0f1..b1b5687b674dece01e91071cbbfecf9c19e2481b 100644 (file)
@@ -1,8 +1,13 @@
 module DDNS.Utils
     ( trim
+    , getInputLine'
+    , getInputLineWithDefault
     )
     where
 
+import           System.Console.Haskeline
+
+
 trim :: Maybe String -> Maybe String
 trim Nothing   = Nothing
 trim (Just xs) = case trimTail $ trimHead xs of
@@ -14,3 +19,17 @@ trim (Just xs) = case trimTail $ trimHead xs of
       trimHead ys       = ys
 
       trimTail = reverse . trimHead . reverse
+
+getInputLine' :: MonadException m => String -> InputT m String
+getInputLine' prompt
+    = do ret <- getInputLine prompt
+         case trim ret of
+           Just ret' -> return ret'
+           Nothing   -> fail "No input"
+
+getInputLineWithDefault :: MonadException m => String -> String -> InputT m String
+getInputLineWithDefault prompt defaultStr
+    = do ret <- getInputLine prompt
+         case trim ret of
+           Just ret' -> return ret'
+           Nothing   -> return defaultStr