mirror of
https://github.com/moparisthebest/SickRage
synced 2024-11-11 03:45:01 -05:00
000467cc73
Added gui for selecting categories from multiselect box. Created some helper function in js, for dynamically modifying selects/options Made results of function for retrieving newznab capabilities more generic. In that now always a valid json is returned with success,tv_categories,error Added gui elements for retrieving and displaying newznab capabilities Added backend functions for calling ajax /getNewznabCategories?name=yourNewznabProvider&url=https://newznabprovURL&key=YourApiKey Returns json.dumps() with TV category capabilities of newznab provider. Is going to be used for new gui element in adding newsnab provider.
676 lines
41 KiB
Cheetah
676 lines
41 KiB
Cheetah
#import sickbeard
|
|
#from sickbeard.providers.generic import GenericProvider
|
|
#from sickbeard.providers import thepiratebay
|
|
#set global $title="Config - Providers"
|
|
#set global $header="Search Providers"
|
|
|
|
#set global $sbPath="../.."
|
|
|
|
#set global $topmenu="config"#
|
|
#import os.path
|
|
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
|
|
#if $varExists('header')
|
|
<h1 class="header">$header</h1>
|
|
#else
|
|
<h1 class="title">$title</h1>
|
|
#end if
|
|
<script type="text/javascript" src="$sbRoot/js/configProviders.js?$sbPID"></script>
|
|
<script type="text/javascript" src="$sbRoot/js/config.js?$sbPID"></script>
|
|
#if $sickbeard.USE_NZBS
|
|
<script type="text/javascript" charset="utf-8">
|
|
<!--
|
|
\$(document).ready(function(){
|
|
var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
|
|
#for $curNewznabProvider in $sickbeard.newznabProviderList:
|
|
\$(this).addProvider('$curNewznabProvider.getID()', '$curNewznabProvider.name', '$curNewznabProvider.url', '$curNewznabProvider.key', '$curNewznabProvider.catIDs', $int($curNewznabProvider.default), show_nzb_providers);
|
|
#end for
|
|
});
|
|
//-->
|
|
</script>
|
|
#end if
|
|
|
|
#if $sickbeard.USE_TORRENTS
|
|
<script type="text/javascript" charset="utf-8">
|
|
<!--
|
|
\$(document).ready(function(){
|
|
#for $curTorrentRssProvider in $sickbeard.torrentRssProviderList:
|
|
\$(this).addTorrentRssProvider('$curTorrentRssProvider.getID()', '$curTorrentRssProvider.name', '$curTorrentRssProvider.url', '$curTorrentRssProvider.cookies');
|
|
#end for
|
|
});
|
|
//-->
|
|
</script>
|
|
#end if
|
|
|
|
<div id="config">
|
|
<div id="config-content">
|
|
|
|
<form id="configForm" action="saveProviders" method="post">
|
|
|
|
<div id="config-components">
|
|
<ul>
|
|
<li><a href="#core-component-group1">Provider Priorities</a></li>
|
|
<li><a href="#core-component-group2">Configure Built-In Providers</a></li>
|
|
#if $sickbeard.USE_NZBS
|
|
<li><a href="#core-component-group3">Configure Custom Newznab Providers</a></li>
|
|
#end if
|
|
#if $sickbeard.USE_TORRENTS
|
|
<li><a href="#core-component-group4">Configure Custom Torrent Providers</a></li>
|
|
#end if
|
|
</ul>
|
|
|
|
<div id="core-component-group1" class="component-group clearfix">
|
|
|
|
<div class="component-group-desc">
|
|
<h3>Provider Priorities</h3>
|
|
<p>Check off, configure and drag the providers into the order you want them to be used.</p>
|
|
<p>At least one provider is required but two are recommended.</p>
|
|
|
|
#if not $sickbeard.USE_NZBS or not $sickbeard.USE_TORRENTS:
|
|
<blockquote style="margin: 20px 0;">NZB/Torrent providers can be toggled in <b><a href="$sbRoot/config/search">Search Settings</a></b></blockquote>
|
|
#else:
|
|
<br/>
|
|
#end if
|
|
|
|
<div>
|
|
<h4 class="note">*</h4><p class="note">Provider does not support backlog searches at this time.</p>
|
|
<h4 class="note">**</h4><p class="note">Provider supports <b>limited</b> backlog searches, all episodes/qualities may not be available.</p>
|
|
<h4 class="note">!</h4><p class="note">Provider is <b>NOT WORKING</b>.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<fieldset class="component-group-list" style="margin-left: 50px; margin-top:36px">
|
|
<ul id="provider_order_list">
|
|
#for $curProvider in $sickbeard.providers.sortedProviderList():
|
|
#if $curProvider.providerType == $GenericProvider.NZB and not $sickbeard.USE_NZBS:
|
|
#continue
|
|
#elif $curProvider.providerType == $GenericProvider.TORRENT and not $sickbeard.USE_TORRENTS:
|
|
#continue
|
|
#end if
|
|
#set $curName = $curProvider.getID()
|
|
<li class="ui-state-default" id="$curName">
|
|
<input type="checkbox" id="enable_$curName" class="provider_enabler" #if $curProvider.isEnabled() then "checked=\"checked\"" else ""#/>
|
|
<a href="$curProvider.url" class="imgLink" rel="noreferrer" onclick="window.open('${sickbeard.ANON_REDIRECT}' + this.href, '_blank'); return false;"><img src="$sbRoot/images/providers/$curProvider.imageName()" alt="$curProvider.name" title="$curProvider.name" width="16" height="16" /></a>
|
|
$curProvider.name
|
|
#if not $curProvider.supportsBacklog then "*" else ""#
|
|
#if $curProvider.name == "EZRSS" then "**" else ""#
|
|
<span class="ui-icon ui-icon-arrowthick-2-n-s pull-right"></span>
|
|
</li>
|
|
#end for
|
|
</ul>
|
|
<input type="hidden" name="provider_order" id="provider_order" value="<%=" ".join([x.getID()+':'+str(int(x.isEnabled())) for x in sickbeard.providers.sortedProviderList()])%>"/>
|
|
<br/><input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
|
|
</fieldset>
|
|
</div><!-- /component-group1 //-->
|
|
|
|
<div id="core-component-group2" class="component-group clearfix">
|
|
|
|
<div class="component-group-desc">
|
|
<h3>Configure Built-In<br />Providers</h3>
|
|
<p>Check with provider's website on how to obtain an API key if needed.</p>
|
|
</div>
|
|
|
|
<fieldset class="component-group-list">
|
|
<div class="field-pair">
|
|
<label class="clearfix" for="editAProvider">
|
|
<span class="component-title jumbo">Configure Provider:</span>
|
|
<span class="component-desc">
|
|
#set $provider_config_list = []
|
|
#for $curProvider in $sickbeard.providers.sortedProviderList():
|
|
#if $curProvider.providerType == $GenericProvider.NZB and not $sickbeard.USE_NZBS:
|
|
#continue
|
|
#elif $curProvider.providerType == $GenericProvider.TORRENT and not $sickbeard.USE_TORRENTS:
|
|
#continue
|
|
#end if
|
|
$provider_config_list.append($curProvider)
|
|
#end for
|
|
|
|
#if $provider_config_list:
|
|
<select id="editAProvider">
|
|
#for $cur_provider in $provider_config_list + [$curProvider for $curProvider in $sickbeard.newznabProviderList if $sickbeard.USE_NZBS]:
|
|
<option value="$cur_provider.getID()">$cur_provider.name</option>
|
|
#end for
|
|
</select>
|
|
#else:
|
|
No providers available to configure.
|
|
#end if
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
|
|
<!-- start div for editing providers //-->
|
|
#for $curNewznabProvider in [$curProvider for $curProvider in $sickbeard.newznabProviderList]:
|
|
<div class="providerDiv" id="${curNewznabProvider.getID()}Div">
|
|
#if $curNewznabProvider.default and $curNewznabProvider.needs_auth
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title">URL:</span>
|
|
<input class="component-desc" type="text" id="${curNewznabProvider.getID()}_url" value="$curNewznabProvider.url" size="40" disabled/>
|
|
</label>
|
|
</div>
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title">API Key:</span>
|
|
<input class="component-desc newznab_key" type="text" id="${curNewznabProvider.getID()}_hash" value="$curNewznabProvider.key" newznab_name="${curNewznabProvider.getID()}_hash" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curNewznabProvider, 'enable_daily'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curNewznabProvider.getID()}_enable_daily" id="${curNewznabProvider.getID()}_enable_daily" #if $curNewznabProvider.enable_daily then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curNewznabProvider.getID()}_enable_daily">
|
|
<span class="component-title">Enable Daily Searches</span>
|
|
<span class="component-desc">
|
|
Enables daily searches</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curNewznabProvider, 'enable_backlog'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curNewznabProvider.getID()}_enable_backlog" id="${curNewznabProvider.getID()}_enable_backlog" #if $curNewznabProvider.enable_backlog then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curNewznabProvider.getID()}_enable_backlog">
|
|
<span class="component-title">Enable Backlog Searches</span>
|
|
<span class="component-desc">
|
|
Enables backlog searches</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curNewznabProvider, 'search_fallback'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curNewznabProvider.getID()}_search_fallback" id="${curNewznabProvider.getID()}_search_fallback" #if $curNewznabProvider.search_fallback then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curNewznabProvider.getID()}_search_fallback">
|
|
<span class="component-title">Season Search Fallback</span>
|
|
<span class="component-desc">
|
|
When searching for a complete season<br>
|
|
depending on search mode you may return<br>
|
|
no results, this helps by restarting the<br>
|
|
search using the opposite search mode.</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curNewznabProvider, 'search_mode'):
|
|
<div class="field-pair">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">Season Search Mode</span>
|
|
<span class="component-desc">
|
|
When searching for complete seasons<br>
|
|
you can choose to have it look for season<br>
|
|
packs ONLY or choose to have it build a<br>
|
|
complete season from just single episodes.<br></span>
|
|
|
|
<span class="component-title"></span>
|
|
<input type="radio" name="${curNewznabProvider.getID()}_search_mode" id="${curNewznabProvider.getID()}_search_mode_sponly" value="sponly" class="radio" #if $curNewznabProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />Season Packs ONLY!<br />
|
|
<span class="component-title"></span>
|
|
<input type="radio" name="${curNewznabProvider.getID()}_search_mode" id="${curNewznabProvider.getID()}_search_mode_eponly" value="eponly" class="radio" #if $curNewznabProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />Episodes ONLY!<br />
|
|
</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
</div>
|
|
#end for
|
|
|
|
#for $curNzbProvider in [$curProvider for $curProvider in $sickbeard.providers.sortedProviderList() if $curProvider.providerType == $GenericProvider.NZB]:
|
|
<div class="providerDiv" id="${curNzbProvider.getID()}Div">
|
|
#if $hasattr($curNzbProvider, 'username'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title">UserName:</span>
|
|
<input class="component-desc" type="text" name="${curNzbProvider.getID()}_username" value="$curNzbProvider.username" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curNzbProvider, 'api_key'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title">API Key:</span>
|
|
<input class="component-desc" type="text" name="${curNzbProvider.getID()}_api_key" value="$curNzbProvider.api_key" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curNzbProvider, 'enable_daily'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curNzbProvider.getID()}_enable_daily" id="${curNzbProvider.getID()}_enable_daily" #if $curNzbProvider.enable_daily then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curNzbProvider.getID()}_enable_daily">
|
|
<span class="component-title">Enable Daily Searches</span>
|
|
<span class="component-desc">
|
|
Enables daily searches</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curNzbProvider, 'enable_backlog'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curNzbProvider.getID()}_enable_backlog" id="${curNzbProvider.getID()}_enable_backlog" #if $curNzbProvider.enable_backlog then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curNzbProvider.getID()}_enable_backlog">
|
|
<span class="component-title">Enable Backlog Searches</span>
|
|
<span class="component-desc">
|
|
Enables backlog searches</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curNzbProvider, 'search_fallback'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curNzbProvider.getID()}_search_fallback" id="${curNzbProvider.getID()}_search_fallback" #if $curNzbProvider.search_fallback then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curNzbProvider.getID()}_search_fallback">
|
|
<span class="component-title">Season Search Fallback</span>
|
|
<span class="component-desc">
|
|
When searching for a complete season<br>
|
|
depending on search mode you may return<br>
|
|
no results, this helps by restarting the<br>
|
|
search using the opposite search mode.</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curNzbProvider, 'search_mode'):
|
|
<div class="field-pair">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">Season Search Mode</span>
|
|
<span class="component-desc">
|
|
When searching for complete seasons<br>
|
|
you can choose to have it look for season<br>
|
|
packs ONLY or choose to have it build a<br>
|
|
complete season from just single episodes.</span>
|
|
|
|
<span class="component-title"></span>
|
|
<input type="radio" name="${curNzbProvider.getID()}_search_mode" id="${curNzbProvider.getID()}_search_mode_sponly" value="sponly" class="radio" #if $curNzbProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />Season Packs ONLY!<br />
|
|
<span class="component-title"></span>
|
|
<input type="radio" name="${curNzbProvider.getID()}_search_mode" id="${curNzbProvider.getID()}_search_mode_eponly" value="eponly" class="radio" #if $curNzbProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />Episodes ONLY!<br />
|
|
</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
</div>
|
|
#end for
|
|
|
|
#for $curTorrentProvider in [$curProvider for $curProvider in $sickbeard.providers.sortedProviderList() if $curProvider.providerType == $GenericProvider.TORRENT]:
|
|
<div class="providerDiv" id="${curTorrentProvider.getID()}Div">
|
|
#if $hasattr($curTorrentProvider, 'api_key'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title">Api Key:</span>
|
|
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_api_key" id="${curTorrentProvider.getID()}_api_key" value="$curTorrentProvider.api_key" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'digest'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title">Digest:</span>
|
|
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_digest" id="${curTorrentProvider.getID()}_digest" value="$curTorrentProvider.digest" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'hash'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title">Hash:</span>
|
|
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_hash" id="${curTorrentProvider.getID()}_hash" value="$curTorrentProvider.hash" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'options'):
|
|
<div style="width: 340px; padding-bottom: 10px !important;">
|
|
<input type="hidden" id="tvtorrents_option_string" />
|
|
<fieldset style="display: block; border-width: 1px !important; border-radius: 5px !important; border-color: #D0D0D0 !important; border-style: solid !important;">
|
|
<legend id="seed_options">Advanced Options</legend>
|
|
<div class="field-pair" style="margin-top: -2px !important;">
|
|
<label class="clearfix" >
|
|
<span class="component-title" style="width: 130px !important;">Seeding Goal Ratio(%):</span>
|
|
<input class="seed_option" type="text" id="tvtorrents_seed_ratio" size="5" style="margin-left: -5px !important;"/>
|
|
</label>
|
|
</div>
|
|
<div class="field-pair" style="margin-top: -10px !important;">
|
|
<label class="clearfix">
|
|
<span class="component-title" style="width: 130px !important;">Seeding Goal Time(h):</span>
|
|
<input class="seed_option" type="text" id="tvtorrents_seed_time" size="5" style="margin-left: -5px !important;" />
|
|
</label>
|
|
</div>
|
|
<div style="display: block; text-align: center;margin-top: -10px !important;" class="float-left">
|
|
<label class="clearfix">
|
|
<span class="component-title" style="margin-left: -49px !important; width: 201px !important;">Process Method:</span>
|
|
<select class="seed_option" id="tvtorrents_process_method" class="input-medium" >
|
|
#set $process_method_text = {'': "", 'copy': "Copy", 'move': "Move", 'hardlink': "Hard Link", 'symlink' : "Symbolic Link"}
|
|
#for $curAction in ('', 'copy', 'move', 'hardlink', 'symlink'):
|
|
#set $process_method = ""
|
|
<option class="seed_option" value="$curAction" $process_method>$process_method_text[$curAction]</option>
|
|
#end for
|
|
</select>
|
|
</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'username'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title">Username:</span>
|
|
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_username" id="${curTorrentProvider.getID()}_username" value="$curTorrentProvider.username" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'password'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title">Password:</span>
|
|
<input class="component-desc" type="password" name="${curTorrentProvider.getID()}_password" id="${curTorrentProvider.getID()}_password" value="$curTorrentProvider.password" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'passkey'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title">Passkey:</span>
|
|
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_passkey" id="${curTorrentProvider.getID()}_passkey" value="$curTorrentProvider.passkey" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'ratio'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title" id="${curTorrentProvider.getID()}_ratio_desc">Seed Ratio:</span>
|
|
<input type="number" step="0.1" name="${curTorrentProvider.getID()}_ratio" id="${curTorrentProvider.getID()}_ratio" value="$curTorrentProvider.ratio" size="2" />
|
|
</label>
|
|
<label class="clearfix">
|
|
<span class="component-title"> </span>
|
|
<span class="component-desc">
|
|
Stop transfer when reaching ratio<br>
|
|
(-1 SickRage default to seed forever)<br>
|
|
(leave blank for downloader default)</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'minseed'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title" id="${curTorrentProvider.getID()}_minseed_desc">Min Seeders:</span>
|
|
<input type="number" name="${curTorrentProvider.getID()}_minseed" id="${curTorrentProvider.getID()}_minseed" value="$curTorrentProvider.minseed" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'minleech'):
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title" id="${curTorrentProvider.getID()}_minleech_desc">Min Leechers:</span>
|
|
<input type="number" name="${curTorrentProvider.getID()}_minleech" id="${curTorrentProvider.getID()}_minleech" value="$curTorrentProvider.minleech" size="40" />
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'proxy'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" class="enabler" name="${curTorrentProvider.getID()}_proxy" id="${curTorrentProvider.getID()}_proxy" #if $curTorrentProvider.proxy.enabled then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix">
|
|
<span class="component-title">Access Provider via Proxy</span>
|
|
<span class="component-desc">To bypass Country Blocking Mechanism</span>
|
|
</label>
|
|
</div>
|
|
|
|
#if $hasattr($curTorrentProvider.proxy, 'url'):
|
|
<div class="field-pair content_${curTorrentProvider.getID()}_proxy" id="content_${curTorrentProvider.getID()}_proxy">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">Proxy URL:</span>
|
|
<span class="component-desc">
|
|
<select name="${curTorrentProvider.getID()}_proxy_url" id="${curTorrentProvider.getID()}_proxy_url">
|
|
#for $i in $curTorrentProvider.proxy.urls.keys():
|
|
<option value="$curTorrentProvider.proxy.urls[$i]" #if $curTorrentProvider.proxy.urls[$i] == $curTorrentProvider.proxy.url then "selected=\"selected\"" else ""#>$i</option>
|
|
#end for
|
|
</select>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'confirmed'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curTorrentProvider.getID()}_confirmed" id="${curTorrentProvider.getID()}_confirmed" #if $curTorrentProvider.confirmed then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curTorrentProvider.getID()}_confirmed">
|
|
<span class="component-title">Confirmed Download</span>
|
|
<span class="component-desc">Download torrent only from trusted/verified uploaders?</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'freeleech'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curTorrentProvider.getID()}_freeleech" id="${curTorrentProvider.getID()}_freeleech" #if $curTorrentProvider.freeleech then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curTorrentProvider.getID()}_freeleech">
|
|
<span class="component-title">FreeLeech</span>
|
|
<span class="component-desc">This will only download <b>[FreeLeech]</b> torrents.</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'enable_daily'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curTorrentProvider.getID()}_enable_daily" id="${curTorrentProvider.getID()}_enable_daily" #if $curTorrentProvider.enable_daily then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curTorrentProvider.getID()}_enable_daily">
|
|
<span class="component-title">Enable Daily Searches</span>
|
|
<span class="component-desc">
|
|
Enables daily searches</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'enable_backlog'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curTorrentProvider.getID()}_enable_backlog" id="${curTorrentProvider.getID()}_enable_backlog" #if $curTorrentProvider.enable_backlog then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curTorrentProvider.getID()}_enable_backlog">
|
|
<span class="component-title">Enable Backlog Searches</span>
|
|
<span class="component-desc">
|
|
Enables backlog searches</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'search_fallback'):
|
|
<div class="field-pair">
|
|
<input type="checkbox" name="${curTorrentProvider.getID()}_search_fallback" id="${curTorrentProvider.getID()}_search_fallback" #if $curTorrentProvider.search_fallback then "checked=\"checked\"" else ""#/>
|
|
<label class="clearfix" for="${curTorrentProvider.getID()}_search_fallback">
|
|
<span class="component-title">Season Search Fallback</span>
|
|
<span class="component-desc">
|
|
When searching for a complete season<br>
|
|
depending on search mode you may return<br>
|
|
no results, this helps by restarting the<br>
|
|
search using the opposite search mode.</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
#if $hasattr($curTorrentProvider, 'search_mode'):
|
|
<div class="field-pair">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">Season Search Mode</span>
|
|
<span class="component-desc">
|
|
When searching for complete seasons<br>
|
|
you can choose to have it look for season<br>
|
|
packs ONLY or choose to have it build a<br>
|
|
complete season from just single episodes.</span>
|
|
|
|
<span class="component-title"></span>
|
|
<input type="radio" name="${curTorrentProvider.getID()}_search_mode" id="${curTorrentProvider.getID()}_search_mode_sponly" value="sponly" class="radio" #if $curTorrentProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />Season Packs ONLY!<br />
|
|
<span class="component-title"></span>
|
|
<input type="radio" name="${curTorrentProvider.getID()}_search_mode" id="${curTorrentProvider.getID()}_search_mode_eponly" value="eponly" class="radio" #if $curTorrentProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />Episodes ONLY!<br />
|
|
</span>
|
|
</label>
|
|
</div>
|
|
#end if
|
|
|
|
|
|
</div>
|
|
#end for
|
|
|
|
|
|
<!-- end div for editing providers -->
|
|
|
|
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
|
|
|
|
</fieldset>
|
|
</div><!-- /component-group2 //-->
|
|
|
|
#if $sickbeard.USE_NZBS
|
|
<div id="core-component-group3" class="component-group clearfix">
|
|
|
|
<div class="component-group-desc">
|
|
<h3>Configure Custom<br />Newznab Providers</h3>
|
|
<p>Add and setup custom Newznab providers.</p>
|
|
<p>Some built-in Newznab providers are already available above.</p>
|
|
</div>
|
|
|
|
<fieldset class="component-group-list">
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title jumbo">Select Provider:</span>
|
|
<span class="component-desc">
|
|
<input type="hidden" name="newznab_string" id="newznab_string" />
|
|
<select id="editANewznabProvider">
|
|
<option value="addNewznab">-- add new provider --</option>
|
|
</select>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="newznabProviderDiv" id="addNewznab">
|
|
<div class="field-pair">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">Provider Name</span>
|
|
<input class="component-desc" type="text" id="newznab_name" size="40" />
|
|
</label>
|
|
</div>
|
|
<div class="field-pair">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">Site URL</span>
|
|
<input class="component-desc" type="text" id="newznab_url" size="40" />
|
|
</label>
|
|
</div>
|
|
<div class="field-pair">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">API Key</span>
|
|
<input class="component-desc" type="text" id="newznab_key" size="40" />
|
|
</label>
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title"> </span>
|
|
<span class="component-desc">(if not required, type 0)</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="field-pair">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">NewzNab search categories</span>
|
|
<select id="newznab_cap" multiple="multiple" style="min-width:10em;" >
|
|
</select>
|
|
<select id="newznab_cat" multiple="multiple" style="min-width:10em;" >
|
|
</select>
|
|
</label>
|
|
<label class="clearfix">
|
|
<span class="component-title"> </span>
|
|
<span class="component-desc">(Select your Newznab categories on the left, and click the "update categories" button to use them for searching.)
|
|
Don't forget to to save the form!</span>
|
|
|
|
</label>
|
|
<input class="btn" type="button" class="newznab_cat_update" id="newznab_cat_update" value="Update Categories" />
|
|
</div>
|
|
|
|
<div id="newznab_add_div">
|
|
<input class="btn" type="button" class="newznab_save" id="newznab_add" value="Add" />
|
|
</div>
|
|
<div id="newznab_update_div" style="display: none;">
|
|
<input class="btn btn-danger newznab_delete" type="button" class="newznab_delete" id="newznab_delete" value="Delete" />
|
|
</div>
|
|
</div>
|
|
|
|
</fieldset>
|
|
</div><!-- /component-group3 //-->
|
|
#end if
|
|
|
|
#if $sickbeard.USE_TORRENTS:
|
|
|
|
<div id="core-component-group4" class="component-group clearfix">
|
|
|
|
<div class="component-group-desc">
|
|
<h3>Configure Custom Torrent Providers</h3>
|
|
<p>Add and setup custom RSS providers.</p>
|
|
<p> </p>
|
|
</div>
|
|
|
|
<fieldset class="component-group-list">
|
|
<div class="field-pair">
|
|
<label class="clearfix">
|
|
<span class="component-title jumbo">Select Provider:</span>
|
|
<span class="component-desc">
|
|
<input type="hidden" name="torrentrss_string" id="torrentrss_string" />
|
|
<select id="editATorrentRssProvider">
|
|
<option value="addTorrentRss">-- add new provider --</option>
|
|
</select>
|
|
</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="torrentRssProviderDiv" id="addTorrentRss">
|
|
<div class="field-pair">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">Provider Name:</span>
|
|
<input class="component-desc" type="text" id="torrentrss_name" size="20" />
|
|
</label>
|
|
</div>
|
|
<div class="field-pair">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">RSS URL:</span>
|
|
<input class="component-desc" type="text" id="torrentrss_url" size="40" />
|
|
</label>
|
|
</div>
|
|
<div class="field-pair">
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title">Cookies:</span>
|
|
<input class="component-desc" type="text" id="torrentrss_cookies" size="40" />
|
|
</label>
|
|
<label class="nocheck clearfix">
|
|
<span class="component-title"> </span>
|
|
<span class="component-desc">eg. uid=xx;pass=yy</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div id="torrentrss_add_div">
|
|
<input type="button" class="btn torrentrss_save" id="torrentrss_add" value="Add" />
|
|
</div>
|
|
<div id="torrentrss_update_div" style="display: none;">
|
|
<input type="button" class="btn btn-danger torrentrss_delete" id="torrentrss_delete" value="Delete" />
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div><!-- /component-group4 //-->
|
|
#end if
|
|
|
|
<br/><input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
|
|
|
|
</div><!-- /config-components //-->
|
|
|
|
</form>
|
|
</div></div>
|
|
<div class="clearfix"></div>
|
|
<script type="text/javascript" charset="utf-8">
|
|
<!--
|
|
jQuery('#config-components').tabs();
|
|
//-->
|
|
</script>
|
|
#include $os.path.join($sickbeard.PROG_DIR,"gui/slick/interfaces/default/inc_bottom.tmpl")
|