Files
polaris/pkg/transmission/transmission.go
2024-07-01 11:35:28 +08:00

29 lines
662 B
Go

package transmission
import (
"net/url"
"github.com/hekmon/transmissionrpc"
"github.com/pkg/errors"
)
func NewClient(url1, user, password string) (*Client, error) {
u, err := url.Parse(url1)
if err != nil {
return nil, errors.Wrap(err, "parse url")
}
tbt, err := transmissionrpc.New(u.Hostname(), user, password, nil)
if err != nil {
return nil, errors.Wrap(err, "connect transmission")
}
return &Client{c: tbt}, nil
}
type Client struct {
c *transmissionrpc.Client
}
func (c *Client) Download(magnet string) (*transmissionrpc.Torrent, error) {
t, err := c.c.TorrentAdd(&transmissionrpc.TorrentAddPayload{Filename: &magnet})
return t, err
}