Add Speed to callbacks

This commit is contained in:
Mukhtar Akere
2025-02-09 19:17:20 +01:00
parent 186a24cc4a
commit 1614e29f8f
16 changed files with 76 additions and 67 deletions

View File

@@ -8,7 +8,7 @@ import (
"github.com/sirrobot01/debrid-blackhole/internal/config"
"github.com/sirrobot01/debrid-blackhole/internal/logger"
"github.com/sirrobot01/debrid-blackhole/internal/request"
"github.com/sirrobot01/debrid-blackhole/pkg/debrid/structs"
"github.com/sirrobot01/debrid-blackhole/pkg/debrid/types"
"net/http"
gourl "net/url"
"os"
@@ -57,7 +57,7 @@ func (r *AllDebrid) SubmitMagnet(torrent *Torrent) (*Torrent, error) {
if err != nil {
return nil, err
}
var data structs.AllDebridUploadMagnetResponse
var data types.AllDebridUploadMagnetResponse
err = json.Unmarshal(resp, &data)
if err != nil {
return nil, err
@@ -85,7 +85,7 @@ func getAlldebridStatus(statusCode int) string {
}
}
func flattenFiles(files []structs.AllDebridMagnetFile, parentPath string, index *int) []TorrentFile {
func flattenFiles(files []types.AllDebridMagnetFile, parentPath string, index *int) []TorrentFile {
result := make([]TorrentFile, 0)
cfg := config.GetConfig()
@@ -135,7 +135,7 @@ func (r *AllDebrid) GetTorrent(id string) (*Torrent, error) {
if err != nil {
return torrent, err
}
var res structs.AllDebridTorrentInfoResponse
var res types.AllDebridTorrentInfoResponse
err = json.Unmarshal(resp, &res)
if err != nil {
r.logger.Info().Msgf("Error unmarshalling torrent info: %s", err)
@@ -228,7 +228,7 @@ func (r *AllDebrid) GetDownloadLinks(torrent *Torrent) error {
if err != nil {
return err
}
var data structs.AllDebridDownloadLink
var data types.AllDebridDownloadLink
if err = json.Unmarshal(resp, &data); err != nil {
return err
}

View File

@@ -9,7 +9,7 @@ import (
"github.com/sirrobot01/debrid-blackhole/internal/config"
"github.com/sirrobot01/debrid-blackhole/internal/logger"
"github.com/sirrobot01/debrid-blackhole/internal/request"
"github.com/sirrobot01/debrid-blackhole/pkg/debrid/structs"
"github.com/sirrobot01/debrid-blackhole/pkg/debrid/types"
"log"
"net/http"
"os"
@@ -70,7 +70,7 @@ func (r *DebridLink) IsAvailable(infohashes []string) map[string]bool {
r.logger.Info().Msgf("Error checking availability: %v", err)
return result
}
var data structs.DebridLinkAvailableResponse
var data types.DebridLinkAvailableResponse
err = json.Unmarshal(resp, &data)
if err != nil {
r.logger.Info().Msgf("Error marshalling availability: %v", err)
@@ -99,7 +99,7 @@ func (r *DebridLink) GetTorrent(id string) (*Torrent, error) {
if err != nil {
return torrent, err
}
var res structs.DebridLinkTorrentInfo
var res types.DebridLinkTorrentInfo
err = json.Unmarshal(resp, &res)
if err != nil {
return torrent, err
@@ -158,7 +158,7 @@ func (r *DebridLink) SubmitMagnet(torrent *Torrent) (*Torrent, error) {
if err != nil {
return nil, err
}
var res structs.DebridLinkSubmitTorrentInfo
var res types.DebridLinkSubmitTorrentInfo
err = json.Unmarshal(resp, &res)
if err != nil {
return nil, err

View File

@@ -9,7 +9,7 @@ import (
"github.com/sirrobot01/debrid-blackhole/internal/logger"
"github.com/sirrobot01/debrid-blackhole/internal/request"
"github.com/sirrobot01/debrid-blackhole/internal/utils"
"github.com/sirrobot01/debrid-blackhole/pkg/debrid/structs"
"github.com/sirrobot01/debrid-blackhole/pkg/debrid/types"
"net/http"
gourl "net/url"
"os"
@@ -35,7 +35,7 @@ func (r *RealDebrid) GetLogger() zerolog.Logger {
return r.logger
}
func GetTorrentFiles(data structs.RealDebridTorrentInfo) []TorrentFile {
func GetTorrentFiles(data types.RealDebridTorrentInfo) []TorrentFile {
files := make([]TorrentFile, 0)
cfg := config.GetConfig()
for _, f := range data.Files {
@@ -100,7 +100,7 @@ func (r *RealDebrid) IsAvailable(infohashes []string) map[string]bool {
r.logger.Info().Msgf("Error checking availability: %v", err)
return result
}
var data structs.RealDebridAvailabilityResponse
var data types.RealDebridAvailabilityResponse
err = json.Unmarshal(resp, &data)
if err != nil {
r.logger.Info().Msgf("Error marshalling availability: %v", err)
@@ -122,7 +122,7 @@ func (r *RealDebrid) SubmitMagnet(torrent *Torrent) (*Torrent, error) {
payload := gourl.Values{
"magnet": {torrent.Magnet.Link},
}
var data structs.RealDebridAddMagnetSchema
var data types.RealDebridAddMagnetSchema
req, _ := http.NewRequest(http.MethodPost, url, strings.NewReader(payload.Encode()))
resp, err := r.client.MakeRequest(req)
if err != nil {
@@ -143,7 +143,7 @@ func (r *RealDebrid) GetTorrent(id string) (*Torrent, error) {
if err != nil {
return torrent, err
}
var data structs.RealDebridTorrentInfo
var data types.RealDebridTorrentInfo
err = json.Unmarshal(resp, &data)
if err != nil {
return torrent, err
@@ -175,7 +175,7 @@ func (r *RealDebrid) CheckStatus(torrent *Torrent, isSymlink bool) (*Torrent, er
r.logger.Info().Msgf("ERROR Checking file: %v", err)
return torrent, err
}
var data structs.RealDebridTorrentInfo
var data types.RealDebridTorrentInfo
err = json.Unmarshal(resp, &data)
status := data.Status
name := common.RemoveInvalidChars(data.OriginalFilename)
@@ -262,7 +262,7 @@ func (r *RealDebrid) GetDownloadLinks(torrent *Torrent) error {
if err != nil {
return err
}
var data structs.RealDebridUnrestrictResponse
var data types.RealDebridUnrestrictResponse
if err = json.Unmarshal(resp, &data); err != nil {
return err
}

View File

@@ -9,7 +9,7 @@ import (
"github.com/sirrobot01/debrid-blackhole/internal/config"
"github.com/sirrobot01/debrid-blackhole/internal/logger"
"github.com/sirrobot01/debrid-blackhole/internal/request"
"github.com/sirrobot01/debrid-blackhole/pkg/debrid/structs"
"github.com/sirrobot01/debrid-blackhole/pkg/debrid/types"
"log"
"mime/multipart"
"net/http"
@@ -76,7 +76,7 @@ func (r *Torbox) IsAvailable(infohashes []string) map[string]bool {
r.logger.Info().Msgf("Error checking availability: %v", err)
return result
}
var res structs.TorBoxAvailableResponse
var res types.TorBoxAvailableResponse
err = json.Unmarshal(resp, &res)
if err != nil {
r.logger.Info().Msgf("Error marshalling availability: %v", err)
@@ -111,7 +111,7 @@ func (r *Torbox) SubmitMagnet(torrent *Torrent) (*Torrent, error) {
if err != nil {
return nil, err
}
var data structs.TorBoxAddMagnetResponse
var data types.TorBoxAddMagnetResponse
err = json.Unmarshal(resp, &data)
if err != nil {
return nil, err
@@ -151,7 +151,7 @@ func (r *Torbox) GetTorrent(id string) (*Torrent, error) {
if err != nil {
return torrent, err
}
var res structs.TorboxInfoResponse
var res types.TorboxInfoResponse
err = json.Unmarshal(resp, &res)
if err != nil {
return torrent, err
@@ -266,7 +266,7 @@ func (r *Torbox) GetDownloadLinks(torrent *Torrent) error {
if err != nil {
return err
}
var data structs.TorBoxDownloadLinksResponse
var data types.TorBoxDownloadLinksResponse
if err = json.Unmarshal(resp, &data); err != nil {
return err
}

View File

@@ -42,7 +42,7 @@ type Torrent struct {
Status string `json:"status"`
Added string `json:"added"`
Progress float64 `json:"progress"`
Speed int `json:"speed"`
Speed int64 `json:"speed"`
Seeders int `json:"seeders"`
Links []string `json:"links"`
DownloadLinks []TorrentDownloadLinks `json:"download_links"`

View File

@@ -1,4 +1,4 @@
package structs
package types
type errorResponse struct {
Code string `json:"code"`
@@ -21,8 +21,8 @@ type magnetInfo struct {
UploadDate int `json:"uploadDate"`
Downloaded int64 `json:"downloaded"`
Uploaded int64 `json:"uploaded"`
DownloadSpeed int `json:"downloadSpeed"`
UploadSpeed int `json:"uploadSpeed"`
DownloadSpeed int64 `json:"downloadSpeed"`
UploadSpeed int64 `json:"uploadSpeed"`
Seeders int `json:"seeders"`
CompletionDate int `json:"completionDate"`
Type string `json:"type"`

View File

@@ -1,4 +1,4 @@
package structs
package types
type DebridLinkAPIResponse[T any] struct {
Success bool `json:"success"`
@@ -36,8 +36,8 @@ type debridLinkTorrentInfo struct {
} `json:"trackers"`
Created int64 `json:"created"`
DownloadPercent float64 `json:"downloadPercent"`
DownloadSpeed int `json:"downloadSpeed"`
UploadSpeed int `json:"uploadSpeed"`
DownloadSpeed int64 `json:"downloadSpeed"`
UploadSpeed int64 `json:"uploadSpeed"`
}
type DebridLinkTorrentInfo DebridLinkAPIResponse[[]debridLinkTorrentInfo]

View File

@@ -1,4 +1,4 @@
package structs
package types
import (
"encoding/json"
@@ -89,7 +89,7 @@ type RealDebridTorrentInfo struct {
} `json:"files"`
Links []string `json:"links"`
Ended string `json:"ended,omitempty"`
Speed int `json:"speed,omitempty"`
Speed int64 `json:"speed,omitempty"`
Seeders int `json:"seeders,omitempty"`
}

View File

@@ -1,4 +1,4 @@
package structs
package types
import "time"
@@ -36,7 +36,7 @@ type torboxInfo struct {
Peers int `json:"peers"`
Ratio float64 `json:"ratio"`
Progress float64 `json:"progress"`
DownloadSpeed int `json:"download_speed"`
DownloadSpeed int64 `json:"download_speed"`
UploadSpeed int `json:"upload_speed"`
Eta int `json:"eta"`
TorrentFile bool `json:"torrent_file"`