feat: add rtorrent client via PDCA
Some checks failed
Build and Push Docker Image / build (push) Failing after 40s
CI / Security audit (push) Failing after 27s
CI / Tests & coverage (push) Failing after 35s
Docs Check / Markdown lint (push) Successful in 32s
Docs Check / Mermaid diagram parse check (push) Successful in 1m12s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 24s
Some checks failed
Build and Push Docker Image / build (push) Failing after 40s
CI / Security audit (push) Failing after 27s
CI / Tests & coverage (push) Failing after 35s
Docs Check / Markdown lint (push) Successful in 32s
Docs Check / Mermaid diagram parse check (push) Successful in 1m12s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 24s
- Implement RTorrentClient extending DownloadClient abstract class - Use xmlrpc package (v1.3.2) for XML-RPC communication - Support HTTP Basic Auth when credentials are configured - Map rTorrent states (d.state, d.is_active, d.is_hash_checking) to normalized statuses - Calculate ETA from download speed and remaining bytes - Add getRtorrentInstances() to config.js - Register RTorrentClient in downloadClients.js registry - Add 8 comprehensive unit tests covering all functionality - Update .env.sample with rtorrent configuration examples - Update ARCHITECTURE.md with rtorrent client details - Update ADDING-A-DOWNLOAD-CLIENT.md with rtorrent-specific notes
This commit is contained in:
@@ -326,6 +326,13 @@ interface NormalizedDownload {
|
||||
- Handles session ID management and conflict resolution
|
||||
- Demonstrates how easy it is to add new client types
|
||||
|
||||
#### RTorrentClient
|
||||
- XML-RPC implementation for rTorrent daemon
|
||||
- Uses the xmlrpc package (v1.3.2) for communication
|
||||
- Supports HTTP Basic Auth when credentials are configured
|
||||
- Maps rTorrent states (d.state, d.is_active, d.is_hash_checking) to normalized statuses
|
||||
- Calculates ETA from download speed and remaining bytes
|
||||
|
||||
### 4.4.5 Registry and Factory (`downloadClients.js`)
|
||||
|
||||
The `DownloadClientRegistry` manages all client instances:
|
||||
|
||||
Reference in New Issue
Block a user