Skip to content

Commit

Permalink
drop support for qBt prior to 4.1
Browse files Browse the repository at this point in the history
  • Loading branch information
garfield69 committed Dec 1, 2024
1 parent bb58559 commit 9c64bbb
Show file tree
Hide file tree
Showing 15 changed files with 250 additions and 424 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Screenshots:

Changelog:
==========
* Nightly : ◆ **AutoDownload**: *(new)* Now able to use series custom Seeders, custom Includes and custom Excludes. ◆ **DataBase**: *(fix)* Make TRAKT_ID unique to prevent duplicate records. ◆ **TMDBfanArt**: *(new)* Refactor image loading to use TMDB. This complements and progressively takes over from FanArt. ◆ **Languages**: *(new)* Greek, Turkish, Slovak, South African English. ◆ **Languages**: *(fix)* Chinese, Dutch. ◆ **Log_GR**: *(del)* Drop Error-Tracking-Loggr, the service is no longer available. ◆ **sceneNameResolver**: *(new)* add custom support to subtract/add days from date formated serie names eg YYYY MM DD[-1]. ◆ **SearchEngines**: *(new)* Add ETag (extratorrent.st), IsoHunt2 (isohunt.tv), TGx (torrentgalaxy.to), EXT (ext.to), KATws (kickass.ws), Knaben (knaben.eu), TheRARBG (t-rb.org). ◆ **SearchEngines**: *(del)* KATcr is broken, TorrentZ2 is gone, ETTV is gone, Zooqle is gone, RarBG is gone, EzTV no results without cookie. ◆ **SearchEngines**: *(fix)* Limetorrrents DL links and new domain, 1337x DL links, TPB (*0.org) + fix details link, TPB mirror resolver (piratebayproxy.net), torrentdownloads new domain, fix details link for Jackett indexers. ◆ **Standalone**: *(new)* Mac OSX ARM64 package now available. ◆ **Standalone**: *(upgrade)* NWJS 0.87.0 with Chromium 124. ◆ **Standalone**: *(fix)* Prevent Chromium 112+ freezing tabs if idle. Switch chromium-args: --flag-switches-begin --disable-features=HighEfficiencyModeAvailable --flag-switches-end. **Standalone**: *(fix)* Rework saving widow position.◆ **TorrentClient**: *(new)* Introducing tTorrent client. ◆ **TorrentClient**: *(fix)* replace deprecated rTorrent calls, add support for qBitTorrent 4.2+, ignore aria2 metadata file reports. ◆ **TorrentClient**: *(fix)* qBitTorrent 4.5+ fix API call to remove torrent ◆ ◆ **TorrentClient**: *(fix)* qBitTorrent 5.0+ fix API call to start/stop torrent ◆ **TorrentClient**: *(fix)* Upgrade Tixati API for 2.86+. Note that older versions are no longer supported. ◆ **TorrentDialogs**: *(fix)* magnetLinks were being submitted twice due to NWJS bug. ◆ **TorrentDialogs**: *(add)* Add WEB to the quality list of the torrent search dialogues. ◆ **TorrentDialogs**: *(fix)* Trap SE errors so dialogues can report. ◆ **TorrentDialog2**: *(add)* individual SE spinners during searching. ◆ **TorrentMonitor**: *(fix)* Auto-Stop-All now works as intended. ◆ **Trakt**: *(new)* Preserve watched timestamp from Trakt.TV during import. ◆ **TraktTrending**: *(new)* Add option to view by Ended, Returning or Cancelled. ◆ **TraktTrending**: *(new)* Now updated Daily instead of Weekly. ◆ **TraktUpdateServices**: *(fix)* Support added for new API restrictions. ◆ **Misc**: *Bug fixes*.
* Nightly : ◆ **AutoDownload**: *(new)* Now able to use series custom Seeders, custom Includes and custom Excludes. ◆ **DataBase**: *(fix)* Make TRAKT_ID unique to prevent duplicate records. ◆ **TMDBfanArt**: *(new)* Refactor image loading to use TMDB. This complements and progressively takes over from FanArt. ◆ **Languages**: *(new)* Greek, Turkish, Slovak, South African English. ◆ **Languages**: *(fix)* Chinese, Dutch. ◆ **Log_GR**: *(del)* Drop Error-Tracking-Loggr, the service is no longer available. ◆ **sceneNameResolver**: *(new)* add custom support to subtract/add days from date formated serie names eg YYYY MM DD[-1]. ◆ **SearchEngines**: *(new)* Add ETag (extratorrent.st), IsoHunt2 (isohunt.tv), TGx (torrentgalaxy.to), EXT (ext.to), KATws (kickass.ws), Knaben (knaben.eu), TheRARBG (t-rb.org). ◆ **SearchEngines**: *(del)* KATcr is broken, TorrentZ2 is gone, ETTV is gone, Zooqle is gone, RarBG is gone, EzTV no results without cookie. ◆ **SearchEngines**: *(fix)* Limetorrrents DL links and new domain, 1337x DL links, TPB (*0.org) + fix details link, TPB mirror resolver (piratebayproxy.net), torrentdownloads new domain, fix details link for Jackett indexers. ◆ **Standalone**: *(new)* Mac OSX ARM64 package now available. ◆ **Standalone**: *(upgrade)* NWJS 0.87.0 with Chromium 124. ◆ **Standalone**: *(fix)* Prevent Chromium 112+ freezing tabs if idle. Switch chromium-args: --flag-switches-begin --disable-features=HighEfficiencyModeAvailable --flag-switches-end. **Standalone**: *(fix)* Rework saving widow position.◆ **TorrentClient**: *(new)* Introducing tTorrent client. ◆ **TorrentClient**: *(fix)* replace deprecated rTorrent calls, add support for qBitTorrent 4.2+, ignore aria2 metadata file reports. ◆ **TorrentClient**: *(fix)* qBitTorrent 4.5+ fix API call to remove torrent ◆ ◆ **TorrentClient**: *(fix)* qBitTorrent 5.0+ fix API call to start/stop torrent, drop support for qBt prior to 4.1 ◆ **TorrentClient**: *(fix)* Upgrade Tixati API for 2.86+. Note that older versions are no longer supported. ◆ **TorrentDialogs**: *(fix)* magnetLinks were being submitted twice due to NWJS bug. ◆ **TorrentDialogs**: *(add)* Add WEB to the quality list of the torrent search dialogues. ◆ **TorrentDialogs**: *(fix)* Trap SE errors so dialogues can report. ◆ **TorrentDialog2**: *(add)* individual SE spinners during searching. ◆ **TorrentMonitor**: *(fix)* Auto-Stop-All now works as intended. ◆ **Trakt**: *(new)* Preserve watched timestamp from Trakt.TV during import. ◆ **TraktTrending**: *(new)* Add option to view by Ended, Returning or Cancelled. ◆ **TraktTrending**: *(new)* Now updated Daily instead of Weekly. ◆ **TraktUpdateServices**: *(fix)* Support added for new API restrictions. ◆ **Misc**: *Bug fixes*.
* v1.1.5 : ◆ **AutoDownload**: *(new)* Now able to download .torrent files \o/. ◆ **Database**: *(fix)* Moved the database management services to the *Background* task, to minimise interruptions to DB updates and maintain integrity. ◆ **Favourites**: *(new)* Remembers last used sort selection. ◆ **Favourites**: *(new)* Introducing Anime support. Now a search can use the absolute episode number when available. • Series Settings allows the user to select any available Alias to replace the default Title in searches. ◆ **SearchEngines**: *(new)* Introducing Jackett! You can use the Jackett proxy to access your favourite open/semi-private/private trackers as DuckieTV Search Engines. ◆ **SearchEngines**: *(removed)* IsoHunt.to is gone. ◆ **Standalone**: *(upgrade)* NWJS 25.0 with Chromium 61 and Node 8.4.0 ◆ **TorrentClient**: *(new)* Introducing Aria2 client. ◆ **TorrentClient**: *(new)* Introducing BiglyBT client. ◆ **TorrentClient**: *(fix)* Can now connect with qBitTorrent 3.3.14 (and newer) with CSRF protection. ◆ **TorrentClient**: *(fix)* Can now connect with Deluge 1.3.14 (and newer) with CSRF protection. ◆ **Torrent Dialog [multi-SE]**: *(new)* Remembers last used sort selection. ◆ **Trakt-Sync**: *(upgrade)* When an episode is marked as downloaded it is added to the collected list of a user's Trakt account. ◆ **Trakt-Trending sidepanel**: *(upgrade)* Now using buttons instead of mouse-hover to improve browsing experience. ◆ **Misc**: *Bug fixes*.
* v1.1.4 : ◆ Performance: Massive database write performance improvement. ◆ User Interface: Split up favorites and adding mode, introduced 'todo' mode. You can now add multiple shows at once. • (new) Yellow stars now indicate show or season premieres ◆ Images: (fix) switched to Fanart.tv for all images after Trakt.tv ended support ◆ AutoDownload: (new) using global Require/Ignore Keywords • (new) series custom-search-provider option • (new) option to ignore global Quality, Require and Ignore keywords via series custom settings • (new) use series custom search string • (new) use global/custom size min/max • (fix) episodes with date scene names bug • (new) monitor autoDownload activity via status sidepanel • (new) make AD wait until episode has aired before searching • (new) series custom AD additional delay before searching ◆ FastSearch: (new) introducing the fast-search feature. Just start typing and a dialog pops up with the first six matches of your series from favourites, series from Trakt.TV, and the first 9 matches of episodes from favourites and torrent search. ◆ Standalone: (upgrade) nwjs 20.x chromium 56.x Node 7.5.x (fix) linux minimize bug • (new) option to open add-new-torrent panel on torrentHost • (fix) linux and mac multi-systray bug • (fix) defaults for first-time users bug • (new) option to set the color of the system tray icon ◆ TorrentClients: (new) rTorrent and Ktorrent clients • (new) add remove-torrent functionality to all client Interfaces • (fix) Deluge auto-stop and downloaded bugs • (fix) qBittorrent auto-stop bug • (fix) renamed qBittorrent client to qBittorrent (pre 3.2) for clarity • (new) add series custom download path option for torrentClients that support it ◆ SearchEngines: (fix) remove Strike, KAT and Torrentz as they are gone • (new) add 1337x, Idope, IsoHunt, KATcr, LimeTorrents, SkyTorrents, TorrentDownloads, TorrentZ2 and Zooqle • (fix) drop find-random-KAT-mirror feature as rockaproxy is gone • (fix) bug in RarBG causing non-found results after 15 minutes • (new) add 2160p search quality ◆ Favorites: (new) sort menu for name, added, first-aired and not-watched-count • (new) series poster context-menu for mark-all-watched, show/hide from calendar, and remove-series ◆ Series Sidepanel: (new) option to make the episodes-button jump to the first not-watched season • (fix) mark-all-watched did not sync to Trakt.TV • (new) confirm mark-all-watched dialog ◆ Season Sidepanel: (fix) jump to active season ignores specials unless there is no other seasons • (fix) mark-all-watched did not sync to Trakt.TV • (new) confirm mark-all-watched dialog ◆ Episode Sidepanel: (fix) overview text not height limited bug ◆ Calendar: (fix) events multi-episodes badge incorrectly counted hidden specials bug • (new) Series option to ignore global Hide Specials from calendar • (new) events single click to mark episode as watched • (new) Highlight season premiers with gold star ◆ Top10: (fix) invalid-data handling bug ◆ Subtitles: (fix) net::err_empty_response handling bug ◆ Translations: Russian by galeksandrp, updated italian translations by lamaresh, updated Dutch translations ◆ TraktTV: (new) Option to change the frequency of the Episode updates. ◆ TorrentDialog: (new) Option to sort the Seeders, Leechers and Size column • (new) Option to search using all the Search Engines at once • (add) Option to enable Sort menu to sort by Age. ◆ Backup: (new) A Backup can now be automatically scheduled. Choose between Never,Daily,Weekly or the default Monthly. ◆ Misc bug fixes.
* v1.1.3 : • Translations: Romanian by honeybunny from Addic7ed, French by Tra-Vis, Norwegian by hexjelly, Spanish by iachopolo • Bug fixes for Torrent Client Integrations • Improve Autodownload torrent search matching • Fixed adding shows with numeric titles • optionally display season and episode on calendar • integrated XEM • added marking all of a days shows as downloaded • Season navigation • settings/display options for standalone minimize to Taskbar or Systray • misc bug fixes.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
DuckieTV.controller('qbt32plusCtrl', ['qBittorrent32plus', 'SettingsService', 'FormlyLoader',
function(qBittorrent32plus, SettingsService, FormlyLoader) {
DuckieTV.controller('qbt41plusCtrl', ['qBittorrent41plus', 'SettingsService', 'FormlyLoader',
function(qBittorrent41plus, SettingsService, FormlyLoader) {
var vm = this
vm.error = null

Expand All @@ -16,22 +16,22 @@ DuckieTV.controller('qbt32plusCtrl', ['qBittorrent32plus', 'SettingsService', 'F
})

vm.isConnected = function() {
return qBittorrent32plus.isConnected()
return qBittorrent41plus.isConnected()
}

vm.test = function() {
vm.error = false
// console.log("Testing settings");
qBittorrent32plus.Disconnect()
qBittorrent32plus.setConfig(vm.model)
qBittorrent32plus.connect().then(function(connected) {
console.info('qBittorrent 3.2+ connected! (save settings)', connected)
qBittorrent41plus.Disconnect()
qBittorrent41plus.setConfig(vm.model)
qBittorrent41plus.connect().then(function(connected) {
console.info('qBittorrent 4.1+ connected! (save settings)', connected)
vm.error = null
qBittorrent32plus.saveConfig()
qBittorrent41plus.saveConfig()
window.location.reload()
}, function(error) {
vm.error = error
console.error('qBittorrent 3.2+ connect error!', error)
console.error('qBittorrent 4.1+ connect error!', error)
})
}
}
Expand Down
38 changes: 0 additions & 38 deletions js/controllers/settings/TorrentClients/qBittorrentPre32.js

This file was deleted.

4 changes: 2 additions & 2 deletions js/controllers/sidepanel/AboutCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,8 @@ DuckieTV.controller('AboutCtrl', ['$scope', '$http', '$injector', 'SettingsServi

// dump filtered user preferences, redact passwords
var userPrefs = angular.fromJson(localStorage.getItem('userPreferences'))
var unwantedClientKeys = ['aria2', 'biglybt', 'deluge', 'ktorrent', 'qbittorrent', 'qbittorrent32plus', 'rtorrent', 'tixati', 'transmission', 'utorrent', 'utorrentwebui', 'vuze']
var activeClientKey = localStorage.getItem('torrenting.client').replace(/ /g, '').replace('3.2+', '32plus').replace('(pre3.2)', '').toLowerCase()
var unwantedClientKeys = ['aria2', 'biglybt', 'deluge', 'ktorrent', 'qbittorrent', 'qbittorrent41plus', 'rtorrent', 'tixati', 'transmission', 'utorrent', 'utorrentwebui', 'vuze']
var activeClientKey = localStorage.getItem('torrenting.client').replace(/ /g, '').replace('4.1+', '41plus').toLowerCase()
unwantedClientKeys.splice(unwantedClientKeys.indexOf(activeClientKey), 1) // drop active client from list
Object.keys(userPrefs).map(function(key) {
// redact passwords
Expand Down
2 changes: 1 addition & 1 deletion js/controllers/sidepanel/TorrentCtrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ DuckieTV.controller('TorrentCtrl', ['$rootScope', '$injector', '$filter', 'Ducki
}

vm.getTorrentClientTemplate = function() {
return DuckieTorrent.getClientName().toLowerCase().replace(/ /g, '').replace('(pre3.2)', 'Pre32').replace(/3.2\+/, '32plus')
return DuckieTorrent.getClientName().toLowerCase().replace(/ /g, '').replace(/4.1\+/, '41plus')
}

vm.getTorrentsCount = function() {
Expand Down
5 changes: 0 additions & 5 deletions js/services/SettingsService.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,11 +156,6 @@ DuckieTV.factory('SettingsService', ['$injector', 'availableLanguageKeys', 'cust
'mirror.TorrentDownloads': 'https://www.torrentdownloads.pro',
'mirror.TGx': 'https://torrentgalaxy.to',
'notifications.enabled': true, // chrome notifications for download started/finished
'qbittorrent.password': 'admin',
'qbittorrent.port': 8080,
'qbittorrent.server': 'http://localhost',
'qbittorrent.use_auth': true,
'qbittorrent.username': 'admin',
'qbittorrent32plus.password': 'admin',
'qbittorrent32plus.port': 8080,
'qbittorrent32plus.server': 'http://localhost',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
* qBittorrent
*
* API Docs:
* https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation
* https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-Documentation (appears to have been deleted)
*
* Works for both 3.2+ and below.
* base qBt support, for 4.1+
*
* - Does not support setting the download directory
* - Does not support setting the label
Expand All @@ -18,28 +18,7 @@ qBittorrentData.extends(TorrentData, {
return this.name
},
getDownloadSpeed: function() {
if (typeof this.dlspeed === 'string') {
// qBitTorrent < 3.2
var rate = parseInt(this.dlspeed.split(' ')[0])
var units = this.dlspeed.split(' ')[1]
switch (units) {
case 'KiB/s':
rate = rate * 1024
break
case 'MiB/s':
rate = rate * 1024 * 1024
break
case 'GiB/s':
rate = rate * 1024 * 1024 * 1024
break
case 'B/s':
default:
}
} else {
// qBitTorrent 3.2+
rate = this.dlspeed
}
return rate // Bytes/second
return this.dlspeed // Bytes/second
},
getProgress: function() {
return this.round(this.progress * 100, 1)
Expand Down Expand Up @@ -72,7 +51,7 @@ qBittorrentData.extends(TorrentData, {
})

/**
* qBittorrent < 3.2 client
* qBittorrent client
*/
DuckieTorrent.factory('qBittorrentRemote', ['BaseTorrentRemote',
function(BaseTorrentRemote) {
Expand Down Expand Up @@ -223,7 +202,7 @@ DuckieTorrent.factory('qBittorrentRemote', ['BaseTorrentRemote',
qBittorrent.extends(BaseTorrentClient, {})

var service = new qBittorrent()
service.setName('qBittorrent (pre3.2)')
service.setName('qBittorrent')
service.setAPI(new qBittorrentAPI())
service.setRemote(new qBittorrentRemote())
service.setConfigMappings({
Expand All @@ -249,11 +228,3 @@ DuckieTorrent.factory('qBittorrentRemote', ['BaseTorrentRemote',
return service
}
])

.run(['DuckieTorrent', 'qBittorrent', 'SettingsService',
function(DuckieTorrent, qBittorrent, SettingsService) {
if (SettingsService.get('torrenting.enabled')) {
DuckieTorrent.register('qBittorrent (pre3.2)', qBittorrent)
}
}
])
Loading

0 comments on commit 9c64bbb

Please sign in to comment.