improve json when showStart' is given only a key
Before, the json contained file:key; change that to key: If a file and a key are given, inclue both file: and key:
This commit is contained in:
parent
78fa865721
commit
acf74ae945
2 changed files with 14 additions and 9 deletions
|
@ -54,12 +54,12 @@ import Types.Key
|
|||
import qualified Annex
|
||||
|
||||
showStart :: String -> FilePath -> Annex ()
|
||||
showStart command file = outputMessage (JSON.start command $ Just file) $
|
||||
showStart command file = outputMessage (JSON.start command (Just file) Nothing) $
|
||||
command ++ " " ++ file ++ " "
|
||||
|
||||
showStart' :: String -> Key -> Maybe FilePath -> Annex ()
|
||||
showStart' command key afile = showStart command $
|
||||
fromMaybe (key2file key) afile
|
||||
showStart' command key afile = outputMessage (JSON.start command afile (Just key)) $
|
||||
command ++ " " ++ fromMaybe (key2file key) afile ++ " "
|
||||
|
||||
showNote :: String -> Annex ()
|
||||
showNote s = outputMessage (JSON.note s) $ "(" ++ s ++ ") "
|
||||
|
@ -166,7 +166,7 @@ showFullJSON v = withOutputType $ liftIO . go
|
|||
-}
|
||||
showCustom :: String -> Annex Bool -> Annex ()
|
||||
showCustom command a = do
|
||||
outputMessage (JSON.start command Nothing) ""
|
||||
outputMessage (JSON.start command Nothing Nothing) ""
|
||||
r <- a
|
||||
outputMessage (JSON.end r) ""
|
||||
|
||||
|
|
|
@ -17,13 +17,18 @@ module Messages.JSON (
|
|||
import Text.JSON
|
||||
|
||||
import qualified Utility.JSONStream as Stream
|
||||
import Types.Key
|
||||
import Data.Maybe
|
||||
|
||||
start :: String -> Maybe String -> IO ()
|
||||
start command file =
|
||||
putStr $ Stream.start $ ("command", command) : filepart file
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue