Skip to content

Simplify query format flag #1191

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions cardano-cli/src/Cardano/CLI/EraBased/Genesis/Run.hs
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ runGenesisTxInCmd
readFileTextEnvelope verificationKeyPath
let txin = genesisUTxOPseudoTxIn network (verificationKeyHash vkey)

cioWriteTextOutput mOutFile (renderTxIn txin)
writeOutput mOutFile (renderTxIn txin)

runGenesisAddrCmd
:: GenesisAddrCmdArgs
Expand All @@ -226,7 +226,7 @@ runGenesisAddrCmd
(PaymentCredentialByKey vkh)
NoStakeAddress

cioWriteTextOutput mOutFile (serialiseAddress addr)
writeOutput mOutFile (serialiseAddress addr)

--
-- Create Genesis command implementation
Expand Down Expand Up @@ -1359,11 +1359,11 @@ runGenesisHashFileCmd (GenesisFile fpath) = do
gh = Crypto.hashWith id content
liftIO $ Text.putStrLn (Crypto.hashToTextAsHex gh)

cioWriteTextOutput
writeOutput
:: Maybe (File content Out)
-> Text
-> CIO e ()
cioWriteTextOutput mOutput t =
writeOutput mOutput t =
case mOutput of
Just fp -> liftIO $ Text.writeFile (unFile fp) t
Nothing -> liftIO $ Text.putStr t
96 changes: 52 additions & 44 deletions cardano-cli/src/Cardano/CLI/EraBased/Query/Option.hs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import Data.Function
import GHC.Exts (IsList (..))
import Options.Applicative hiding (help, str)
import Options.Applicative qualified as Opt
import Vary (Vary)

pQueryCmdsTopLevel :: EnvCli -> Parser (QueryCmds ConwayEra)
pQueryCmdsTopLevel envCli =
Expand Down Expand Up @@ -355,8 +356,8 @@ pQueryProtocolParametersCmd envCli =
<*> pNetworkId envCli
<*> pSocketPath envCli
)
<*> pFormatFlags
"protocol-parameters query output"
<*> pFormatQueryOutputFlags
"protocol-parameters"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -367,8 +368,8 @@ pQueryTipCmd era envCli =
fmap QueryTipCmd $
QueryTipCmdArgs
<$> pQueryCommons era envCli
<*> pFormatFlags
"tip query output"
<*> pFormatQueryOutputFlags
"tip"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -380,8 +381,8 @@ pQueryUTxOCmd era envCli =
QueryUTxOCmdArgs
<$> pQueryCommons era envCli
<*> pQueryUTxOFilter
<*> pFormatFlags
"utxo query output"
<*> pFormatQueryOutputFlags
"utxo"
[ flagFormatCborBin
, flagFormatCborHex
, flagFormatJson & setDefault
Expand All @@ -394,8 +395,8 @@ pQueryStakePoolsCmd era envCli =
fmap QueryStakePoolsCmd $
QueryStakePoolsCmdArgs
<$> pQueryCommons era envCli
<*> pFormatFlags
"stake-pools query output"
<*> pFormatQueryOutputFlags
"stake-pools"
[ flagFormatJson & setDefault
, flagFormatText
]
Expand All @@ -406,8 +407,8 @@ pQueryStakeDistributionCmd era envCli =
fmap QueryStakeDistributionCmd $
QueryStakeDistributionCmdArgs
<$> pQueryCommons era envCli
<*> pFormatFlags
"stake-distribution query output"
<*> pFormatQueryOutputFlags
"stake-distribution"
[ flagFormatJson & setDefault
, flagFormatText
]
Expand All @@ -419,8 +420,8 @@ pQueryStakeAddressInfoCmd era envCli =
QueryStakeAddressInfoCmdArgs
<$> pQueryCommons era envCli
<*> pFilterByStakeAddress
<*> pFormatFlags
"stake-address-info query output"
<*> pFormatQueryOutputFlags
"stake-address-info"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -431,8 +432,8 @@ pQueryLedgerStateCmd era envCli =
fmap QueryLedgerStateCmd $
QueryLedgerStateCmdArgs
<$> pQueryCommons era envCli
<*> pFormatFlags
"ledger-state query output"
<*> pFormatQueryOutputFlags
"ledger-state"
[ flagFormatJson & setDefault
, flagFormatText
]
Expand All @@ -443,8 +444,8 @@ pQueryLedgerPeerSnapshotCmd era envCli =
fmap QueryLedgerPeerSnapshotCmd $
QueryLedgerPeerSnapshotCmdArgs
<$> pQueryCommons era envCli
<*> pFormatFlags
"ledger-peer-snapshot query output"
<*> pFormatQueryOutputFlags
"ledger-peer-snapshot"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -455,8 +456,8 @@ pQueryProtocolStateCmd era envCli =
fmap QueryProtocolStateCmd $
QueryProtocolStateCmdArgs
<$> pQueryCommons era envCli
<*> pFormatFlags
"protocol-state query output"
<*> pFormatQueryOutputFlags
"protocol-state"
[ flagFormatCborBin
, flagFormatCborHex
, flagFormatJson & setDefault
Expand All @@ -483,8 +484,8 @@ pQueryStakeSnapshotCmd era envCli =
QueryStakeSnapshotCmdArgs
<$> pQueryCommons era envCli
<*> pAllStakePoolsOrSome
<*> pFormatFlags
"stake-snapshot query output"
<*> pFormatQueryOutputFlags
"stake-snapshot"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -496,8 +497,8 @@ pQueryPoolStateCmd era envCli =
QueryPoolStateCmdArgs
<$> pQueryCommons era envCli
<*> pAllStakePoolsOrSome
<*> pFormatFlags
"pool-state query output"
<*> pFormatQueryOutputFlags
"pool-state"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -513,8 +514,8 @@ pQueryTxMempoolCmd envCli =
<*> pSocketPath envCli
)
<*> pTxMempoolQuery
<*> pFormatFlags
"tx-mempool query output"
<*> pFormatQueryOutputFlags
"tx-mempool"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand Down Expand Up @@ -546,8 +547,8 @@ pLeadershipScheduleCmd era envCli =
<*> pStakePoolVerificationKeyOrHashOrFile Nothing
<*> pVrfSigningKeyFile
<*> pWhichLeadershipSchedule
<*> pFormatFlags
"leadership-schedule query output"
<*> pFormatQueryOutputFlags
"leadership-schedule"
[ flagFormatJson & setDefault
, flagFormatText
, flagFormatYaml
Expand All @@ -560,8 +561,8 @@ pKesPeriodInfoCmd era envCli =
QueryKesPeriodInfoCmdArgs
<$> pQueryCommons era envCli
<*> pOperationalCertificateFile
<*> pFormatFlags
"kes-period-info query output"
<*> pFormatQueryOutputFlags
"kes-period-info"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -587,8 +588,8 @@ pQueryRefScriptSizeCmd era envCli =
QueryRefScriptSizeCmdArgs
<$> pQueryCommons era envCli
<*> (fromList <$> some pByTxIn)
<*> pFormatFlags
"reference inputs query output"
<*> pFormatQueryOutputFlags
"reference-script-size"
[ flagFormatJson & setDefault
, flagFormatText
]
Expand Down Expand Up @@ -692,8 +693,8 @@ pQueryDRepStateCmd era envCli = do
]
]
)
<*> pFormatFlags
"drep-state query output"
<*> pFormatQueryOutputFlags
"drep-state"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -718,8 +719,8 @@ pQueryDRepStakeDistributionCmd era envCli = do
QueryDRepStakeDistributionCmdArgs w
<$> pQueryCommons era envCli
<*> pAllOrOnlyDRepHashSource
<*> pFormatFlags
"drep-stake-distribution query output"
<*> pFormatQueryOutputFlags
"drep-stake-distribution"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand Down Expand Up @@ -747,8 +748,8 @@ pQueryProposalsCmd era envCli = do
QueryProposalsCmdArgs w
<$> pQueryCommons (convert w) envCli
<*> pAllOrOnlyGovActionIds
<*> pFormatFlags
"proposals query output"
<*> pFormatQueryOutputFlags
"proposals"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -773,8 +774,8 @@ pQuerySPOStakeDistributionCmd era envCli = do
QuerySPOStakeDistributionCmdArgs w
<$> pQueryCommons era envCli
<*> pAllOrOnlySPOHashSource
<*> pFormatFlags
"spo-stake-distribution query output"
<*> pFormatQueryOutputFlags
"spo-stake-distribution"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -801,8 +802,8 @@ pQueryGetCommitteeStateCmd era envCli = do
<*> many pCommitteeColdVerificationKeyOrHashOrFileOrScriptHash
<*> many pCommitteeHotKeyOrHashOrFileOrScriptHash
<*> many pMemberStatus
<*> pFormatFlags
"committee-state query output"
<*> pFormatQueryOutputFlags
"committee-state"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand Down Expand Up @@ -889,8 +890,8 @@ pQueryStakePoolDefaultVote era envCli = do
QueryStakePoolDefaultVoteCmdArgs w
<$> pQueryCommons era envCli
<*> pSPOHashSource
<*> pFormatFlags
"stake-pool-default-vote query output"
<*> pFormatQueryOutputFlags
"stake-pool-default-vote"
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand All @@ -906,8 +907,8 @@ pQueryNoArgCmdArgs
pQueryNoArgCmdArgs w envCli name =
QueryNoArgCmdArgs w
<$> pQueryCommons (convert w) envCli
<*> pFormatFlags
(name <> " query output")
<*> pFormatQueryOutputFlags
name
[ flagFormatJson & setDefault
, flagFormatYaml
]
Expand Down Expand Up @@ -951,3 +952,10 @@ pQueryEraHistoryCmd envCli =
QueryEraHistoryCmdArgs
<$> pQueryCommons ShelleyBasedEraConway envCli
<*> pMaybeOutputFile

pFormatQueryOutputFlags
:: String
-> [Flag (Vary fs)]
-> Parser (Vary fs)
pFormatQueryOutputFlags content =
pFormatFlags $ content <> " query output"
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ Available options:
default)
--immutable-tip Use the immutable tip as a target.
--tx-in TX_IN Transaction input (TxId#TxIx).
--output-json Format reference inputs query output to JSON
--output-json Format reference-script-size query output to JSON
(default).
--output-text Format reference inputs query output to TEXT.
--output-text Format reference-script-size query output to TEXT.
--out-file FILEPATH Optional output file. Default is to write to stdout.
-h,--help Show this help text
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ Available options:
default)
--immutable-tip Use the immutable tip as a target.
--tx-in TX_IN Transaction input (TxId#TxIx).
--output-json Format reference inputs query output to JSON
--output-json Format reference-script-size query output to JSON
(default).
--output-text Format reference inputs query output to TEXT.
--output-text Format reference-script-size query output to TEXT.
--out-file FILEPATH Optional output file. Default is to write to stdout.
-h,--help Show this help text
Loading