this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

gosky,stress: add positional argument docs (#146)

authored by

Whyrusleeping and committed by
GitHub
acb9236f 0c0e2ec4

+95 -30
+1
cmd/gosky/admin.go
··· 42 42 Name: "raw", 43 43 }, 44 44 }, 45 + ArgsUsage: `[handle]`, 45 46 Action: func(cctx *cli.Context) error { 46 47 xrpcc, err := cliutil.GetXrpcClient(cctx, false) 47 48 if err != nil {
+2
cmd/gosky/debug.go
··· 41 41 Name: "dump-raw-blocks", 42 42 }, 43 43 }, 44 + ArgsUsage: `<cursor>`, 44 45 Action: func(cctx *cli.Context) error { 45 46 n, err := strconv.Atoi(cctx.Args().First()) 46 47 if err != nil { ··· 163 164 Name: "dump-raw-blocks", 164 165 }, 165 166 }, 167 + ArgsUsage: `<cursor>`, 166 168 Action: func(cctx *cli.Context) error { 167 169 n, err := strconv.Atoi(cctx.Args().First()) 168 170 if err != nil {
+77 -24
cmd/gosky/main.go
··· 90 90 } 91 91 92 92 var newAccountCmd = &cli.Command{ 93 - Name: "newAccount", 93 + Name: "newAccount", 94 + ArgsUsage: `<email> <handle> <password> [inviteCode]`, 94 95 Action: func(cctx *cli.Context) error { 95 96 xrpcc, err := cliutil.GetXrpcClient(cctx, false) 96 97 if err != nil { 97 98 return err 98 99 } 99 100 100 - email := cctx.Args().Get(0) 101 - handle := cctx.Args().Get(1) 102 - password := cctx.Args().Get(2) 101 + args, err := needArgs(cctx, "email", "handle", "password") 102 + if err != nil { 103 + return err 104 + } 105 + email, handle, password := args[0], args[1], args[2] 103 106 104 107 var invite *string 105 108 if inv := cctx.Args().Get(3); inv != "" { ··· 126 129 }, 127 130 } 128 131 var createSessionCmd = &cli.Command{ 129 - Name: "createSession", 132 + Name: "createSession", 133 + ArgsUsage: `<handle> <password>`, 130 134 Action: func(cctx *cli.Context) error { 131 135 xrpcc, err := cliutil.GetXrpcClient(cctx, false) 132 136 if err != nil { 133 137 return err 134 138 } 135 - handle := cctx.Args().Get(0) 136 - password := cctx.Args().Get(1) 139 + args, err := needArgs(cctx, "handle", "password") 140 + if err != nil { 141 + return err 142 + } 143 + handle, password := args[0], args[1] 137 144 138 145 ses, err := comatproto.ServerCreateSession(context.TODO(), xrpcc, &comatproto.ServerCreateSession_Input{ 139 146 Identifier: handle, ··· 154 161 } 155 162 156 163 var postCmd = &cli.Command{ 157 - Name: "post", 164 + Name: "post", 165 + ArgsUsage: `<text>`, 158 166 Action: func(cctx *cli.Context) error { 159 167 xrpcc, err := cliutil.GetXrpcClient(cctx, true) 160 168 if err != nil { ··· 201 209 } 202 210 203 211 var didGetCmd = &cli.Command{ 204 - Name: "get", 212 + Name: "get", 213 + ArgsUsage: `<did>`, 205 214 Action: func(cctx *cli.Context) error { 206 215 s := cliutil.GetPLCClient(cctx) 207 216 ··· 221 230 } 222 231 223 232 var didCreateCmd = &cli.Command{ 224 - Name: "create", 233 + Name: "create", 234 + ArgsUsage: `<handle> <service>`, 225 235 Flags: []cli.Flag{ 226 236 &cli.StringFlag{ 227 237 Name: "recoverydid", ··· 233 243 Action: func(cctx *cli.Context) error { 234 244 s := cliutil.GetPLCClient(cctx) 235 245 236 - handle := cctx.Args().Get(0) 237 - service := cctx.Args().Get(1) 246 + args, err := needArgs(cctx, "handle", "service") 247 + if err != nil { 248 + return err 249 + } 250 + handle, service := args[0], args[1] 238 251 239 252 recoverydid := cctx.String("recoverydid") 240 253 ··· 288 301 Name: "raw", 289 302 }, 290 303 }, 304 + ArgsUsage: `<did>`, 291 305 Action: func(cctx *cli.Context) error { 292 306 xrpcc, err := cliutil.GetXrpcClient(cctx, false) 293 307 if err != nil { ··· 312 326 } 313 327 314 328 var syncGetRootCmd = &cli.Command{ 315 - Name: "getRoot", 329 + Name: "getRoot", 330 + ArgsUsage: `<did>`, 316 331 Action: func(cctx *cli.Context) error { 317 332 xrpcc, err := cliutil.GetXrpcClient(cctx, false) 318 333 if err != nil { ··· 427 442 } 428 443 429 444 var actorGetSuggestionsCmd = &cli.Command{ 430 - Name: "actorGetSuggestions", 445 + Name: "actorGetSuggestions", 446 + ArgsUsage: "[author]", 431 447 Action: func(cctx *cli.Context) error { 432 448 xrpcc, err := cliutil.GetXrpcClient(cctx, true) 433 449 if err != nil { ··· 535 551 } 536 552 537 553 var deletePostCmd = &cli.Command{ 538 - Name: "delete", 554 + Name: "delete", 555 + ArgsUsage: `<rkey>`, 539 556 Action: func(cctx *cli.Context) error { 540 557 xrpcc, err := cliutil.GetXrpcClient(cctx, true) 541 558 if err != nil { ··· 576 593 Name: "cids", 577 594 }, 578 595 }, 596 + ArgsUsage: `<did>|<repo-path>`, 579 597 Action: func(cctx *cli.Context) error { 580 598 581 599 arg := cctx.Args().First() ··· 598 616 } 599 617 repob = rrb 600 618 } else { 619 + if len(arg) == 0 { 620 + return cli.Exit("must specify DID string or repo path", 127) 621 + } 601 622 fb, err := os.ReadFile(arg) 602 623 if err != nil { 603 624 return err ··· 688 709 } 689 710 690 711 var followsAddCmd = &cli.Command{ 691 - Name: "add", 692 - Flags: []cli.Flag{}, 712 + Name: "add", 713 + Flags: []cli.Flag{}, 714 + ArgsUsage: `<user>`, 693 715 Action: func(cctx *cli.Context) error { 694 716 xrpcc, err := cliutil.GetXrpcClient(cctx, true) 695 717 if err != nil { ··· 720 742 } 721 743 722 744 var followsListCmd = &cli.Command{ 723 - Name: "list", 745 + Name: "list", 746 + ArgsUsage: `[actor]`, 724 747 Action: func(cctx *cli.Context) error { 725 748 xrpcc, err := cliutil.GetXrpcClient(cctx, false) 726 749 if err != nil { ··· 766 789 } 767 790 768 791 var resetPasswordCmd = &cli.Command{ 769 - Name: "resetPassword", 792 + Name: "resetPassword", 793 + ArgsUsage: `<email>`, 770 794 Action: func(cctx *cli.Context) error { 771 795 ctx := context.TODO() 772 796 ··· 775 799 return err 776 800 } 777 801 778 - email := cctx.Args().Get(0) 802 + args, err := needArgs(cctx, "email") 803 + if err != nil { 804 + return err 805 + } 806 + email := args[0] 779 807 780 808 err = comatproto.ServerRequestPasswordReset(ctx, xrpcc, &comatproto.ServerRequestPasswordReset_Input{ 781 809 Email: email, ··· 813 841 } 814 842 815 843 var resolveHandleCmd = &cli.Command{ 816 - Name: "resolve", 844 + Name: "resolve", 845 + ArgsUsage: `<handle>`, 817 846 Action: func(cctx *cli.Context) error { 818 847 ctx := context.TODO() 819 848 ··· 822 851 return err 823 852 } 824 853 825 - handle := cctx.Args().Get(0) 854 + args, err := needArgs(cctx, "handle") 855 + if err != nil { 856 + return err 857 + } 858 + handle := args[0] 826 859 827 860 out, err := comatproto.IdentityResolveHandle(ctx, xrpcc, handle) 828 861 if err != nil { ··· 836 869 } 837 870 838 871 var updateHandleCmd = &cli.Command{ 839 - Name: "update", 872 + Name: "update", 873 + ArgsUsage: `<handle>`, 840 874 Action: func(cctx *cli.Context) error { 841 875 ctx := context.TODO() 842 876 ··· 845 879 return err 846 880 } 847 881 848 - handle := cctx.Args().Get(0) 882 + args, err := needArgs(cctx, "handle") 883 + if err != nil { 884 + return err 885 + } 886 + handle := args[0] 849 887 850 888 err = comatproto.IdentityUpdateHandle(ctx, xrpcc, &comatproto.IdentityUpdateHandle_Input{ 851 889 Handle: handle, ··· 865 903 Name: "json", 866 904 }, 867 905 }, 906 + ArgsUsage: `[<repo> [cursor]]`, 868 907 Action: func(cctx *cli.Context) error { 869 908 ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT) 870 909 defer stop() ··· 956 995 Name: "raw", 957 996 }, 958 997 }, 998 + ArgsUsage: `<rpath>`, 959 999 Action: func(cctx *cli.Context) error { 960 1000 ctx := context.Background() 961 1001 rfi := cctx.String("repo") ··· 1032 1072 Name: "bulk", 1033 1073 }, 1034 1074 }, 1075 + ArgsUsage: "[handle]", 1035 1076 Action: func(cctx *cli.Context) error { 1036 1077 xrpcc, err := cliutil.GetXrpcClient(cctx, false) 1037 1078 if err != nil { ··· 1153 1194 return nil 1154 1195 }, 1155 1196 } 1197 + 1198 + func needArgs(cctx *cli.Context, name ...string) ([]string, error) { 1199 + var out []string 1200 + for i, n := range name { 1201 + v := cctx.Args().Get(i) 1202 + if v == "" { 1203 + return nil, cli.Exit(fmt.Sprintf("argument %q required at position %d", n, i+1), 127) 1204 + } 1205 + out = append(out, v) 1206 + } 1207 + return out, nil 1208 + }
+8 -4
cmd/gosky/streamdiff.go
··· 13 13 14 14 // TODO: WIP - turns out to be more complicated than i initially thought 15 15 var streamCompareCmd = &cli.Command{ 16 - Name: "diff-stream", 17 - Flags: []cli.Flag{}, 16 + Name: "diff-stream", 17 + Flags: []cli.Flag{}, 18 + ArgsUsage: `<hostA> <hostB>`, 18 19 Action: func(cctx *cli.Context) error { 19 20 d := websocket.DefaultDialer 20 21 21 - hosta := cctx.Args().Get(0) 22 - hostb := cctx.Args().Get(1) 22 + args, err := needArgs(cctx, "hostA", "hostB") 23 + if err != nil { 24 + return err 25 + } 26 + hosta, hostb := args[0], args[1] 23 27 24 28 cona, _, err := d.Dial(fmt.Sprintf("%s/xrpc/com.atproto.sync.subscribeRepos", hosta), http.Header{}) 25 29 if err != nil {
+4
cmd/stress/main.go
··· 170 170 EnvVars: []string{"ATP_PDS_HOST"}, 171 171 }, 172 172 }, 173 + ArgsUsage: "<car-file-path>", 173 174 Action: func(cctx *cli.Context) error { 174 175 fname := cctx.Args().First() 176 + if fname == "" { 177 + return cli.Exit("must provide car file path", 127) 178 + } 175 179 176 180 l := cctx.Int("len") 177 181
+3 -2
repomgr/repomgr.go
··· 23 23 ipld "github.com/ipfs/go-ipld-format" 24 24 logging "github.com/ipfs/go-log/v2" 25 25 "github.com/ipld/go-car" 26 + "github.com/urfave/cli/v2" 26 27 cbg "github.com/whyrusleeping/cbor-gen" 27 28 "go.opentelemetry.io/otel" 28 29 "gorm.io/gorm" ··· 379 380 defer unlock() 380 381 381 382 if did == "" { 382 - return fmt.Errorf("must specify did for new actor") 383 + return cli.Exit("must specify did for new actor", 127) 383 384 } 384 385 385 386 if user == 0 { 386 - return fmt.Errorf("must specify unique non-zero id for new actor") 387 + return cli.Exit("must specify unique non-zero id for new actor", 127) 387 388 } 388 389 389 390 ds, err := rm.cs.NewDeltaSession(ctx, user, nil)