Skip to content

Commit e7fa318

Browse files
authored
Merge pull request #1192 from IntersectMBO/newhoggy/more-yaml-outputs
`yaml` output format for more commands
2 parents ab38631 + 7fc153c commit e7fa318

33 files changed

+250
-99
lines changed

cardano-cli/src/Cardano/CLI/EraBased/Genesis/Run.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ runGenesisTxInCmd
205205
readFileTextEnvelope verificationKeyPath
206206
let txin = genesisUTxOPseudoTxIn network (verificationKeyHash vkey)
207207

208-
cioWriteTextOutput mOutFile (renderTxIn txin)
208+
writeOutput mOutFile (renderTxIn txin)
209209

210210
runGenesisAddrCmd
211211
:: GenesisAddrCmdArgs
@@ -226,7 +226,7 @@ runGenesisAddrCmd
226226
(PaymentCredentialByKey vkh)
227227
NoStakeAddress
228228

229-
cioWriteTextOutput mOutFile (serialiseAddress addr)
229+
writeOutput mOutFile (serialiseAddress addr)
230230

231231
--
232232
-- Create Genesis command implementation
@@ -1359,11 +1359,11 @@ runGenesisHashFileCmd (GenesisFile fpath) = do
13591359
gh = Crypto.hashWith id content
13601360
liftIO $ Text.putStrLn (Crypto.hashToTextAsHex gh)
13611361

1362-
cioWriteTextOutput
1362+
writeOutput
13631363
:: Maybe (File content Out)
13641364
-> Text
13651365
-> CIO e ()
1366-
cioWriteTextOutput mOutput t =
1366+
writeOutput mOutput t =
13671367
case mOutput of
13681368
Just fp -> liftIO $ Text.writeFile (unFile fp) t
13691369
Nothing -> liftIO $ Text.putStr t

cardano-cli/src/Cardano/CLI/EraBased/Query/Command.hs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,14 +115,14 @@ data QueryTipCmdArgs = QueryTipCmdArgs
115115

116116
data QueryStakePoolsCmdArgs = QueryStakePoolsCmdArgs
117117
{ commons :: !QueryCommons
118-
, outputFormat :: !(Vary [FormatJson, FormatText])
118+
, outputFormat :: !(Vary [FormatJson, FormatText, FormatYaml])
119119
, mOutFile :: !(Maybe (File () Out))
120120
}
121121
deriving (Generic, Show)
122122

123123
data QueryStakeDistributionCmdArgs = QueryStakeDistributionCmdArgs
124124
{ commons :: !QueryCommons
125-
, outputFormat :: !(Vary [FormatJson, FormatText])
125+
, outputFormat :: !(Vary [FormatJson, FormatText, FormatYaml])
126126
, mOutFile :: !(Maybe (File () Out))
127127
}
128128
deriving (Generic, Show)
@@ -138,14 +138,14 @@ data QueryStakeAddressInfoCmdArgs = QueryStakeAddressInfoCmdArgs
138138
data QueryUTxOCmdArgs = QueryUTxOCmdArgs
139139
{ commons :: !QueryCommons
140140
, queryFilter :: !QueryUTxOFilter
141-
, outputFormat :: !(Vary [FormatCborBin, FormatCborHex, FormatJson, FormatText])
141+
, outputFormat :: !(Vary [FormatCborBin, FormatCborHex, FormatJson, FormatText, FormatYaml])
142142
, mOutFile :: !(Maybe (File () Out))
143143
}
144144
deriving (Generic, Show)
145145

146146
data QueryLedgerStateCmdArgs = QueryLedgerStateCmdArgs
147147
{ commons :: !QueryCommons
148-
, outputFormat :: !(Vary [FormatJson, FormatText])
148+
, outputFormat :: !(Vary [FormatJson, FormatText, FormatYaml])
149149
, mOutFile :: !(Maybe (File () Out))
150150
}
151151
deriving (Generic, Show)
@@ -206,7 +206,7 @@ data QuerySlotNumberCmdArgs = QuerySlotNumberCmdArgs
206206
data QueryRefScriptSizeCmdArgs = QueryRefScriptSizeCmdArgs
207207
{ commons :: !QueryCommons
208208
, transactionInputs :: !(Set TxIn)
209-
, outputFormat :: !(Vary [FormatJson, FormatText])
209+
, outputFormat :: !(Vary [FormatJson, FormatText, FormatYaml])
210210
, mOutFile :: !(Maybe (File () Out))
211211
}
212212
deriving (Generic, Show)

cardano-cli/src/Cardano/CLI/EraBased/Query/Option.hs

Lines changed: 57 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import Data.Function
3030
import GHC.Exts (IsList (..))
3131
import Options.Applicative hiding (help, str)
3232
import Options.Applicative qualified as Opt
33+
import Vary (Vary)
3334

3435
pQueryCmdsTopLevel :: EnvCli -> Parser (QueryCmds ConwayEra)
3536
pQueryCmdsTopLevel envCli =
@@ -355,8 +356,8 @@ pQueryProtocolParametersCmd envCli =
355356
<*> pNetworkId envCli
356357
<*> pSocketPath envCli
357358
)
358-
<*> pFormatFlags
359-
"protocol-parameters query output"
359+
<*> pFormatQueryOutputFlags
360+
"protocol-parameters"
360361
[ flagFormatJson & setDefault
361362
, flagFormatYaml
362363
]
@@ -367,8 +368,8 @@ pQueryTipCmd era envCli =
367368
fmap QueryTipCmd $
368369
QueryTipCmdArgs
369370
<$> pQueryCommons era envCli
370-
<*> pFormatFlags
371-
"tip query output"
371+
<*> pFormatQueryOutputFlags
372+
"tip"
372373
[ flagFormatJson & setDefault
373374
, flagFormatYaml
374375
]
@@ -380,12 +381,13 @@ pQueryUTxOCmd era envCli =
380381
QueryUTxOCmdArgs
381382
<$> pQueryCommons era envCli
382383
<*> pQueryUTxOFilter
383-
<*> pFormatFlags
384-
"utxo query output"
384+
<*> pFormatQueryOutputFlags
385+
"utxo"
385386
[ flagFormatCborBin
386387
, flagFormatCborHex
387388
, flagFormatJson & setDefault
388389
, flagFormatText
390+
, flagFormatYaml
389391
]
390392
<*> pMaybeOutputFile
391393

@@ -394,10 +396,11 @@ pQueryStakePoolsCmd era envCli =
394396
fmap QueryStakePoolsCmd $
395397
QueryStakePoolsCmdArgs
396398
<$> pQueryCommons era envCli
397-
<*> pFormatFlags
398-
"stake-pools query output"
399+
<*> pFormatQueryOutputFlags
400+
"stake-pools"
399401
[ flagFormatJson & setDefault
400402
, flagFormatText
403+
, flagFormatYaml
401404
]
402405
<*> pMaybeOutputFile
403406

@@ -406,10 +409,11 @@ pQueryStakeDistributionCmd era envCli =
406409
fmap QueryStakeDistributionCmd $
407410
QueryStakeDistributionCmdArgs
408411
<$> pQueryCommons era envCli
409-
<*> pFormatFlags
410-
"stake-distribution query output"
412+
<*> pFormatQueryOutputFlags
413+
"stake-distribution"
411414
[ flagFormatJson & setDefault
412415
, flagFormatText
416+
, flagFormatYaml
413417
]
414418
<*> pMaybeOutputFile
415419

@@ -419,8 +423,8 @@ pQueryStakeAddressInfoCmd era envCli =
419423
QueryStakeAddressInfoCmdArgs
420424
<$> pQueryCommons era envCli
421425
<*> pFilterByStakeAddress
422-
<*> pFormatFlags
423-
"stake-address-info query output"
426+
<*> pFormatQueryOutputFlags
427+
"stake-address-info"
424428
[ flagFormatJson & setDefault
425429
, flagFormatYaml
426430
]
@@ -431,10 +435,11 @@ pQueryLedgerStateCmd era envCli =
431435
fmap QueryLedgerStateCmd $
432436
QueryLedgerStateCmdArgs
433437
<$> pQueryCommons era envCli
434-
<*> pFormatFlags
435-
"ledger-state query output"
438+
<*> pFormatQueryOutputFlags
439+
"ledger-state"
436440
[ flagFormatJson & setDefault
437441
, flagFormatText
442+
, flagFormatYaml
438443
]
439444
<*> pMaybeOutputFile
440445

@@ -443,8 +448,8 @@ pQueryLedgerPeerSnapshotCmd era envCli =
443448
fmap QueryLedgerPeerSnapshotCmd $
444449
QueryLedgerPeerSnapshotCmdArgs
445450
<$> pQueryCommons era envCli
446-
<*> pFormatFlags
447-
"ledger-peer-snapshot query output"
451+
<*> pFormatQueryOutputFlags
452+
"ledger-peer-snapshot"
448453
[ flagFormatJson & setDefault
449454
, flagFormatYaml
450455
]
@@ -455,8 +460,8 @@ pQueryProtocolStateCmd era envCli =
455460
fmap QueryProtocolStateCmd $
456461
QueryProtocolStateCmdArgs
457462
<$> pQueryCommons era envCli
458-
<*> pFormatFlags
459-
"protocol-state query output"
463+
<*> pFormatQueryOutputFlags
464+
"protocol-state"
460465
[ flagFormatCborBin
461466
, flagFormatCborHex
462467
, flagFormatJson & setDefault
@@ -483,8 +488,8 @@ pQueryStakeSnapshotCmd era envCli =
483488
QueryStakeSnapshotCmdArgs
484489
<$> pQueryCommons era envCli
485490
<*> pAllStakePoolsOrSome
486-
<*> pFormatFlags
487-
"stake-snapshot query output"
491+
<*> pFormatQueryOutputFlags
492+
"stake-snapshot"
488493
[ flagFormatJson & setDefault
489494
, flagFormatYaml
490495
]
@@ -496,8 +501,8 @@ pQueryPoolStateCmd era envCli =
496501
QueryPoolStateCmdArgs
497502
<$> pQueryCommons era envCli
498503
<*> pAllStakePoolsOrSome
499-
<*> pFormatFlags
500-
"pool-state query output"
504+
<*> pFormatQueryOutputFlags
505+
"pool-state"
501506
[ flagFormatJson & setDefault
502507
, flagFormatYaml
503508
]
@@ -513,8 +518,8 @@ pQueryTxMempoolCmd envCli =
513518
<*> pSocketPath envCli
514519
)
515520
<*> pTxMempoolQuery
516-
<*> pFormatFlags
517-
"tx-mempool query output"
521+
<*> pFormatQueryOutputFlags
522+
"tx-mempool"
518523
[ flagFormatJson & setDefault
519524
, flagFormatYaml
520525
]
@@ -546,8 +551,8 @@ pLeadershipScheduleCmd era envCli =
546551
<*> pStakePoolVerificationKeyOrHashOrFile Nothing
547552
<*> pVrfSigningKeyFile
548553
<*> pWhichLeadershipSchedule
549-
<*> pFormatFlags
550-
"leadership-schedule query output"
554+
<*> pFormatQueryOutputFlags
555+
"leadership-schedule"
551556
[ flagFormatJson & setDefault
552557
, flagFormatText
553558
, flagFormatYaml
@@ -560,8 +565,8 @@ pKesPeriodInfoCmd era envCli =
560565
QueryKesPeriodInfoCmdArgs
561566
<$> pQueryCommons era envCli
562567
<*> pOperationalCertificateFile
563-
<*> pFormatFlags
564-
"kes-period-info query output"
568+
<*> pFormatQueryOutputFlags
569+
"kes-period-info"
565570
[ flagFormatJson & setDefault
566571
, flagFormatYaml
567572
]
@@ -587,10 +592,11 @@ pQueryRefScriptSizeCmd era envCli =
587592
QueryRefScriptSizeCmdArgs
588593
<$> pQueryCommons era envCli
589594
<*> (fromList <$> some pByTxIn)
590-
<*> pFormatFlags
591-
"reference inputs query output"
595+
<*> pFormatQueryOutputFlags
596+
"reference-script-size"
592597
[ flagFormatJson & setDefault
593598
, flagFormatText
599+
, flagFormatYaml
594600
]
595601
<*> pMaybeOutputFile
596602
where
@@ -692,8 +698,8 @@ pQueryDRepStateCmd era envCli = do
692698
]
693699
]
694700
)
695-
<*> pFormatFlags
696-
"drep-state query output"
701+
<*> pFormatQueryOutputFlags
702+
"drep-state"
697703
[ flagFormatJson & setDefault
698704
, flagFormatYaml
699705
]
@@ -718,8 +724,8 @@ pQueryDRepStakeDistributionCmd era envCli = do
718724
QueryDRepStakeDistributionCmdArgs w
719725
<$> pQueryCommons era envCli
720726
<*> pAllOrOnlyDRepHashSource
721-
<*> pFormatFlags
722-
"drep-stake-distribution query output"
727+
<*> pFormatQueryOutputFlags
728+
"drep-stake-distribution"
723729
[ flagFormatJson & setDefault
724730
, flagFormatYaml
725731
]
@@ -747,8 +753,8 @@ pQueryProposalsCmd era envCli = do
747753
QueryProposalsCmdArgs w
748754
<$> pQueryCommons (convert w) envCli
749755
<*> pAllOrOnlyGovActionIds
750-
<*> pFormatFlags
751-
"proposals query output"
756+
<*> pFormatQueryOutputFlags
757+
"proposals"
752758
[ flagFormatJson & setDefault
753759
, flagFormatYaml
754760
]
@@ -773,8 +779,8 @@ pQuerySPOStakeDistributionCmd era envCli = do
773779
QuerySPOStakeDistributionCmdArgs w
774780
<$> pQueryCommons era envCli
775781
<*> pAllOrOnlySPOHashSource
776-
<*> pFormatFlags
777-
"spo-stake-distribution query output"
782+
<*> pFormatQueryOutputFlags
783+
"spo-stake-distribution"
778784
[ flagFormatJson & setDefault
779785
, flagFormatYaml
780786
]
@@ -801,8 +807,8 @@ pQueryGetCommitteeStateCmd era envCli = do
801807
<*> many pCommitteeColdVerificationKeyOrHashOrFileOrScriptHash
802808
<*> many pCommitteeHotKeyOrHashOrFileOrScriptHash
803809
<*> many pMemberStatus
804-
<*> pFormatFlags
805-
"committee-state query output"
810+
<*> pFormatQueryOutputFlags
811+
"committee-state"
806812
[ flagFormatJson & setDefault
807813
, flagFormatYaml
808814
]
@@ -889,8 +895,8 @@ pQueryStakePoolDefaultVote era envCli = do
889895
QueryStakePoolDefaultVoteCmdArgs w
890896
<$> pQueryCommons era envCli
891897
<*> pSPOHashSource
892-
<*> pFormatFlags
893-
"stake-pool-default-vote query output"
898+
<*> pFormatQueryOutputFlags
899+
"stake-pool-default-vote"
894900
[ flagFormatJson & setDefault
895901
, flagFormatYaml
896902
]
@@ -906,8 +912,8 @@ pQueryNoArgCmdArgs
906912
pQueryNoArgCmdArgs w envCli name =
907913
QueryNoArgCmdArgs w
908914
<$> pQueryCommons (convert w) envCli
909-
<*> pFormatFlags
910-
(name <> " query output")
915+
<*> pFormatQueryOutputFlags
916+
name
911917
[ flagFormatJson & setDefault
912918
, flagFormatYaml
913919
]
@@ -951,3 +957,10 @@ pQueryEraHistoryCmd envCli =
951957
QueryEraHistoryCmdArgs
952958
<$> pQueryCommons ShelleyBasedEraConway envCli
953959
<*> pMaybeOutputFile
960+
961+
pFormatQueryOutputFlags
962+
:: String
963+
-> [Flag (Vary fs)]
964+
-> Parser (Vary fs)
965+
pFormatQueryOutputFlags content =
966+
pFormatFlags $ content <> " query output"

0 commit comments

Comments
 (0)