Merge pull request #1256 from abeloin/patch-transmission_rpc

Added custom rpc url for transmission
This commit is contained in:
echel0n 2015-01-29 14:44:12 -08:00
commit 1f00a5a295
6 changed files with 34 additions and 4 deletions

View File

@ -454,6 +454,18 @@
</span>
</label>
</div>
<div class="field-pair" id="torrent_rpcurl_option">
<label>
<span class="component-title" id="rpcurl_title">Torrent RPC URL</span>
<span class="component-desc">
<input type="text" name="torrent_rpcurl" id="torrent_rpcurl" value="$sickbeard.TORRENT_RPCURL" class="form-control input-sm input350"/>
<div class="clear-left">
<p id="rpcurl_desc_">The path without leading and trailing slashes (e.g. transmission)</p>
</div>
</span>
</label>
</div>
<div class="field-pair" id="torrent_verify_cert_option">
<label for="torrent_verify_cert">

View File

@ -47,6 +47,7 @@ $(document).ready(function(){
directory = ' directory',
client = '',
option_panel = '#options_torrent_blackhole';
rpcurl = ' RPC URL'
if ('blackhole' != selectedProvider) {
var label_warning_deluge = '#label_warning_deluge',
@ -76,6 +77,7 @@ $(document).ready(function(){
$(torrent_label_anime_option).show();
$(path_synology).hide();
$(torrent_paused_option).show();
$(torrent_rpcurl_option).hide();
if ('utorrent' == selectedProvider) {
client = 'uTorrent';
@ -87,6 +89,7 @@ $(document).ready(function(){
$(torrent_high_bandwidth_option).show();
$(torrent_label_option).hide();
$(torrent_label_anime_option).hide();
$(torrent_rpcurl_option).show();
//$('#directory_title').text(client + directory);
} else if ('deluge' == selectedProvider){
client = 'Deluge';
@ -113,6 +116,7 @@ $(document).ready(function(){
$('#username_title').text(client + username);
$('#password_title').text(client + password);
$('#torrent_client').text(client);
$('#rpcurl_title').text(client + rpcurl);
option_panel = '#options_torrent_clients';
}
$(option_panel).show();

View File

@ -286,6 +286,7 @@ TORRENT_HIGH_BANDWIDTH = False
TORRENT_LABEL = ''
TORRENT_LABEL_ANIME = ''
TORRENT_VERIFY_CERT = False
TORRENT_RPCURL = 'transmission'
USE_KODI = False
KODI_ALWAYS_ON = True
@ -499,7 +500,7 @@ def initialize(consoleLogging=True):
HANDLE_REVERSE_PROXY, USE_NZBS, USE_TORRENTS, NZB_METHOD, NZB_DIR, DOWNLOAD_PROPERS, RANDOMIZE_PROVIDERS, CHECK_PROPERS_INTERVAL, ALLOW_HIGH_PRIORITY, TORRENT_METHOD, \
SAB_USERNAME, SAB_PASSWORD, SAB_APIKEY, SAB_CATEGORY, SAB_CATEGORY_ANIME, SAB_HOST, \
NZBGET_USERNAME, NZBGET_PASSWORD, NZBGET_CATEGORY, NZBGET_CATEGORY_ANIME, NZBGET_PRIORITY, NZBGET_HOST, NZBGET_USE_HTTPS, backlogSearchScheduler, \
TORRENT_USERNAME, TORRENT_PASSWORD, TORRENT_HOST, TORRENT_PATH, TORRENT_SEED_TIME, TORRENT_PAUSED, TORRENT_HIGH_BANDWIDTH, TORRENT_LABEL, TORRENT_LABEL_ANIME, TORRENT_VERIFY_CERT, \
TORRENT_USERNAME, TORRENT_PASSWORD, TORRENT_HOST, TORRENT_PATH, TORRENT_SEED_TIME, TORRENT_PAUSED, TORRENT_HIGH_BANDWIDTH, TORRENT_LABEL, TORRENT_LABEL_ANIME, TORRENT_VERIFY_CERT, TORRENT_RPCURL, \
USE_KODI, KODI_ALWAYS_ON, KODI_NOTIFY_ONSNATCH, KODI_NOTIFY_ONDOWNLOAD, KODI_NOTIFY_ONSUBTITLEDOWNLOAD, KODI_UPDATE_FULL, KODI_UPDATE_ONLYFIRST, \
KODI_UPDATE_LIBRARY, KODI_HOST, KODI_USERNAME, KODI_PASSWORD, BACKLOG_FREQUENCY, \
USE_TRAKT, TRAKT_USERNAME, TRAKT_PASSWORD, TRAKT_API, TRAKT_REMOVE_WATCHLIST, TRAKT_USE_WATCHLIST, TRAKT_METHOD_ADD, TRAKT_START_PAUSED, traktCheckerScheduler, TRAKT_USE_RECOMMENDED, TRAKT_SYNC, TRAKT_DEFAULT_INDEXER, TRAKT_REMOVE_SERIESLIST, \
@ -808,6 +809,7 @@ def initialize(consoleLogging=True):
TORRENT_LABEL = check_setting_str(CFG, 'TORRENT', 'torrent_label', '')
TORRENT_LABEL_ANIME = check_setting_str(CFG, 'TORRENT', 'torrent_label_anime', '')
TORRENT_VERIFY_CERT = bool(check_setting_int(CFG, 'TORRENT', 'torrent_verify_cert', 0))
TORRENT_RPCURL = check_setting_str(CFG, 'TORRENT', 'torrent_rpcurl', 'transmission')
USE_KODI = bool(check_setting_int(CFG, 'KODI', 'use_kodi', 0))
KODI_ALWAYS_ON = bool(check_setting_int(CFG, 'KODI', 'kodi_always_on', 1))
@ -1669,6 +1671,7 @@ def save_config():
new_config['TORRENT']['torrent_label'] = TORRENT_LABEL
new_config['TORRENT']['torrent_label_anime'] = TORRENT_LABEL_ANIME
new_config['TORRENT']['torrent_verify_cert'] = int(TORRENT_VERIFY_CERT)
new_config['TORRENT']['torrent_rpcurl'] = TORRENT_RPCURL
new_config['KODI'] = {}
new_config['KODI']['use_kodi'] = int(USE_KODI)

View File

@ -18,6 +18,7 @@ class GenericClient(object):
self.username = sickbeard.TORRENT_USERNAME if username is None else username
self.password = sickbeard.TORRENT_PASSWORD if password is None else password
self.host = sickbeard.TORRENT_HOST if host is None else host
self.rpcurl = sickbeard.TORRENT_RPCURL
self.url = None
self.response = None

View File

@ -30,7 +30,16 @@ class TransmissionAPI(GenericClient):
super(TransmissionAPI, self).__init__('Transmission', host, username, password)
self.url = self.host + 'transmission/rpc'
if not self.host.endswith('/'):
self.host = self.host + '/'
if self.rpcurl.startswith('/'):
self.rpcurl = self.rpcurl[1:]
if self.rpcurl.endswith('/'):
self.rpcurl = self.rpcurl[:-1]
self.url = self.host + self.rpcurl + '/rpc'
def _get_auth(self):

View File

@ -3633,8 +3633,8 @@ class ConfigSearch(Config):
randomize_providers=None, backlog_startup=None, dailysearch_startup=None,
torrent_dir=None, torrent_username=None, torrent_password=None, torrent_host=None,
torrent_label=None, torrent_label_anime=None, torrent_path=None, torrent_verify_cert=None,
torrent_seed_time=None, torrent_paused=None, torrent_high_bandwidth=None, ignore_words=None,
require_words=None):
torrent_seed_time=None, torrent_paused=None, torrent_high_bandwidth=None,
torrent_rpcurl=None, ignore_words=None, require_words=None):
results = []
@ -3694,6 +3694,7 @@ class ConfigSearch(Config):
sickbeard.TORRENT_PAUSED = config.checkbox_to_value(torrent_paused)
sickbeard.TORRENT_HIGH_BANDWIDTH = config.checkbox_to_value(torrent_high_bandwidth)
sickbeard.TORRENT_HOST = config.clean_url(torrent_host)
sickbeard.TORRENT_RPCURL = torrent_rpcurl
sickbeard.save_config()