node build fixed
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
package qbittorrent_transfer
|
||||
|
||||
import (
|
||||
"github.com/rs/zerolog"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"seanime/internal/torrent_clients/qbittorrent/model"
|
||||
"seanime/internal/torrent_clients/qbittorrent/util"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type Client struct {
|
||||
BaseUrl string
|
||||
Client *http.Client
|
||||
Logger *zerolog.Logger
|
||||
}
|
||||
|
||||
func (c Client) GetTransferInfo() (*qbittorrent_model.TransferInfo, error) {
|
||||
var res qbittorrent_model.TransferInfo
|
||||
if err := qbittorrent_util.GetInto(c.Client, &res, c.BaseUrl+"/info", nil); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &res, nil
|
||||
}
|
||||
|
||||
func (c Client) AlternativeSpeedLimitsEnabled() (bool, error) {
|
||||
var res int
|
||||
if err := qbittorrent_util.GetInto(c.Client, &res, c.BaseUrl+"/speedLimitsMode", nil); err != nil {
|
||||
return false, err
|
||||
}
|
||||
return res == 1, nil
|
||||
}
|
||||
|
||||
func (c Client) ToggleAlternativeSpeedLimits() error {
|
||||
if err := qbittorrent_util.Post(c.Client, c.BaseUrl+"/toggleSpeedLimitsMode", nil); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c Client) GetGlobalDownloadLimit() (int, error) {
|
||||
var res int
|
||||
if err := qbittorrent_util.GetInto(c.Client, &res, c.BaseUrl+"/downloadLimit", nil); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (c Client) SetGlobalDownloadLimit(limit int) error {
|
||||
params := url.Values{}
|
||||
params.Add("limit", strconv.Itoa(limit))
|
||||
endpoint := c.BaseUrl + "/setDownloadLimit?" + params.Encode()
|
||||
if err := qbittorrent_util.Post(c.Client, endpoint, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c Client) GetGlobalUploadLimit() (int, error) {
|
||||
var res int
|
||||
if err := qbittorrent_util.GetInto(c.Client, &res, c.BaseUrl+"/uploadLimit", nil); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (c Client) SetGlobalUploadLimit(limit int) error {
|
||||
params := url.Values{}
|
||||
params.Add("limit", strconv.Itoa(limit))
|
||||
endpoint := c.BaseUrl + "/setUploadLimit?" + params.Encode()
|
||||
if err := qbittorrent_util.Post(c.Client, endpoint, nil); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user