+
+
+
+
+
+
+ Select which downloader is used to download this torrent from the debrid provider to your host.
+
+
+
+
+
+
+
+
+ When a torrent is finished downloading on the provider, perform this action. Use this setting if you only want
+ to add files to Real-Debrid but not download them to the host.
+
+
+
+
+
+
+
+
The category becomes a sub-folder in your main download path.
+
+
+
+
+
+
+
+ Set the priority for this torrent where 1 is the highest. When empty it will be assigned the lowest priority.
+
+
+
+
+
+
+
+
When a single download fails it will retry it this many times before marking it as failed.
+
+
+
+
+
+
+
+ When a single download has failed multiple times (see setting above) or when the torrent itself received an
+ error it will retry the full torrent this many times before marking it failed.
+
+
+
+
+
+
+
+
+ When a download has been in error for this many minutes, delete it from the provider and the client. 0 to
+ disable.
+
+
+
+
+
+
+
+
+ The maximum lifetime of a torrent in minutes. When this time has passed, mark the torrent as error. If the
+ torrent is completed and has downloads, the lifetime setting will not apply. 0 to disable.
+
+
+
+
+
+
+ 0">
+ Error changing settings: {{ changeSettingsError }}
+
+
+
diff --git a/client/src/app/torrent-table/torrent-table.component.ts b/client/src/app/torrent-table/torrent-table.component.ts
index 3ca6eba..8adaee7 100644
--- a/client/src/app/torrent-table/torrent-table.component.ts
+++ b/client/src/app/torrent-table/torrent-table.component.ts
@@ -25,7 +25,23 @@ export class TorrentTableComponent implements OnInit {
public retryError: string;
public retrying: boolean;
- constructor(private router: Router, private torrentService: TorrentService) {}
+ public isChangeSettingsModalActive: boolean;
+ public changeSettingsError: string;
+ public changingSettings: boolean;
+
+ public updateSettingsDownloadClient: number;
+ public updateSettingsHostDownloadAction: number;
+ public updateSettingsCategory: string;
+ public updateSettingsPriority: number;
+ public updateSettingsDownloadRetryAttempts: number;
+ public updateSettingsTorrentRetryAttempts: number;
+ public updateSettingsDeleteOnError: number;
+ public updateSettingsTorrentLifetime: number;
+
+ constructor(
+ private router: Router,
+ private torrentService: TorrentService,
+ ) {}
ngOnInit(): void {
this.torrentService.getList().subscribe(
@@ -38,7 +54,7 @@ export class TorrentTableComponent implements OnInit {
},
(err) => {
this.error = err.error;
- }
+ },
);
}
@@ -138,4 +154,89 @@ export class TorrentTableComponent implements OnInit {
},
});
}
+
+ public changeSettingsModal(): void {
+ this.changeSettingsError = null;
+
+ const selectedTorrents = this.torrents.where((m) => this.selectedTorrents.indexOf(m.torrentId) > -1);
+
+ this.updateSettingsDownloadClient =
+ selectedTorrents.distinctBy((m) => m.downloadClient).count() == 1 ? selectedTorrents[0].downloadClient : null;
+ this.updateSettingsHostDownloadAction =
+ selectedTorrents.distinctBy((m) => m.hostDownloadAction).count() == 1
+ ? selectedTorrents[0].hostDownloadAction
+ : null;
+ this.updateSettingsCategory =
+ selectedTorrents.distinctBy((m) => m.category).count() == 1 ? selectedTorrents[0].category : null;
+ this.updateSettingsPriority =
+ selectedTorrents.distinctBy((m) => m.priority).count() == 1 ? selectedTorrents[0].priority : null;
+ this.updateSettingsDownloadRetryAttempts =
+ selectedTorrents.distinctBy((m) => m.downloadRetryAttempts).count() == 1
+ ? selectedTorrents[0].downloadRetryAttempts
+ : null;
+ this.updateSettingsTorrentRetryAttempts =
+ selectedTorrents.distinctBy((m) => m.torrentRetryAttempts).count() == 1
+ ? selectedTorrents[0].torrentRetryAttempts
+ : null;
+ this.updateSettingsDeleteOnError =
+ selectedTorrents.distinctBy((m) => m.deleteOnError).count() == 1 ? selectedTorrents[0].deleteOnError : null;
+ this.updateSettingsTorrentLifetime =
+ selectedTorrents.distinctBy((m) => m.lifetime).count() == 1 ? selectedTorrents[0].lifetime : null;
+
+ this.isChangeSettingsModalActive = true;
+ }
+
+ public changeSettingsCancel(): void {
+ this.isChangeSettingsModalActive = false;
+ }
+
+ public changeSettingsOk(): void {
+ this.changingSettings = true;
+
+ let calls: Observable