go-ttrss

incomplete CLI interface to manage your TTRSS account
git clone https://git.e1e0.net/go-ttrss.git
Log | Files | Refs

commit c6c91ca286587fcf7c1ff9997dbaf970a3920ced
parent 978ea0724b5ef2afbb9748f79a187c03c6d0e1a5
Author: Paco Esteban <paco@e1e0.net>
Date:   Fri, 31 Jul 2020 17:48:38 +0200

implement unsubscribe from feed

Diffstat:
Mcmd/ttrss-cli/main.go | 14+++++++++++++-
Mpkg/ttrss/ttrss.go | 12+++++++++++-
2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/cmd/ttrss-cli/main.go b/cmd/ttrss-cli/main.go @@ -104,8 +104,20 @@ func main() { Name: "unsubscribe", Aliases: []string{"rm", "unsub"}, Usage: "unsubscribe from feed", + Flags: []cli.Flag{ + &cli.IntFlag{ + Name: "id", + Aliases: []string{"i"}, + Usage: "Feed id", + Required: true, + }, + }, Action: func(c *cli.Context) error { - ttrssCli.Unsubscribe() + err = ttrssCli.Unsubscribe(c.Int("id")) + if err != nil { + log.Fatal(err) + } + fmt.Printf("Unsubscribed from feed %d\n", c.Int("id")) return nil }, }, diff --git a/pkg/ttrss/ttrss.go b/pkg/ttrss/ttrss.go @@ -258,9 +258,19 @@ func (c *Client) Subscribe(category int, url string) (int, error) { } // Unsubscribe from feed -func (c *Client) Unsubscribe() error { +func (c *Client) Unsubscribe(id int) error { if err := c.login(); err != nil { return err } + + feedMap := map[string]interface{}{ + "op": "unsubscribeFeed", + "feed_id": id, + } + _, err := c.apiCall(feedMap) + if err != nil { + return err + } + return nil }