From 311526b721fc73f192dd85c7851e26d772fb1595 Mon Sep 17 00:00:00 2001 From: Adam Shamblin Date: Sun, 8 Jan 2023 13:07:18 -0700 Subject: [PATCH] account code cleanup, regen docs --- cmd/account.go | 17 ++++++-- doc/dead-tooter.md | 4 +- doc/dead-tooter_account.md | 2 +- doc/dead-tooter_account_followers.md | 2 +- doc/dead-tooter_account_following.md | 2 +- doc/dead-tooter_account_get.md | 2 +- doc/dead-tooter_account_lists.md | 2 +- doc/dead-tooter_account_statuses.md | 2 +- doc/dead-tooter_application.md | 2 +- doc/dead-tooter_completion.md | 2 +- doc/dead-tooter_completion_bash.md | 2 +- doc/dead-tooter_completion_fish.md | 2 +- doc/dead-tooter_completion_powershell.md | 2 +- doc/dead-tooter_completion_zsh.md | 2 +- doc/dead-tooter_doc.md | 30 ++++++++++++++ doc/dead-tooter_lists.md | 2 +- doc/dead-tooter_lists_accounts.md | 2 +- doc/dead-tooter_lists_containing.md | 2 +- doc/dead-tooter_login.md | 2 +- doc/dead-tooter_version.md | 2 +- pkg/mastodon/account.go | 50 ++++-------------------- pkg/mastodon/list.go | 4 +- pkg/mastodon/status.go | 36 ++++++++++++++++- 23 files changed, 107 insertions(+), 68 deletions(-) create mode 100644 doc/dead-tooter_doc.md diff --git a/cmd/account.go b/cmd/account.go index b8eda38..70abfa3 100644 --- a/cmd/account.go +++ b/cmd/account.go @@ -68,7 +68,11 @@ var getFollowersCmd = &cobra.Command{ }, Run: func(cmd *cobra.Command, args []string) { - followers, err := account.GetFollowers(&mAPI) + if accountID == "" { + accountID = account.ID + } + + followers, err := mastodon.GetFollowers(accountID, &mAPI) if err != nil { log.Fatal(err.Error()) } @@ -90,7 +94,11 @@ var getFollowingCmd = &cobra.Command{ }, Run: func(cmd *cobra.Command, args []string) { - following, err := account.GetFollowing(&mAPI) + if accountID == "" { + accountID = account.ID + } + + following, err := mastodon.GetFollowing(accountID, &mAPI) if err != nil { log.Fatal("Failed to get following list.") } @@ -134,7 +142,10 @@ var getStatusesCmd = &cobra.Command{ }, Run: func(cmd *cobra.Command, args []string) { - statuses, err := account.GetStatuses(&mAPI) + if accountID == "" { + accountID = account.ID + } + statuses, err := mastodon.GetStatuses(accountID, &mAPI) if err != nil { log.Fatal("Failed to retrieve statuses.") } diff --git a/doc/dead-tooter.md b/doc/dead-tooter.md index 5d24e8b..6034376 100644 --- a/doc/dead-tooter.md +++ b/doc/dead-tooter.md @@ -20,9 +20,9 @@ be present in the Mastodon web UI. * [dead-tooter account](dead-tooter_account.md) - Account commands * [dead-tooter application](dead-tooter_application.md) - Register and perform application-level actions * [dead-tooter completion](dead-tooter_completion.md) - Generate the autocompletion script for the specified shell -* [dead-tooter docs](dead-tooter_docs.md) - Generate dead-tooter docs +* [dead-tooter doc](dead-tooter_doc.md) - Generate dead-tooter docs * [dead-tooter lists](dead-tooter_lists.md) - List commands * [dead-tooter login](dead-tooter_login.md) - Login to Mastodon * [dead-tooter version](dead-tooter_version.md) - Print the version number of d34d-t00ter -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_account.md b/doc/dead-tooter_account.md index 9cba203..6512e1f 100644 --- a/doc/dead-tooter_account.md +++ b/doc/dead-tooter_account.md @@ -29,4 +29,4 @@ Commands related to the logged in Mastodon account. * [dead-tooter account lists](dead-tooter_account_lists.md) - Get account's lists * [dead-tooter account statuses](dead-tooter_account_statuses.md) - Get account's statuses -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_account_followers.md b/doc/dead-tooter_account_followers.md index 7384f53..c42f72c 100644 --- a/doc/dead-tooter_account_followers.md +++ b/doc/dead-tooter_account_followers.md @@ -28,4 +28,4 @@ dead-tooter account followers [flags] * [dead-tooter account](dead-tooter_account.md) - Account commands -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_account_following.md b/doc/dead-tooter_account_following.md index aabb0a6..cb27f94 100644 --- a/doc/dead-tooter_account_following.md +++ b/doc/dead-tooter_account_following.md @@ -28,4 +28,4 @@ dead-tooter account following [flags] * [dead-tooter account](dead-tooter_account.md) - Account commands -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_account_get.md b/doc/dead-tooter_account_get.md index 133f860..d96b0be 100644 --- a/doc/dead-tooter_account_get.md +++ b/doc/dead-tooter_account_get.md @@ -29,4 +29,4 @@ dead-tooter account get [flags] * [dead-tooter account](dead-tooter_account.md) - Account commands -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_account_lists.md b/doc/dead-tooter_account_lists.md index cb7f140..d56d853 100644 --- a/doc/dead-tooter_account_lists.md +++ b/doc/dead-tooter_account_lists.md @@ -28,4 +28,4 @@ dead-tooter account lists [flags] * [dead-tooter account](dead-tooter_account.md) - Account commands -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_account_statuses.md b/doc/dead-tooter_account_statuses.md index b678c48..eb1b8e3 100644 --- a/doc/dead-tooter_account_statuses.md +++ b/doc/dead-tooter_account_statuses.md @@ -28,4 +28,4 @@ dead-tooter account statuses [flags] * [dead-tooter account](dead-tooter_account.md) - Account commands -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_application.md b/doc/dead-tooter_application.md index f67db72..b777cde 100644 --- a/doc/dead-tooter_application.md +++ b/doc/dead-tooter_application.md @@ -27,4 +27,4 @@ dead-tooter application [flags] * [dead-tooter](dead-tooter.md) - A CLI for Mastodon hate scripts -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_completion.md b/doc/dead-tooter_completion.md index 9381a8d..d33a7ee 100644 --- a/doc/dead-tooter_completion.md +++ b/doc/dead-tooter_completion.md @@ -29,4 +29,4 @@ See each sub-command's help for details on how to use the generated script. * [dead-tooter completion powershell](dead-tooter_completion_powershell.md) - Generate the autocompletion script for powershell * [dead-tooter completion zsh](dead-tooter_completion_zsh.md) - Generate the autocompletion script for zsh -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_completion_bash.md b/doc/dead-tooter_completion_bash.md index 04344f8..78de38a 100644 --- a/doc/dead-tooter_completion_bash.md +++ b/doc/dead-tooter_completion_bash.md @@ -48,4 +48,4 @@ dead-tooter completion bash * [dead-tooter completion](dead-tooter_completion.md) - Generate the autocompletion script for the specified shell -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_completion_fish.md b/doc/dead-tooter_completion_fish.md index 6f2fef4..529927b 100644 --- a/doc/dead-tooter_completion_fish.md +++ b/doc/dead-tooter_completion_fish.md @@ -39,4 +39,4 @@ dead-tooter completion fish [flags] * [dead-tooter completion](dead-tooter_completion.md) - Generate the autocompletion script for the specified shell -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_completion_powershell.md b/doc/dead-tooter_completion_powershell.md index 9ce457f..de4ebba 100644 --- a/doc/dead-tooter_completion_powershell.md +++ b/doc/dead-tooter_completion_powershell.md @@ -36,4 +36,4 @@ dead-tooter completion powershell [flags] * [dead-tooter completion](dead-tooter_completion.md) - Generate the autocompletion script for the specified shell -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_completion_zsh.md b/doc/dead-tooter_completion_zsh.md index 562821d..3ad6894 100644 --- a/doc/dead-tooter_completion_zsh.md +++ b/doc/dead-tooter_completion_zsh.md @@ -50,4 +50,4 @@ dead-tooter completion zsh [flags] * [dead-tooter completion](dead-tooter_completion.md) - Generate the autocompletion script for the specified shell -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_doc.md b/doc/dead-tooter_doc.md new file mode 100644 index 0000000..3f7d46f --- /dev/null +++ b/doc/dead-tooter_doc.md @@ -0,0 +1,30 @@ +## dead-tooter doc + +Generate dead-tooter docs + +### Synopsis + +Generate markdown documentation for dead-tooter. + +``` +dead-tooter doc [flags] +``` + +### Options + +``` + -h, --help help for doc +``` + +### Options inherited from parent commands + +``` + -H, --host string Mastodon host where your account lives. + --proxy string Address of proxy server. +``` + +### SEE ALSO + +* [dead-tooter](dead-tooter.md) - A CLI for Mastodon hate scripts + +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_lists.md b/doc/dead-tooter_lists.md index f37d3d4..c0b1d41 100644 --- a/doc/dead-tooter_lists.md +++ b/doc/dead-tooter_lists.md @@ -25,4 +25,4 @@ Commands related to account lists. * [dead-tooter lists accounts](dead-tooter_lists_accounts.md) - Get list accounts * [dead-tooter lists containing](dead-tooter_lists_containing.md) - Get lists containing [accountid] -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_lists_accounts.md b/doc/dead-tooter_lists_accounts.md index 99206e3..00c58bf 100644 --- a/doc/dead-tooter_lists_accounts.md +++ b/doc/dead-tooter_lists_accounts.md @@ -27,4 +27,4 @@ dead-tooter lists accounts [flags] * [dead-tooter lists](dead-tooter_lists.md) - List commands -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_lists_containing.md b/doc/dead-tooter_lists_containing.md index 9300344..c072dec 100644 --- a/doc/dead-tooter_lists_containing.md +++ b/doc/dead-tooter_lists_containing.md @@ -27,4 +27,4 @@ dead-tooter lists containing [flags] * [dead-tooter lists](dead-tooter_lists.md) - List commands -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_login.md b/doc/dead-tooter_login.md index e812646..28e650a 100644 --- a/doc/dead-tooter_login.md +++ b/doc/dead-tooter_login.md @@ -27,4 +27,4 @@ dead-tooter login [flags] * [dead-tooter](dead-tooter.md) - A CLI for Mastodon hate scripts -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/doc/dead-tooter_version.md b/doc/dead-tooter_version.md index bf421cd..d0c125e 100644 --- a/doc/dead-tooter_version.md +++ b/doc/dead-tooter_version.md @@ -27,4 +27,4 @@ dead-tooter version [flags] * [dead-tooter](dead-tooter.md) - A CLI for Mastodon hate scripts -###### Auto generated by spf13/cobra on 7-Jan-2023 +###### Auto generated by spf13/cobra on 8-Jan-2023 diff --git a/pkg/mastodon/account.go b/pkg/mastodon/account.go index aaaf1d1..0a630a9 100644 --- a/pkg/mastodon/account.go +++ b/pkg/mastodon/account.go @@ -94,9 +94,9 @@ func (a *Account) DisplayLong() (err error) { } // Display a collection of Accounts -func (aa AccountCollection) Display() { +func (ac AccountCollection) Display() { w := tabwriter.NewWriter(os.Stdout, 0, 0, 3, ' ', 0) - for _, value := range aa { + for _, value := range ac { fmt.Fprintln(w, value.Display()) } w.Flush() @@ -184,7 +184,6 @@ func (a *Account) VerifyCredentials(mAPI *api.API) (err error) { body, err := api.Get(u, mAPI) if err != nil { - fmt.Printf("%+v", err) return err } @@ -224,15 +223,10 @@ func GetAccount(ID string, mAPI *api.API) (account Account, err error) { return account, err } -// Get returns the currently logged in account. -func (a *Account) Get(mAPI *api.API) (account Account, err error) { - return GetAccount(a.ID, mAPI) -} - -// GetFollowers returns a list of all accounts following the logged in user -func (a *Account) GetFollowers(mAPI *api.API) (followers AccountCollection, err error) { +// GetFollowers returns a list of accounts following the specified usera. +func GetFollowers(ID string, mAPI *api.API) (followers AccountCollection, err error) { - id := url.PathEscape(a.ID) + id := url.PathEscape(ID) path, err := url.JoinPath("api/v1/accounts", id, "followers") if err != nil { return followers, err @@ -257,10 +251,10 @@ func (a *Account) GetFollowers(mAPI *api.API) (followers AccountCollection, err return followers, err } -// GetFollowing returns a list of all accounts followed by the logged in user -func (a *Account) GetFollowing(mAPI *api.API) (following AccountCollection, err error) { +// GetFollowing returns a list of all accounts followed by the specified user. +func GetFollowing(ID string, mAPI *api.API) (following AccountCollection, err error) { - id := url.PathEscape(a.ID) + id := url.PathEscape(ID) path, err := url.JoinPath("api/v1/accounts", id, "following") if err != nil { return @@ -306,31 +300,3 @@ func (a *Account) GetLists(mAPI *api.API) (lists ListCollection, err error) { return lists, err } - -// GetStatuses fetches a list of statuses by the account. -func (a *Account) GetStatuses(mAPI *api.API) (statuses StatusCollection, err error) { - - id := url.PathEscape(a.ID) - path, err := url.JoinPath("api/v1/accounts", id, "statuses") - if err != nil { - return - } - - u := url.URL{ - Host: mAPI.Host, - Path: path, - } - u.Scheme = "https" - - body, err := api.Get(u, mAPI) - if err != nil { - return - } - - err = json.Unmarshal(body, &statuses) - if err != nil { - return - } - - return statuses, err -} diff --git a/pkg/mastodon/list.go b/pkg/mastodon/list.go index a954e7a..629d08d 100644 --- a/pkg/mastodon/list.go +++ b/pkg/mastodon/list.go @@ -27,9 +27,9 @@ func (l *List) Display() string { } // Display a collection of Lists -func (ll ListCollection) Display() { +func (lc ListCollection) Display() { w := tabwriter.NewWriter(os.Stdout, 0, 0, 3, ' ', 0) - for _, value := range ll { + for _, value := range lc { fmt.Fprintln(w, value.Display()) } w.Flush() diff --git a/pkg/mastodon/status.go b/pkg/mastodon/status.go index 76f2aff..33e00a2 100644 --- a/pkg/mastodon/status.go +++ b/pkg/mastodon/status.go @@ -1,10 +1,14 @@ package mastodon import ( + "encoding/json" "fmt" + "net/url" "os" "strings" "text/tabwriter" + + "git.vexingworkshop.com/signal9/dead-tooter/pkg/mastodon/api" ) // Status represents a post by an account. @@ -84,10 +88,38 @@ func (s *Status) Display() string { } // Display a collection of Statuses -func (ss StatusCollection) Display() { +func (sc StatusCollection) Display() { w := tabwriter.NewWriter(os.Stdout, 0, 0, 3, ' ', 0) - for _, value := range ss { + for _, value := range sc { fmt.Fprintln(w, value.Display()) } w.Flush() } + +// GetStatuses fetches a list of statuses by the specified account. +func GetStatuses(ID string, mAPI *api.API) (statuses StatusCollection, err error) { + + id := url.PathEscape(ID) + path, err := url.JoinPath("api/v1/accounts", id, "statuses") + if err != nil { + return + } + + u := url.URL{ + Host: mAPI.Host, + Path: path, + } + u.Scheme = "https" + + body, err := api.Get(u, mAPI) + if err != nil { + return + } + + err = json.Unmarshal(body, &statuses) + if err != nil { + return + } + + return statuses, err +} -- 2.39.5