Cucumberrbob
765a5b0543
Use DownloadableFileFilter in RealDebridTorrentClient to filter files
2025-03-03 12:04:34 +00:00
Cucumberrbob
2b6e51b5cf
Use DownloadableFileFilter in PremiumizeTorrentClient to filter files
2025-03-03 12:03:00 +00:00
Cucumberrbob
537845ea80
Use DownloadableFileFilter in DebridLinkTorrentClient to filter files.
...
Uses `TorrentClientTorrent.Files` instead of `.Links` to get download links. Also adds `DownloadLink` to `Files` when `Map`ping to `TorrentClientTorrent`
2025-03-03 12:00:33 +00:00
Cucumberrbob
2944101657
Use DownloadableFileFilter in AllDebridTorrentClient to filter files
...
Also updates unit tests to not test if filter works. Test filter is used appropriately instead.
2025-03-03 11:57:43 +00:00
Cucumberrbob
816c72f418
Use DownloadableFileFilter in TorBoxTorrentClient to filter files
2025-03-03 11:55:26 +00:00
Cucumberrbob
a02fcc6c1e
Inject DownloadableFileFilter in Service.DiConfig
2025-03-03 11:54:01 +00:00
Cucumberrbob
b95dbcc824
Add DownloadableFileFilter + unit tests
...
`DownloadableFileFilter` is an abstraction of the filtering we do in most of the `TorrentClient`s.
It operates on a single file at a time, not the entire torrent.
2025-03-03 11:52:19 +00:00
Sam Heinz
6b7e9b2943
[TB] Update TorBox.NET to 1.5.0
2025-02-24 08:43:50 +10:00
Cucumberrbob
d683c45dbd
tests: use theorydata
2025-02-23 18:54:31 +00:00
Roger Far
85d6b820f3
Upgrade packages, fixed few formatting issues.
2025-02-23 11:42:38 -07:00
Roger Far
7436e2d036
Merge pull request #715 from Cucumberrbob/fix/use-getsymlinkpath-method
...
Actually use `GetSymlinkPath` logic
2025-02-23 11:24:23 -07:00
Roger Far
115a1dcc56
Merge pull request #709 from Wald764/pr-main-repo
...
⬆️ DebridLinkFr.NET to 1.0.4
2025-02-23 11:23:58 -07:00
Roger Far
a4b95923b2
Merge pull request #708 from Cucumberrbob/fix/pm-nested-files
...
[PM] fix: search subdirectories using `item.Id` not `item.FolderId`
2025-02-23 11:23:38 -07:00
Roger Far
f0310e2b00
Merge pull request #707 from Cucumberrbob/fix/existing-file-in-error-processed-watch-path
...
Delete file if exists when copying to `Error Path` or `Processed Path` (watch folder)
2025-02-23 11:23:07 -07:00
Cucumberrbob
d292fbaee8
remove superfluous newline
2025-02-20 14:59:09 +00:00
Cucumberrbob
8e1f61472a
remove commented out line
2025-02-20 14:58:37 +00:00
Cucumberrbob
439b266946
Actually use GetSymlinkPath
2025-02-20 14:57:44 +00:00
Wald764
66f0ae0e7c
⬆️ DebridLinkFr.NET to 1.0.4
2025-02-18 18:38:07 +01:00
Cucumberrbob
5a78125053
[PM] fix: search subdirectories using item.Id as folderId when getting downloaod links
2025-02-18 11:51:30 +00:00
Cucumberrbob
29914138aa
cleanup
2025-02-17 23:31:13 +00:00
Cucumberrbob
c43be84507
Delete file if exists when copying to {error,processed}StorePath (watch folder)
2025-02-17 23:03:38 +00:00
Cucumberrbob
1d15b0d651
Add tests for AllDebridTorrentClient
...
Tests:
- `GetDownloadLinks`
- `IncludeRegex` filter works
- `ExcludeRegex` filter works
- `DownloadMinSize` filter works
- only `IncludeRegex` is used when both `IncludeRegex` and `ExcludeRegex` are set
- gets links for all files if none of the above filters are set
- returns null if `torrent.RdId` is null
- `GetTorrents`
- [Both full/partial sync] returns empty list when no torrents present in api response
- [full sync] overrides any previous torrents in cache, deleting those not present in the api response
- [partial sync] updates torrents in cache according to the api response
- [partial sync] adds torrents to cache according to the api response
- `Map` (private so tested via `GetTorrents`)
- Computes progress correctly from `Downloaded / Size`
- `UpdateData`
- [`torrentClientTorrent != null`] does not get from api, updates the `torrent` accordingly
- [`torrentClientTorrent == null`] gets from api, updates the `torrent` accordingly
- [`torrentClientTorrent == null`] when torrent deleted from rd, updates `RdStatusRaw = "deleted""`
- when `torrent.RdId == null`, returns the `torrent` unmodified
2025-02-17 22:04:18 +00:00
Cucumberrbob
e0264a6e29
Add tests for DownloadHelper (GetDownloadPath)
...
Tests:
- [Both overloads] uses the `download.Link` to guess the filenamem if it's not present
- [Both overloads] returns null if `download.Link` is null
- [Both overloads] returns nuyll if `download.RdName` is null
- [Both overloads] works for a file in a deeply nested subdirectory
- [overload with `downloadPath` argument only] creates the correct directory
2025-02-17 22:01:53 +00:00
Cucumberrbob
95ef1f42b8
Add tests for DownloadStationDownloader
...
Tests:
- Downloads successfully when everything goes right first time
- Downloads successfully when the 5th api call is successful after 4 failures
- Fails to download when 5 api calls fail in a row
- Fails to download if the file has already been added to `Download Station` (when `GetInfoAsync` does not error)
- FAils to download if `remotePath` cannot be parsed by `Path.GetDirectoryName()`
2025-02-17 22:01:16 +00:00
Cucumberrbob
f4ca137e83
Add tests for Torrents#RunTorrentComplete
...
Tests:
- doesn't run command when not present
- does run command when present
- listens to events on process for stdout/stderr
2025-02-17 22:00:57 +00:00
Cucumberrbob
3dee900be6
Add test project RdtClient.Service.Test
2025-02-17 22:00:33 +00:00
Cucumberrbob
2bbbf0fd10
Use ISynologyClient (mockable) and inject IDelayProvider so SynologyTorrentClient is testable
2025-02-17 22:00:19 +00:00
Cucumberrbob
c546bd0173
Use IProcessFactory, IFileSystem in Service.Torrents#RunTorrentComplete
...
Also adds dependency injection to `Torrents#RunTorrentComplete` for `DbSettings` (`Settings.Get`)
2025-02-17 21:59:56 +00:00
Cucumberrbob
fd073b4762
Add interfaces for TorrentData, Downloads, Process, ProcessFactory
...
Making them interfaces lets us dependency inject them, allowing a given class to be tested.
2025-02-17 21:57:29 +00:00
Cucumberrbob
daf8a9c6da
DownloadHelper: use IFileSystem for testable filesystem access
2025-02-17 21:57:02 +00:00
Cucumberrbob
95307f2933
Use AllDebridNetClientFactory so AD client can be dependency-injected
2025-02-17 21:56:32 +00:00
Roger Far
fe241db5db
Upgrade AllDebrid and Downloader.NET to the latest versions.
Docker Image CI / build (push) Has been cancelled
2025-02-16 09:44:21 -07:00
Roger Far
7c3c1fb24c
Merge pull request #692 from Cucumberrbob/fix/include-exclude-pm-tb
...
[PM] [TB] Fix: Implement `IncludeRegex`, `ExcludeRegex`, and `DownloadMinSize`
2025-02-16 09:30:19 -07:00
Cucumberrbob
9299314b14
Log when rejecting files in TB GetDownloadLinks
2025-02-13 11:50:40 +00:00
Cucumberrbob
e5e64e6946
Include torrent in logs when rejecting files in PM GetDownloadLinks
2025-02-13 11:41:41 +00:00
Roger Far
56c25770c3
Cleanup.
2025-02-12 20:27:29 -07:00
Roger Far
c005bda484
Merge branch 'master' into pr-main-repo
2025-02-12 20:24:54 -07:00
Roger Far
f58b7d3e72
Refactored TorrentClientKind to Provider. Upgrade Downloader.NET
2025-02-12 20:24:22 -07:00
Roger Far
780d0e5118
Add fixes for AllDebrid and their new API.
2025-02-12 19:48:48 -07:00
Cucumberrbob
26f1f26cd1
Ensure MinDownloadSize, IncludeRegex and ExcludeRegex are honoured by TorBoxTorrentClient
2025-02-07 14:43:59 +00:00
Cucumberrbob
9e223de32e
Ensure MinDownloadSize, IncludeRegex and ExcludeRegex are honoured by PremiumizeTorrentClient
2025-02-07 14:40:13 +00:00
Wald764
f1bdc7d8b4
♻️ fix a reference to RD instead of DL in DebridLinkTorrentClient
2025-02-03 00:49:36 +01:00
Cucumberrbob
48766e3d44
🐛 Fix build errors by not using Torrent = in DebridLinkTorrentClient
...
use `Data.Models.Data.Torrent`instead of `Torrent` and `Download = RdtClient.Data.Models.Torrent`
2025-02-03 00:25:02 +01:00
Cucumberrbob
56a61ad012
✨ Use exact path for symlink source when using SymlinkDownloader
2025-02-02 22:11:26 +01:00
Wald764
303244127b
♻️ fix typo in Torrents.cs
2025-02-02 17:50:51 +01:00
Wald764
20fbf8833a
♻️ rename occurrences of debridlinkfr to debridlink
2025-02-02 17:19:41 +01:00
Wald764
d6d1813340
🐛 implement PR suggestions
2025-02-02 17:10:41 +01:00
Wald764
7902f56d66
🐛 endpoint /seedbox/cached removed by DebridLink
2025-02-02 16:46:35 +01:00
Wald764
4198b6ab55
🐛 fixes about the providers order and addition of GetFileName to DebridLinkFrTorrentClient
2025-02-02 16:26:46 +01:00
Wald764
59c47bfe1a
🎉 add support of DebridLinkFr
2025-01-31 10:07:29 +01:00
Roger Far
dc2ec486d7
no message
Docker Image CI / build (push) Has been cancelled
2025-01-29 19:13:43 -07:00
Roger Far
a566f47988
Set the download client based on the torrent instead of hardcoded when upload a torrent from the web GUI.
2025-01-29 19:10:14 -07:00
Roger Far
24c759e4e6
Small fixes in the download client.
2025-01-29 19:03:38 -07:00
Roger Far
ef8142453f
Merge branch 'master' into fix/bad-download-path
2025-01-29 18:59:31 -07:00
Roger Far
f379d4efb8
DownloadStation cleanup.
2025-01-29 18:55:24 -07:00
Cucumberrbob
0c9de86531
rename symlinkPath -> symlinkSourcePath
2025-01-29 12:19:52 +00:00
Cucumberrbob
82f0bb8bbe
Use static GetSymlinkPath on AllDebridTorrentClient to get the symlink (since the behaviour is unique to the debrid service)
2025-01-29 12:11:25 +00:00
Cucumberrbob
beb0299a0b
revert changes to DownloadHelper.cs
2025-01-29 11:07:20 +00:00
YvesPa
062787143f
Throw an lisible error if not config
2025-01-28 14:12:37 +01:00
YvesPa
eeef6fb7fe
Merge remote-tracking branch 'rogerfar/master'
...
# Conflicts:
# server/RdtClient.Service/RdtClient.Service.csproj
# server/RdtClient.Service/Services/DownloadClient.cs
2025-01-22 19:11:23 +01:00
YvesPa
85e07f3c90
Update to nuget Synology project
2025-01-22 17:42:04 +01:00
Roger Far
db1760b36e
Update to .95.
Docker Image CI / build (push) Has been cancelled
2025-01-19 20:47:09 -07:00
Roger Far
ce223d3e2c
Add qBittorrent endpoint transfer/info.
2025-01-19 20:43:28 -07:00
Roger Far
3ed80909de
Upgrade packages.
2025-01-19 19:58:29 -07:00
Roger Far
b8c183c079
Refactored out merge pattern for more readable syntax.
2025-01-19 19:57:39 -07:00
Roger Far
e449bd7928
Refactored out goto statement.
2025-01-19 19:55:19 -07:00
YvesPa
735912da5d
Change log position
2025-01-10 16:45:50 +01:00
YvesPa
7d2d7fa35f
Merge remote-tracking branch 'rogerfar/master'
2025-01-10 16:27:04 +01:00
Sculas
00e499593e
fix: Fix Alldebrid path again
2025-01-09 16:23:56 +01:00
Sculas
d6305c26f8
fix: Only add path separator in specific cases
2025-01-08 13:41:47 +01:00
Sculas
56934e3183
refactor: Improve logging
2025-01-07 15:15:31 +01:00
Sculas
38a3bc1537
perf(SymlinkDownloader): Skip file search when using Alldebrid
2025-01-07 14:34:02 +01:00
Sculas
8fe277fa52
fix(SymlinkDownloader): Add search path to potential file paths
2025-01-07 14:26:26 +01:00
Sculas
ee9e80f7d2
fix: Only apply AllDebrid-specific path fixes to AllDebrid
2025-01-06 12:41:41 +01:00
Roger Far
d5ee5d209c
Changed how files are saved.
2025-01-05 20:56:37 -07:00
Roger Far
d43774d9b5
Fix hanging Aria2 downloads when files are being copied or cannot be found on the host.
2025-01-05 20:49:55 -07:00
Roger Far
e700939cfa
Merge pull request #651 from Sculas/fix/path-single-file-torrent
...
fix: Fix invalid download path with single-file torrents
2025-01-05 15:21:05 -07:00
Sculas
268bb6826c
fix: Fix invalid download path with single-file torrents
2025-01-05 22:17:22 +01:00
Roger Far
79164d54ca
no message
Docker Image CI / build (push) Has been cancelled
2025-01-05 11:03:18 -07:00
Sculas
0026541dca
fix(AllDebrid): Implement filters & fix file paths
2025-01-04 04:29:26 +01:00
Roger Versluis
8518cc1e10
no message
Docker Image CI / build (push) Has been cancelled
2025-01-03 15:54:55 -07:00
Roger Versluis
34aec3d45d
no message
2025-01-03 15:54:43 -07:00
Sam Heinz
409e47920e
Revert "[TB] Download via zip if file count is over 50"
...
This reverts commit 6afef14855 .
2025-01-02 21:21:52 +10:00
Sam Heinz
fa0f535858
[TB] Update TorBox.NET to 1.3.2
2025-01-02 13:15:59 +10:00
Sam Heinz
065afe9461
[TB] Set seeding based on website seeding setting
...
The default seed value for website dash is used to set whether to seed or not for new uncached torrents added via rdtclient
2025-01-02 13:15:42 +10:00
Sam Heinz
6afef14855
[TB] Download via zip if file count is over 50
...
Due to rate limiting issues this is implemented again, it works now since TB reenabled HEAD method for zip downloads on their backend
2025-01-02 13:10:36 +10:00
Sam Heinz
78daeeeaf3
[TB] Update TorBox.NET to 1.3.0
2024-12-28 16:52:45 +10:00
Sam Heinz
e21dc7279a
[TB] Fix Index was out of range error
...
put < when shouldve put >
2024-12-28 01:36:21 +10:00
Roger Versluis
9a2d59afe0
no message
Docker Image CI / build (push) Has been cancelled
2024-12-18 07:23:44 -07:00
Sam Heinz
1ad3dc51dd
[TB] Fix source parameter null log spam #618
2024-12-12 17:46:46 +10:00
Roger Far
ea364eefc5
Cleanup, bump to 91.
Docker Image CI / build (push) Has been cancelled
2024-12-11 20:15:25 -07:00
Roger Far
98c4b2ae9b
Merge branch 'master' of https://github.com/rogerfar/rdt-client
2024-12-11 20:13:46 -07:00
Roger Far
1a27be8309
Update packages.
2024-12-11 20:13:42 -07:00
Sam Heinz
e92b197ddb
[TB] Fix UI errors
2024-12-11 18:59:21 +10:00
Sam Heinz
ac6300a504
[TB] Replace null with empty string for filenames in TorrentClient
...
Not sure if its better to do this or allow null value to db, but i had this originally and it worked so i think im better off leaving it for now, but idk.
Also got fix for incorrect log
2024-12-11 00:03:43 +10:00
Sam Heinz
9d03c20aaa
[TB] Change DownloadHelper to use download.FileName
...
Also adds the UpdateFileName function to DownloadHelper & DownloadData to push FileName to DB
2024-12-10 23:47:55 +10:00
Sam Heinz
350185b702
[TB] Refactor GetFileName in Torrent Clients
2024-12-10 23:45:13 +10:00
Sam Heinz
a1599ee716
[TB] Add FileName value to Download model
2024-12-10 23:44:11 +10:00
YvesPa
f9335be163
Merge remote-tracking branch 'rogerfar/master'
2024-12-10 11:12:55 +01:00
YvesPa
346982fe8d
Manage error
2024-12-10 11:05:39 +01:00