diff options
Diffstat (limited to 'Messages')
-rw-r--r-- | Messages/JSON.hs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/Messages/JSON.hs b/Messages/JSON.hs index be3dbbc58..fa829a76c 100644 --- a/Messages/JSON.hs +++ b/Messages/JSON.hs @@ -17,13 +17,18 @@ module Messages.JSON ( import Text.JSON import qualified Utility.JSONStream as Stream - -start :: String -> Maybe String -> IO () -start command file = - putStr $ Stream.start $ ("command", command) : filepart file +import Types.Key +import Data.Maybe + +start :: String -> Maybe FilePath -> Maybe Key -> IO () +start command file key = putStr $ Stream.start $ catMaybes + [ part "command" (Just command) + , part "file" file + , part "key" (fmap key2file key) + ] where - filepart Nothing = [] - filepart (Just f) = [("file", f)] + part _ Nothing = Nothing + part l (Just v) = Just (l, v) end :: Bool -> IO () end b = putStr $ Stream.add [("success", b)] ++ Stream.end |