SickGear/gui/slick/interfaces/default/config_search.tmpl
JackDandy eac69963f0 Change validate and improve specific Torrent provider connections, IPT, KAT, SCC, TPB, TB, TD, TT.
Change refactor cache for torrent providers to reduce code.
Change improve search category selection BMTV, FSH, FF, TB.
Change identify more SD release qualities.
Change update SpeedCD, MoreThan, TVChaosuk.
Add torrent provider HD4Free.
Remove torrent provider BitSoup.
Change only create threads for providers needing a recent search instead of for all enabled.
Add 4489 as experimental value to "Recent search frequency" to use provider freqs instead of fixed width for all.
Fix searching nzb season packs.
Change remove some logging cruft.
2016-06-08 01:55:13 +01:00

556 lines
23 KiB
Cheetah
Executable file

#import sickbeard
#from sickbeard import clients
#from sickbeard.helpers import starify
##
#set global $title = 'Config - Episode Search'
#set global $header = 'Search Settings'
#set global $sbPath = '../..'
#set global $topmenu = 'config'
##
#import os.path
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl')
<script type="text/javascript" src="$sbRoot/js/configSearch.js?v=$sbPID"></script>
<script type="text/javascript" src="$sbRoot/js/config.js?v=$sbPID"></script>
#if $varExists('header')
<h1 class="header">$header</h1>
#else
<h1 class="title">$title</h1>
#end if
##
#set $html_selected = ' selected="selected"'
#set $html_checked = ' checked="checked"'
<div id="config">
<div id="config-content" class="linefix">
<form id="configForm" action="saveSearch" method="post">
<div id="config-components">
<ul>
<li><a href="#core-component-group1">Episode Search</a></li>
<li><a href="#core-component-group2">NZB Search</a></li>
<li><a href="#core-component-group3">Torrent Search</a></li>
</ul>
<div id="core-component-group1" class="component-group">
<div class="component-group-desc">
<h3>Episode Search</h3>
<p>How to manage searching with <a href="$sbRoot/config/providers/">providers</a>.</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label for="download_propers">
<span class="component-title">Download propers</span>
<span class="component-desc">
<input type="checkbox" name="download_propers" id="download_propers" class="enabler"<%= html_checked if sickbeard.DOWNLOAD_PROPERS == True else '' %>>
<p>replace original download with "Proper" or "Repack" if nuked</p>
</span>
</label>
</div>
<div id="content_download_propers">
<div class="field-pair">
<label for="check_propers_interval">
<span class="component-title">Check propers every:</span>
<span class="component-desc">
<select id="check_propers_interval" name="check_propers_interval" class="form-control input-sm">
#for $curKey, $curText, $void in $propers_intervals:
<option value="$curKey"#echo ('', $html_selected)[$sickbeard.CHECK_PROPERS_INTERVAL == $curKey]#>$curText</option>
#end for
</select>
</span>
</label>
</div>
</div>
<div class="field-pair">
<label>
<span class="component-title">Recent search frequency</span>
<span class="component-desc">
<input type="text" name="recentsearch_frequency" value="$sickbeard.RECENTSEARCH_FREQUENCY" class="form-control input-sm input75">
<p>minutes between checking recent updated shows (minimum $sickbeard.MIN_RECENTSEARCH_FREQUENCY)</p>
<p><em class="grey-text">enter 4489 for experimental internal provider frequencies</em></p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Limited backlog search</span>
<span class="component-desc">
<input type="text" name="backlog_days" value="$sickbeard.BACKLOG_DAYS" class="form-control input-sm input75">
<p>day(s) that the limited search will cover (e.g. 7)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Backlog search frequency</span>
<span class="component-desc">
<input type="text" name="backlog_frequency" value="$sickbeard.BACKLOG_FREQUENCY" class="form-control input-sm input75">
<p>days between full backlog searches (min $sickbeard.MIN_BACKLOG_FREQUENCY, default $sickbeard.DEFAULT_BACKLOG_FREQUENCY, max $sickbeard.MAX_BACKLOG_FREQUENCY)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Usenet retention</span>
<span class="component-desc">
<input type="text" name="usenet_retention" value="$sickbeard.USENET_RETENTION" class="form-control input-sm input75">
<p>age limit in days for usenet articles to be used (e.g. 500)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Ignore result with any word</span>
<span class="component-desc">
<input type="text" name="ignore_words" value="$sickbeard.IGNORE_WORDS" class="form-control input-sm input350"><p>(opt: start "regex:")</p>
<p class="clear-left note">ignore search result <em class="grey-text">if its title contains any</em> of these comma seperated words</p>
</span>
<span class="component-title">Shows with custom ignores</span>
<span class="component-desc">
#set $shows = []
#for $show in $using_rls_ignore_words
#set void = $shows.append('<a href="%s/home/editShow?show=%s" style="vertical-align:middle">%s</a>' % ($sbRoot, $show[0], $show[1]))
#end for
#if len($using_rls_ignore_words)
<p style="line-height:1.2em;margin-top:6px">#echo ', '.join($shows)#</p>
#else
<p style="line-height:1.2em;margin-top:7px">...will list here when in use</p>
#end if
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Require all these words</span>
<span class="component-desc">
<input type="text" name="require_words" value="$sickbeard.REQUIRE_WORDS" class="form-control input-sm input350"><p>(opt: start "regex:")</p>
<p class="clear-left note">ignore search result <em class="grey-text">unless its title contains all</em> of these comma seperated words</p>
</span>
<span class="component-title">Shows with custom requires</span>
<span class="component-desc">
#set $shows = []
#for $show in $using_rls_require_words
#set void = $shows.append('<a href="%s/home/editShow?show=%s" style="vertical-align:middle">%s</a>' % ($sbRoot, $show[0], $show[1]))
#end for
#if len($using_rls_require_words)
<p style="line-height:1.2em;margin-top:6px">#echo ', '.join($shows)#</p>
#else
<p style="line-height:1.2em;margin-top:7px">...will list here when in use</p>
#end if
</span>
</label>
</div>
<div class="field-pair">
<label for="allow_high_priority">
<span class="component-title">Allow high priority</span>
<span class="component-desc">
<input type="checkbox" name="allow_high_priority" id="allow_high_priority"<%= html_checked if sickbeard.ALLOW_HIGH_PRIORITY == True else '' %>>
<p>set downloads of recently aired episodes to high priority</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="search_unaired">
<span class="component-title">Unaired episodes</span>
<span class="component-desc">
<input type="checkbox" name="search_unaired" id="search_unaired" class="enabler"<%= html_checked if sickbeard.SEARCH_UNAIRED == True else '' %>>
<p>process episodes found before their expected airdate (disable if getting fakes)</p>
</span>
</label>
</div>
<input type="submit" class="btn config_submitter" value="Save Changes">
</fieldset>
</div><!-- /component-group1 //-->
<div id="core-component-group2" class="component-group">
<div class="component-group-desc">
<h3>NZB Search</h3>
<p>How to handle NZB search results.</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label for="use_nzbs">
<span class="component-title">Search NZBs</span>
<span class="component-desc">
<input type="checkbox" name="use_nzbs" class="enabler" id="use_nzbs"<%= html_checked if sickbeard.USE_NZBS else '' %>>
<p>enable NZB search providers</p></span>
</label>
</div>
<div id="content_use_nzbs">
<div class="field-pair">
<label for="nzb_method">
<span class="component-title">Send .nzb files to:</span>
<span class="component-desc">
<select name="nzb_method" id="nzb_method" class="form-control input-sm">
#set $nzb_method_text = {'blackhole': "Black hole", 'sabnzbd': "SABnzbd", 'nzbget': "NZBget"}
#for $curAction in ('sabnzbd', 'blackhole', 'nzbget'):
#set $selected = $html_selected if $sickbeard.NZB_METHOD == $curAction else ''
<option value="$curAction"$selected>$nzb_method_text[$curAction]</option>
#end for
</select>
</span>
</label>
</div>
<div id="blackhole_settings">
<div class="field-pair">
<label>
<span class="component-title">Black hole folder location</span>
<span class="component-desc">
<input type="text" name="nzb_dir" id="nzb_dir" value="$sickbeard.NZB_DIR" class="form-control input-sm input350">
<p class="clear-left note"><b>.nzb</b> files are stored at this location for external software to find and use</p>
</span>
</label>
</div>
</div>
<div id="sabnzbd_settings">
<div class="field-pair">
<label>
<span class="component-title">SABnzbd server URL</span>
<span class="component-desc">
<input type="text" id="sab_host" name="sab_host" value="$sickbeard.SAB_HOST" class="form-control input-sm input350">
<p class="clear-left note">URL to your SABnzbd server (e.g. http://localhost:8080/)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">SABnzbd username</span>
<span class="component-desc">
<input type="text" name="sab_username" id="sab_username" value="$sickbeard.SAB_USERNAME" class="form-control input-sm input200">
<p>(blank for none)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">SABnzbd password</span>
<span class="component-desc">
<input type="password" name="sab_password" id="sab_password" value="#echo '*' * len($sickbeard.SAB_PASSWORD)#" class="form-control input-sm input200">
<p>(blank for none)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">SABnzbd API key</span>
<span class="component-desc">
<input type="text" name="sab_apikey" id="sab_apikey" value="<%= starify(sickbeard.SAB_APIKEY) %>" class="form-control input-sm input350">
<p class="clear-left note">locate at... SABnzbd Config -> General -> API Key</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Use SABnzbd category</span>
<span class="component-desc">
<input type="text" name="sab_category" id="sab_category" value="$sickbeard.SAB_CATEGORY" class="form-control input-sm input200">
<p>add downloads to this category (e.g. TV)</p>
</span>
</label>
</div>
</div>
<div id="nzbget_settings">
<div class="field-pair">
<label for="nzbget_use_https">
<span class="component-title">Connect using HTTPS</span>
<span class="component-desc">
<input id="nzbget_use_https" type="checkbox" class="enabler" name="nzbget_use_https"<%= html_checked if sickbeard.NZBGET_USE_HTTPS == True else '' %>>
<p><b>note:</b> enable Secure control in NZBGet and set the correct Secure Port here</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">NZBget host:port</span>
<span class="component-desc">
<input type="text" name="nzbget_host" id="nzbget_host" value="$sickbeard.NZBGET_HOST" class="form-control input-sm input350">
<p>(e.g. localhost:6789)</p>
<p class="clear-left note">NZBget RPC host name and port number (not NZBgetweb!)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">NZBget username</span>
<span class="component-desc">
<input type="text" name="nzbget_username" value="$sickbeard.NZBGET_USERNAME" class="form-control input-sm input200">
<p>locate in nzbget.conf (default:nzbget)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">NZBget password</span>
<span class="component-desc">
<input type="password" name="nzbget_password" id="nzbget_password" value="#echo '*' * len($sickbeard.NZBGET_PASSWORD)#" class="form-control input-sm input200">
<p>locate in nzbget.conf (default:tegbzn6789)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title">Use NZBget category</span>
<span class="component-desc">
<input type="text" name="nzbget_category" id="nzbget_category" value="$sickbeard.NZBGET_CATEGORY" class="form-control input-sm input200">
<p>send downloads marked this category (e.g. TV)</p>
</span>
</label>
</div>
#set $prio_verylow = ''
#set $prio_low = ''
#set $prio_normal = ''
#set $prio_high = ''
#set $prio_veryhigh = ''
#set $prio_force = ''
#if -100 == $sickbeard.NZBGET_PRIORITY:
#set $prio_verylow = $html_selected
#elif -50 == $sickbeard.NZBGET_PRIORITY:
#set $prio_low = $html_selected
#elif 0 == $sickbeard.NZBGET_PRIORITY:
#set $prio_normal = $html_selected
#elif 50 == $sickbeard.NZBGET_PRIORITY:
#set $prio_high = $html_selected
#elif 100 == $sickbeard.NZBGET_PRIORITY:
#set $prio_veryhigh = $html_selected
#elif 900 == $sickbeard.NZBGET_PRIORITY:
#set $prio_force = $html_selected
#else:
#set $prio_normal = $html_selected
#end if
<div class="field-pair">
<label>
<span class="component-title">NZBget priority</span>
<span class="component-desc">
<select name="nzbget_priority" id="nzbget_priority" class="form-control input-sm">
<option value="-100"${prio_verylow}>Very low</option>
<option value="-50"${prio_low}>Low</option>
<option value="0"${prio_normal}>Normal</option>
<option value="50"${prio_high}>High</option>
<option value="100"${prio_veryhigh}>Very high</option>
<option value="900"${prio_force}>Force</option>
</select>
<span>priority for daily snatches (no backlog)</span>
</span>
</label>
</div>
</div>
<div class="testNotification" id="testSABnzbd_result">Click below to test</div>
<input class="btn" type="button" value="Test SABnzbd" id="testSABnzbd" class="btn test-button">
<input type="submit" class="btn config_submitter" value="Save Changes"><br />
</div><!-- /content_use_nzbs //-->
</fieldset>
</div><!-- /component-group2 //-->
<div id="core-component-group3" class="component-group">
<div class="component-group-desc">
<h3>Torrent Search</h3>
<p>How to handle Torrent search results.</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label for="use_torrents">
<span class="component-title">Search torrents</span>
<span class="component-desc">
<input type="checkbox" name="use_torrents" class="enabler" id="use_torrents"<%= html_checked if sickbeard.USE_TORRENTS == True else '' %>>
<p>enable torrent search providers</p>
</span>
</label>
</div>
<div id="content_use_torrents">
<div class="field-pair">
<label for="torrent_method">
<span class="component-title">Send .torrent files to:</span>
<span class="component-desc">
<select name="torrent_method" id="torrent_method" class="form-control input-sm">
#set $torrent_method_text = {'blackhole': "Black hole", 'utorrent': "uTorrent", 'transmission': "Transmission", 'deluge': "Deluge", 'download_station': "Synology DS", 'rtorrent': "rTorrent"}
#for $curAction in ('blackhole', 'utorrent', 'transmission', 'deluge', 'download_station', 'rtorrent'):
#set $selected = $html_selected if $sickbeard.TORRENT_METHOD == $curAction else ''
<option value="$curAction"$selected>$torrent_method_text[$curAction]</option>
#end for
</select>
</label>
<div id="options_torrent_blackhole">
<div class="field-pair">
<label>
<span class="component-title">Black hole folder location</span>
<span class="component-desc">
<input type="text" name="torrent_dir" id="torrent_dir" value="$sickbeard.TORRENT_DIR" class="form-control input-sm input350">
<p class="clear-left note"><b>.torrent</b> files are stored at this location for external software to find and use</p>
</span>
</label>
</div>
<div></div>
<input type="submit" class="btn config_submitter" value="Save Changes"><br />
</div>
</div>
<div id="options_torrent_clients">
<div class="field-pair">
<label>
<span class="component-title" id="host_title">Torrent host:port</span>
<span class="component-desc">
<input type="text" name="torrent_host" id="torrent_host" value="$sickbeard.TORRENT_HOST" class="form-control input-sm input350">
<p class="clear-left note">
<span id="host_desc_torrent">URL to your torrent client (e.g. http://localhost:8000/)</span>
<span id="host_desc_rtorrent" style="display:none"><b>Note:</b> <i>rTorrent</i> client URLs use e.g. scgi://localhost:5000/</span>
<span id="host_desc_deluge" style="display:none">URL to your Deluge WebUI (e.g. http://localhost:8112/)</span>
</p>
</span>
</label>
</div>
<div class="field-pair" id="torrent_verify_cert_option">
<label for="torrent_verify_cert">
<span class="component-title">Verify certificate</span>
<span class="component-desc">
<input type="checkbox" name="torrent_verify_cert" class="enabler" id="torrent_verify_cert"<%= html_checked if sickbeard.TORRENT_VERIFY_CERT == True else '' %>>
<p>disable if you get "Deluge: Authentication Error" in your log</p>
</span>
</label>
</div>
<div class="field-pair" id="torrent_username_option">
<label>
<span class="component-title" id="username_title">Client username</span>
<span class="component-desc">
<input type="text" name="torrent_username" id="torrent_username" value="$sickbeard.TORRENT_USERNAME" class="form-control input-sm input200">
<p>(blank for none)</p>
</span>
</label>
</div>
<div class="field-pair">
<label>
<span class="component-title" id="password_title">Client password</span>
<span class="component-desc">
<input type="password" name="torrent_password" id="torrent_password" value="#echo '*' * len($sickbeard.TORRENT_PASSWORD)#" class="form-control input-sm input200">
<p>(blank for none)</p>
</span>
</label>
</div>
<div class="field-pair" id="torrent_label_option">
<label>
<span class="component-title">Add label to torrent</span>
<span class="component-desc">
<input type="text" name="torrent_label" id="torrent_label" value="$sickbeard.TORRENT_LABEL" class="form-control input-sm input200">
<span id="label_warning_deluge" style="display:none"><p>(blank spaces are not allowed)</p>
<p class="clear-left note">note: label plugin must be enabled in Deluge clients</p>
</span>
</span>
</label>
</div>
<div class="field-pair" id="torrent_path_option">
<label>
<span class="component-title" id="directory_title">Downloaded files location</span>
<span class="component-desc">
<input type="text" name="torrent_path" id="torrent_path" value="$sickbeard.TORRENT_PATH" class="form-control input-sm input350">
<p class="clear-left note">where <span id="torrent_client">the torrent client</span> will save downloaded files <span id="path_blank">(blank for client default)</span>
<span id="path_synology"> <b>note:</b> the destination has to be a shared folder for Synology DS</span>
<span id="path_transmission" class="grey-text"> (v2.92 and newer should <em>not</em> be blank)</span></p>
</span>
</label>
</div>
<div class="field-pair" id="torrent_seed_time_option">
<label>
<span class="component-title">Seed time (minimum default)</span>
<span class="component-desc"><input type="number" step="0.1" name="torrent_seed_time" id="torrent_seed_time" value="$sickbeard.TORRENT_SEED_TIME" class="form-control input-sm input100">
<p>1 or more minutes. (0 or blank to use the client setting)</p></span>
</label>
</div>
<div class="field-pair" id="torrent_paused_option">
<label>
<span class="component-title">Start torrent paused</span>
<span class="component-desc">
<input type="checkbox" name="torrent_paused" class="enabler" id="torrent_paused"<%= html_checked if sickbeard.TORRENT_PAUSED == True else '' %>>
<p>add .torrent to client but do <b style="font-weight:900">not</b> start downloading</p>
</span>
</label>
</div>
<div class="field-pair" id="torrent_high_bandwidth_option">
<label>
<span class="component-title">Allow high bandwidth</span>
<span class="component-desc">
<input type="checkbox" name="torrent_high_bandwidth" class="enabler" id="torrent_high_bandwidth"<%= html_checked if sickbeard.TORRENT_HIGH_BANDWIDTH == True else '' %>>
<p>use high bandwidth allocation if priority is high</p>
</span>
</label>
</div>
<div class="testNotification" id="test_torrent_result">Click below to test</div>
<input class="btn" type="button" value="Test Connection" id="test_torrent" class="btn test-button">
<input type="submit" class="btn config_submitter" value="Save Changes"><br />
</div>
</div><!-- /content_use_torrents //-->
</fieldset>
</div><!-- /component-group3 //-->
<br />
<h6 class="pull-right"><b>All non-absolute folder locations are relative to <span class="path">$sickbeard.DATA_DIR</span></b> </h6>
<input type="submit" class="btn pull-left config_submitter button" value="Save Changes">
</div><!-- /config-components //-->
</form>
</div>
</div>
<div></div>
<script type="text/javascript" charset="utf-8">
<!--
jQuery('#config-components').tabs();
jQuery('#nzb_dir').fileBrowser({ title: 'Select .nzb black hole/watch location' });
jQuery('#torrent_dir').fileBrowser({ title: 'Select .torrent black hole/watch location' });
jQuery('#torrent_path').fileBrowser({ title: 'Select .torrent download location' });
jQuery('#tv_download_dir').fileBrowser({ title: 'Select TV download location' });
//-->
</script>
#include $os.path.join($sickbeard.PROG_DIR, 'gui/slick/interfaces/default/inc_bottom.tmpl')