mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 00:39:13 +00:00
fix(downloadclients): Deluge v1 save path (#915)
fix(downloadclients): Deluge v1 fix save path
This commit is contained in:
parent
a5d6da7373
commit
1abc260047
4 changed files with 75 additions and 58 deletions
|
@ -17,10 +17,12 @@ import (
|
|||
"github.com/autobrr/autobrr/pkg/sonarr"
|
||||
"github.com/autobrr/autobrr/pkg/whisparr"
|
||||
|
||||
"github.com/autobrr/go-deluge"
|
||||
"github.com/autobrr/go-qbittorrent"
|
||||
"github.com/autobrr/go-rtorrent"
|
||||
delugeClient "github.com/gdm85/go-libdeluge"
|
||||
"github.com/dcarbone/zadapters/zstdlog"
|
||||
"github.com/hekmon/transmissionrpc/v2"
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
||||
func (s *service) testConnection(ctx context.Context, client domain.DownloadClient) error {
|
||||
|
@ -29,7 +31,7 @@ func (s *service) testConnection(ctx context.Context, client domain.DownloadClie
|
|||
return s.testQbittorrentConnection(ctx, client)
|
||||
|
||||
case domain.DownloadClientTypeDelugeV1, domain.DownloadClientTypeDelugeV2:
|
||||
return s.testDelugeConnection(client)
|
||||
return s.testDelugeConnection(ctx, client)
|
||||
|
||||
case domain.DownloadClientTypeRTorrent:
|
||||
return s.testRTorrentConnection(ctx, client)
|
||||
|
@ -59,7 +61,7 @@ func (s *service) testConnection(ctx context.Context, client domain.DownloadClie
|
|||
return s.testSabnzbdConnection(ctx, client)
|
||||
|
||||
default:
|
||||
return errors.New("unsupported client")
|
||||
return errors.New("unsupported client: %s", client.Type)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,44 +95,59 @@ func (s *service) testQbittorrentConnection(ctx context.Context, client domain.D
|
|||
return nil
|
||||
}
|
||||
|
||||
func (s *service) testDelugeConnection(client domain.DownloadClient) error {
|
||||
var deluge delugeClient.DelugeClient
|
||||
|
||||
settings := delugeClient.Settings{
|
||||
func (s *service) testDelugeConnection(ctx context.Context, client domain.DownloadClient) error {
|
||||
settings := deluge.Settings{
|
||||
Hostname: client.Host,
|
||||
Port: uint(client.Port),
|
||||
Login: client.Username,
|
||||
Password: client.Password,
|
||||
DebugServerResponses: true,
|
||||
ReadWriteTimeout: time.Second * 10,
|
||||
ReadWriteTimeout: 30 * time.Second,
|
||||
}
|
||||
|
||||
settings.Logger = zstdlog.NewStdLoggerWithLevel(s.log.With().Logger(), zerolog.TraceLevel)
|
||||
|
||||
var err error
|
||||
var version string
|
||||
|
||||
switch client.Type {
|
||||
case "DELUGE_V1":
|
||||
deluge = delugeClient.NewV1(settings)
|
||||
del := deluge.NewV1(settings)
|
||||
|
||||
// perform connection to Deluge server
|
||||
if err := del.Connect(ctx); err != nil {
|
||||
return errors.Wrap(err, "error logging into client: %v", client.Host)
|
||||
}
|
||||
|
||||
defer del.Close()
|
||||
|
||||
// print daemon version
|
||||
version, err = del.DaemonVersion(ctx)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "could not get daemon version: %v", client.Host)
|
||||
}
|
||||
|
||||
case "DELUGE_V2":
|
||||
deluge = delugeClient.NewV2(settings)
|
||||
del := deluge.NewV2(settings)
|
||||
|
||||
// perform connection to Deluge server
|
||||
if err := del.Connect(ctx); err != nil {
|
||||
return errors.Wrap(err, "error logging into client: %v", client.Host)
|
||||
}
|
||||
|
||||
defer del.Close()
|
||||
|
||||
// print daemon version
|
||||
version, err = del.DaemonVersion(ctx)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "could not get daemon version: %v", client.Host)
|
||||
}
|
||||
|
||||
default:
|
||||
deluge = delugeClient.NewV2(settings)
|
||||
return errors.New("unsupported deluge client version: %s", client.Type)
|
||||
}
|
||||
|
||||
// perform connection to Deluge server
|
||||
err := deluge.Connect()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "error logging into client: %v", client.Host)
|
||||
}
|
||||
|
||||
defer deluge.Close()
|
||||
|
||||
// print daemon version
|
||||
ver, err := deluge.DaemonVersion()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "could not get daemon version: %v", client.Host)
|
||||
}
|
||||
|
||||
s.log.Debug().Msgf("test client connection for Deluge: success - daemon version: %v", ver)
|
||||
s.log.Debug().Msgf("test client connection for Deluge: success - daemon version: %v", version)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue