From 7100079893cc92c661f80d70479ee0632ff83f40 Mon Sep 17 00:00:00 2001 From: Joe Crayne Date: Thu, 4 Jul 2019 15:32:10 -0400 Subject: Added --show-all option to low-level merge api. --- kiki.hs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/kiki.hs b/kiki.hs index d64cd0f..eb043f8 100644 --- a/kiki.hs +++ b/kiki.hs @@ -1286,7 +1286,7 @@ kiki "show" args = do kiki "merge" [] = do putStr . unlines $ - [ "kiki merge [ ( --passphrase-fd=FD | --agent | --show-key=SPEC ) ... ]" + [ "kiki merge [ ( --passphrase-fd=FD | --agent | --show-key=SPEC | --show-all ) ... ]" , " ( --home[=HOMEDIR]" , " | --type=(keyring|pem|wallet|hosts|dns)" , " | --access=[auto|secret|public]" @@ -1306,6 +1306,9 @@ kiki "merge" [] = do , "" , " --agent Use gpg-agent." , "" + , " --show-all After files have been written, show information for all" + , " known keys." + , "" , " --show-key=SPEC After files have been written, show information for the" , " key identified by SPEC." , "" @@ -1339,17 +1342,22 @@ kiki "merge" args = do KikiResult rt report <- runKeyRing (mbAgent op) case rt of KikiSuccess rt -> do let db = rtKeyDB rt - forM_ keyspecs $ \keyspec -> do - show_id keyspec (error "show_id wkgrip") db + if bShowAll + then show_all db + else forM_ keyspecs $ \keyspec -> do + show_id keyspec (error "show_id wkgrip") db err -> putStrLn $ errorString err forM_ report $ \(fname,act) -> do putStrLn $ fname ++ ": " ++ reportString act where - (_,((_,keyspecs),op)) = foldl' buildOp (True,((flow0,[]),noop)) args' + (_,((_,keyspecs),op)) = foldl' buildOp (True,((flow0,[]),noop)) args'' (args',mbAgent) = case break (=="--agent") args of (as,[]) -> (args, id) (as,_:bs) -> ( as++bs , \op -> op { opPassphrases = withAgent (opPassphrases op) }) + (args'',bShowAll) = case break (=="--show-all") args' of + (as,[]) -> (args, False) + (as,_:bs) -> ( as++bs, True) noop = KeyRingOperation { opFiles = Map.empty , opTransforms = [] -- cgit v1.2.3