chore: cli

Standarize cli/code functions similar to: https://github.com/filecoin-project/lotus/pull/9317

- cctx.NArg() instead of cctx.Args().xxx
- Add check for args and print help on functions that did not have it
This commit is contained in:
Phi 2023-01-25 13:13:56 +01:00
parent 4682e8f326
commit 34f376eb23
6 changed files with 90 additions and 71 deletions

View File

@ -112,8 +112,8 @@ var ChainGetBlock = &cli.Command{
defer closer() defer closer()
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must pass cid of block to print") return IncorrectNumArgs(cctx)
} }
bcid, err := cid.Decode(cctx.Args().First()) bcid, err := cid.Decode(cctx.Args().First())
@ -198,6 +198,10 @@ var ChainReadObjCmd = &cli.Command{
defer closer() defer closer()
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if cctx.NArg() != 1 {
return IncorrectNumArgs(cctx)
}
c, err := cid.Decode(cctx.Args().First()) c, err := cid.Decode(cctx.Args().First())
if err != nil { if err != nil {
return fmt.Errorf("failed to parse cid input: %s", err) return fmt.Errorf("failed to parse cid input: %s", err)
@ -233,6 +237,10 @@ var ChainDeleteObjCmd = &cli.Command{
defer closer() defer closer()
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if cctx.NArg() != 1 {
return IncorrectNumArgs(cctx)
}
c, err := cid.Decode(cctx.Args().First()) c, err := cid.Decode(cctx.Args().First())
if err != nil { if err != nil {
return fmt.Errorf("failed to parse cid input: %s", err) return fmt.Errorf("failed to parse cid input: %s", err)
@ -276,6 +284,10 @@ var ChainStatObjCmd = &cli.Command{
defer closer() defer closer()
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if cctx.NArg() != 1 {
return IncorrectNumArgs(cctx)
}
obj, err := cid.Decode(cctx.Args().First()) obj, err := cid.Decode(cctx.Args().First())
if err != nil { if err != nil {
return fmt.Errorf("failed to parse cid input: %s", err) return fmt.Errorf("failed to parse cid input: %s", err)
@ -308,8 +320,8 @@ var ChainGetMsgCmd = &cli.Command{
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
afmt := NewAppFmt(cctx.App) afmt := NewAppFmt(cctx.App)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must pass a cid of a message to get") return IncorrectNumArgs(cctx)
} }
api, closer, err := GetFullNodeAPI(cctx) api, closer, err := GetFullNodeAPI(cctx)
@ -374,6 +386,10 @@ var ChainSetHeadCmd = &cli.Command{
defer closer() defer closer()
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if cctx.NArg() != 1 {
return IncorrectNumArgs(cctx)
}
var ts *types.TipSet var ts *types.TipSet
if cctx.Bool("genesis") { if cctx.Bool("genesis") {
@ -734,6 +750,10 @@ var ChainGetCmd = &cli.Command{
defer closer() defer closer()
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if cctx.NArg() != 1 {
return IncorrectNumArgs(cctx)
}
p := path.Clean(cctx.Args().First()) p := path.Clean(cctx.Args().First())
if strings.HasPrefix(p, "/pstate") { if strings.HasPrefix(p, "/pstate") {
p = p[len("/pstate"):] p = p[len("/pstate"):]
@ -1071,8 +1091,8 @@ var ChainExportCmd = &cli.Command{
defer closer() defer closer()
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must specify filename to export chain to") return IncorrectNumArgs(cctx)
} }
rsrs := abi.ChainEpoch(cctx.Int64("recent-stateroots")) rsrs := abi.ChainEpoch(cctx.Int64("recent-stateroots"))

View File

@ -166,8 +166,8 @@ var clientDropCmd = &cli.Command{
Usage: "Remove import", Usage: "Remove import",
ArgsUsage: "[import ID...]", ArgsUsage: "[import ID...]",
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return xerrors.Errorf("no imports specified") return IncorrectNumArgs(cctx)
} }
api, closer, err := GetFullNodeAPI(cctx) api, closer, err := GetFullNodeAPI(cctx)
@ -996,9 +996,8 @@ var clientFindCmd = &cli.Command{
}, },
}, },
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() { if cctx.NArg() != 1 {
fmt.Println("Usage: find [CID]") return IncorrectNumArgs(cctx)
return nil
} }
file, err := cid.Parse(cctx.Args().First()) file, err := cid.Parse(cctx.Args().First())
@ -1063,8 +1062,7 @@ var clientQueryRetrievalAskCmd = &cli.Command{
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
afmt := NewAppFmt(cctx.App) afmt := NewAppFmt(cctx.App)
if cctx.NArg() != 2 { if cctx.NArg() != 2 {
afmt.Println("Usage: retrieval-ask [minerAddress] [data CID]") return IncorrectNumArgs(cctx)
return nil
} }
maddr, err := address.NewFromString(cctx.Args().First()) maddr, err := address.NewFromString(cctx.Args().First())
@ -1639,8 +1637,7 @@ var clientQueryAskCmd = &cli.Command{
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
afmt := NewAppFmt(cctx.App) afmt := NewAppFmt(cctx.App)
if cctx.NArg() != 1 { if cctx.NArg() != 1 {
afmt.Println("Usage: query-ask [minerAddress]") return IncorrectNumArgs(cctx)
return nil
} }
maddr, err := address.NewFromString(cctx.Args().First()) maddr, err := address.NewFromString(cctx.Args().First())
@ -1944,8 +1941,8 @@ var clientGetDealCmd = &cli.Command{
Usage: "Print detailed deal information", Usage: "Print detailed deal information",
ArgsUsage: "[proposalCID]", ArgsUsage: "[proposalCID]",
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return cli.ShowCommandHelp(cctx, cctx.Command.Name) return IncorrectNumArgs(cctx)
} }
api, closer, err := GetFullNodeAPI(cctx) api, closer, err := GetFullNodeAPI(cctx)
@ -2058,8 +2055,8 @@ var clientStat = &cli.Command{
defer closer() defer closer()
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() || cctx.NArg() != 1 { if cctx.NArg() != 1 {
return fmt.Errorf("must specify cid of data") return IncorrectNumArgs(cctx)
} }
dataCid, err := cid.Parse(cctx.Args().First()) dataCid, err := cid.Parse(cctx.Args().First())
@ -2082,6 +2079,7 @@ var clientStat = &cli.Command{
var clientRestartTransfer = &cli.Command{ var clientRestartTransfer = &cli.Command{
Name: "restart-transfer", Name: "restart-transfer",
Usage: "Force restart a stalled data transfer", Usage: "Force restart a stalled data transfer",
ArgsUsage: "[transferID]",
Flags: []cli.Flag{ Flags: []cli.Flag{
&cli.StringFlag{ &cli.StringFlag{
Name: "peerid", Name: "peerid",
@ -2094,8 +2092,8 @@ var clientRestartTransfer = &cli.Command{
}, },
}, },
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return cli.ShowCommandHelp(cctx, cctx.Command.Name) return IncorrectNumArgs(cctx)
} }
api, closer, err := GetFullNodeAPI(cctx) api, closer, err := GetFullNodeAPI(cctx)
if err != nil { if err != nil {
@ -2142,6 +2140,7 @@ var clientRestartTransfer = &cli.Command{
var clientCancelTransfer = &cli.Command{ var clientCancelTransfer = &cli.Command{
Name: "cancel-transfer", Name: "cancel-transfer",
Usage: "Force cancel a data transfer", Usage: "Force cancel a data transfer",
ArgsUsage: "[transferID]",
Flags: []cli.Flag{ Flags: []cli.Flag{
&cli.StringFlag{ &cli.StringFlag{
Name: "peerid", Name: "peerid",
@ -2159,8 +2158,8 @@ var clientCancelTransfer = &cli.Command{
}, },
}, },
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return cli.ShowCommandHelp(cctx, cctx.Command.Name) return IncorrectNumArgs(cctx)
} }
api, closer, err := GetFullNodeAPI(cctx) api, closer, err := GetFullNodeAPI(cctx)
if err != nil { if err != nil {

View File

@ -58,8 +58,7 @@ var disputerMsgCmd = &cli.Command{
Flags: []cli.Flag{}, Flags: []cli.Flag{},
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if cctx.NArg() != 3 { if cctx.NArg() != 3 {
fmt.Println("Usage: dispute [minerAddress index postIndex]") return IncorrectNumArgs(cctx)
return nil
} }
ctx := ReqContext(cctx) ctx := ReqContext(cctx)

View File

@ -15,8 +15,8 @@ var FetchParamCmd = &cli.Command{
Usage: "Fetch proving parameters", Usage: "Fetch proving parameters",
ArgsUsage: "[sectorSize]", ArgsUsage: "[sectorSize]",
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return xerrors.Errorf("must pass sector size to fetch params for (specify as \"32GiB\", for instance)") return IncorrectNumArgs(cctx)
} }
sectorSizeInt, err := units.RAMInBytes(cctx.Args().First()) sectorSizeInt, err := units.RAMInBytes(cctx.Args().First())
if err != nil { if err != nil {

View File

@ -99,8 +99,8 @@ var StateMinerProvingDeadlineCmd = &cli.Command{
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must specify miner to get information for") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -142,8 +142,8 @@ var StateMinerInfo = &cli.Command{
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must specify miner to get information for") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -397,8 +397,8 @@ var StateSectorsCmd = &cli.Command{
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must specify miner to list sectors for") return IncorrectNumArgs(cctx)
} }
maddr, err := address.NewFromString(cctx.Args().First()) maddr, err := address.NewFromString(cctx.Args().First())
@ -437,8 +437,8 @@ var StateActiveSectorsCmd = &cli.Command{
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must specify miner to list sectors for") return IncorrectNumArgs(cctx)
} }
maddr, err := address.NewFromString(cctx.Args().First()) maddr, err := address.NewFromString(cctx.Args().First())
@ -469,8 +469,8 @@ var StateExecTraceCmd = &cli.Command{
Usage: "Get the execution trace of a given message", Usage: "Get the execution trace of a given message",
ArgsUsage: "<messageCid>", ArgsUsage: "<messageCid>",
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return ShowHelp(cctx, fmt.Errorf("must pass message cid")) return IncorrectNumArgs(cctx)
} }
mcid, err := cid.Decode(cctx.Args().First()) mcid, err := cid.Decode(cctx.Args().First())
@ -612,8 +612,8 @@ var StateGetDealSetCmd = &cli.Command{
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must specify deal ID") return IncorrectNumArgs(cctx)
} }
dealid, err := strconv.ParseUint(cctx.Args().First(), 10, 64) dealid, err := strconv.ParseUint(cctx.Args().First(), 10, 64)
@ -756,8 +756,8 @@ var StateGetActorCmd = &cli.Command{
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must pass address of actor to get") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -810,8 +810,8 @@ var StateLookupIDCmd = &cli.Command{
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must pass address of actor to get") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -854,8 +854,8 @@ var StateSectorSizeCmd = &cli.Command{
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must pass miner's address") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -891,8 +891,8 @@ var StateReadStateCmd = &cli.Command{
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must pass address of actor to get") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -1473,8 +1473,8 @@ var StateWaitMsgCmd = &cli.Command{
}, },
}, },
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must specify message cid to wait for") return IncorrectNumArgs(cctx)
} }
api, closer, err := GetFullNodeAPI(cctx) api, closer, err := GetFullNodeAPI(cctx)
@ -1510,8 +1510,8 @@ var StateSearchMsgCmd = &cli.Command{
Usage: "Search to see whether a message has appeared on chain", Usage: "Search to see whether a message has appeared on chain",
ArgsUsage: "[messageCid]", ArgsUsage: "[messageCid]",
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must specify message cid to search for") return IncorrectNumArgs(cctx)
} }
api, closer, err := GetFullNodeAPI(cctx) api, closer, err := GetFullNodeAPI(cctx)
@ -1844,9 +1844,10 @@ var StateMarketCmd = &cli.Command{
var stateMarketBalanceCmd = &cli.Command{ var stateMarketBalanceCmd = &cli.Command{
Name: "balance", Name: "balance",
Usage: "Get the market balance (locked and escrowed) for a given account", Usage: "Get the market balance (locked and escrowed) for a given account",
ArgsUsage: "[address]",
Action: func(cctx *cli.Context) error { Action: func(cctx *cli.Context) error {
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return ShowHelp(cctx, fmt.Errorf("must specify address to print market balance for")) return IncorrectNumArgs(cctx)
} }
api, closer, err := GetFullNodeAPI(cctx) api, closer, err := GetFullNodeAPI(cctx)

View File

@ -251,8 +251,8 @@ var walletSetDefault = &cli.Command{
defer closer() defer closer()
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must pass address to set as default") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -279,8 +279,8 @@ var walletExport = &cli.Command{
afmt := NewAppFmt(cctx.App) afmt := NewAppFmt(cctx.App)
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must specify key to export") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -414,8 +414,8 @@ var walletSign = &cli.Command{
afmt := NewAppFmt(cctx.App) afmt := NewAppFmt(cctx.App)
if !cctx.Args().Present() || cctx.NArg() != 2 { if cctx.NArg() != 2 {
return fmt.Errorf("must specify signing address and message to sign") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -457,8 +457,8 @@ var walletVerify = &cli.Command{
afmt := NewAppFmt(cctx.App) afmt := NewAppFmt(cctx.App)
if !cctx.Args().Present() || cctx.NArg() != 3 { if cctx.NArg() != 3 {
return fmt.Errorf("must specify signing address, message, and signature to verify") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -509,8 +509,8 @@ var walletDelete = &cli.Command{
defer closer() defer closer()
ctx := ReqContext(cctx) ctx := ReqContext(cctx)
if !cctx.Args().Present() || cctx.NArg() != 1 { if cctx.NArg() != 1 {
return fmt.Errorf("must specify address to delete") return IncorrectNumArgs(cctx)
} }
addr, err := address.NewFromString(cctx.Args().First()) addr, err := address.NewFromString(cctx.Args().First())
@ -701,8 +701,8 @@ var walletMarketAdd = &cli.Command{
afmt := NewAppFmt(cctx.App) afmt := NewAppFmt(cctx.App)
// Get amount param // Get amount param
if !cctx.Args().Present() { if cctx.NArg() != 1 {
return fmt.Errorf("must pass amount to add") return IncorrectNumArgs(cctx)
} }
f, err := types.ParseFIL(cctx.Args().First()) f, err := types.ParseFIL(cctx.Args().First())
if err != nil { if err != nil {