#import sickgear #from sickgear.clients import get_client_instance #from sickgear.providers.generic import GenericProvider #from sickgear.providers import thepiratebay #from sickgear.providers.newznab import NewznabConstants #from sickgear.helpers import anon_url, maybe_plural, starify #from six import iteritems ## #set global $title = 'Config - Providers' #set global $header = 'Media Providers' #set global $sbPath = '../..' #set global $topmenu = 'config' ## #import os.path #include $os.path.join($sickgear.PROG_DIR, 'gui/slick/interfaces/default/inc_top.tmpl') #if $varExists('header')

$header

#else

$title

#end if #set $methods_notused = [] #if not $sickgear.USE_NZBS $methods_notused.append('Newznab') #end if #if not $sickgear.USE_TORRENTS $methods_notused.append('Torrent') #end if #slurp #if $sickgear.USE_NZBS or $sickgear.USE_TORRENTS #end if ## #set $html_selected = ' selected="selected"' #set $html_checked = 'checked="checked" ' #set $backlog_only_tip = False
$xsrf_form_html
#set $dupe_keys = $GenericProvider.dedupe_auths() #if $dupe_keys

$len($dupe_keys) duplicate api/pass key$maybe_plural($len($dupe_keys)) found at providers: #for $dupe in $dupe_keys ($dupe[0] = $dupe[1]) #end for
Best security practice is to have unique keys for every provider

#end if

Priorities

Allows searching recent and past releases.

Check off and drag providers into the order you want them to be used.

At least one provider is required, two are recommended.

#if $methods_notused
<%= '/'.join(x for x in methods_notused) %> providers can be enabled in Search Settings
#else
#end if
    #for $cur_provider in [$x for $x in $sickgear.providers.sorted_sources() if $x.providerType == $GenericProvider.NZB and $sickgear.USE_NZBS or $x.providerType == $GenericProvider.TORRENT and $sickgear.USE_TORRENTS] #set $cur_name = $cur_provider.get_id() #set $cur_url = $cur_provider.url #set $show_type = $sickgear.USE_NZBS and $sickgear.USE_TORRENTS and $GenericProvider.NZB == $cur_provider.providerType #set $spotweb = ('', 'sw ')[$getattr($cur_provider, 'server_type', None) == $NewznabConstants.SERVER_SPOTWEB and type($cur_provider).__name__ not in ['TorrentRssProvider']] #set $is_hydra = $getattr($cur_provider, 'server_type', None) in ($NewznabConstants.SERVER_HYDRA1, $NewznabConstants.SERVER_HYDRA2) #set $bad_url = not $cur_url and cur_provider.is_enabled() #set $tip = ($cur_provider.name + ('', ' (enable for link)')[not $cur_url and not cur_provider.is_enabled()], 'Site Down')[$bad_url] #set $state = ('', ' (Site Down?)')[$bad_url]
  • /> $tip $cur_provider.name$state #if $cur_provider.is_public_access() and type($cur_provider).__name__ not in ['TorrentRssProvider']# (PA) #end if##if $show_type##slurp ($spotweb$cur_provider.providerType) #end if##if $is_hydra##slurp (read this) #end if##if not $cur_provider.supports_backlog#*#set $backlog_only_tip=True##end if##slurp
  • #end for
#if $sickgear.USE_NZBS or $sickgear.USE_TORRENTS
(PA)

Public access, no account required

#if $backlog_only_tip

*

No backlog, latest releases only

#end if ## #if $sickgear.USE_TORRENTS ##

**

Supports limited backlog searches, some episodes/qualities may not be available

## #end if ##

!

Provider is NOT WORKING

#end if

Options

Individual provider settings.

#set $recentsearch_tip = 'passively match recent episodes from latest releases' #set $backlogsearch_tip = 'allow active searching for individual episode releases' #set $scheduled_backlog_tip = 'enable scheduled searching for backlogged episodes' #set $filter_title = 'Only allow releases that are' #set $filter_scene_only_desc = 'scene releases (srrDB/predb listed)' #set $filter_scene_or_contain_desc = '...or contain' #set $filter_scene_loose_desc = 'non scene if no recent search results' #set $filter_scene_loose_active_desc = 'non scene if no active search results' #set $filter_scene_rej_nuked_desc = 'not scene nuked' #set $filter_scene_nuked_active_desc = 'nuked if no active search results' #set $filter_tip = 'nothing selected allows everything (i.e. no filtering, default)' #for $cur_newznab_provider in [$cur_provider for $cur_provider in $sickgear.newznab_providers]
#set $can_recent = $hasattr($cur_newznab_provider, 'enable_recentsearch') #set $can_backlog = $hasattr($cur_newznab_provider, 'enable_backlog') #set $can_schedule_backlog = $hasattr($cur_newznab_provider, 'enable_scheduled_backlog') #if $cur_newznab_provider.supports_backlog and ($can_recent or $can_backlog or $can_schedule_backlog)
Perform search tasks #if $can_recent #end if #if $can_backlog #end if #if $can_schedule_backlog
#end if
#end if #if $cur_newznab_provider.default and $cur_newznab_provider.needs_auth
#end if
$filter_title
#if $hasattr($cur_newznab_provider, 'may_filter'):
#for $cur_fval, $filter in iteritems($cur_newznab_provider.may_filter) #set $cur_fname, $cur_is_default = $filter[0], $filter[1] #set $filter_id = '%s_filter_%s' % ($cur_newznab_provider.get_id(), $cur_fval) #end for (see $cur_newznab_provider.name)
#end if

$filter_tip

#if $hasattr($cur_newznab_provider, 'search_mode') and $cur_newznab_provider.supports_backlog:
Episode search mode

when searching for episodes, collect single episodes or search for packs

#end if #if $hasattr($cur_newznab_provider, 'search_fallback') and $cur_newznab_provider.supports_backlog:
#end if
#end for ## ## #for $cur_nzb_provider in [$cur_provider for $cur_provider in $sickgear.providers.sorted_sources() if $cur_provider.providerType == $GenericProvider.NZB and $cur_provider not in $sickgear.newznab_providers]:
#set $can_recent = $hasattr($cur_nzb_provider, 'enable_recentsearch') #set $can_backlog = $hasattr($cur_nzb_provider, 'enable_backlog') #set $can_schedule_backlog = $hasattr($cur_nzb_provider, 'enable_scheduled_backlog') #if $cur_nzb_provider.supports_backlog and ($can_recent or $can_backlog or $can_schedule_backlog)
Perform search tasks #if $can_recent #end if #if $can_backlog #end if #if $can_schedule_backlog
#end if
#end if #if $hasattr($cur_nzb_provider, 'username'):
#end if #if $hasattr($cur_nzb_provider, 'api_key'):
#end if #if $hasattr($cur_nzb_provider, 'digest'): #set $field_name = cur_nzb_provider.get_id() + '_digest'
#end if
$filter_title

$filter_tip

#if $hasattr($cur_nzb_provider, 'search_mode') and $cur_nzb_provider.supports_backlog:
Episode search mode

when searching for episodes, collect single episodes or search for packs

#end if #if $hasattr($cur_nzb_provider, 'search_fallback') and $cur_nzb_provider.supports_backlog:
#end if #if not $cur_nzb_provider.supports_backlog:
The latest releases are the focus of this provider, no backlog searching
#end if
#end for ## ## #for $cur_torrent_provider in $sickgear.USE_TORRENTS and [$cur_provider for $cur_provider in $sickgear.providers.sorted_sources() if $cur_provider.providerType == $GenericProvider.TORRENT] or []:
#if callable(getattr(cur_torrent_provider, 'ui_string', None)) #set $field_name = cur_torrent_provider.get_id() + '_tip' #set $tip_text = cur_torrent_provider.ui_string($field_name) #if $tip_text

Important! ${cur_torrent_provider.name} $tip_text

#end if #end if #set $can_recent = $hasattr($cur_torrent_provider, 'enable_recentsearch') #set $can_backlog = $hasattr($cur_torrent_provider, 'enable_backlog') #set $can_schedule_backlog = $hasattr($cur_torrent_provider, 'enable_scheduled_backlog') #if $cur_torrent_provider.supports_backlog and ($can_recent or $can_backlog or $can_schedule_backlog)
Perform search tasks #if $can_recent #end if #if $can_backlog #end if #if $can_schedule_backlog
#end if
#end if #if $getattr($cur_torrent_provider, 'url_edit', None):
#end if #if $hasattr($cur_torrent_provider, 'api_key'): #set $field_name = cur_torrent_provider.get_id() + '_api_key'
#end if #if $hasattr($cur_torrent_provider, 'digest'): #set $field_name = cur_torrent_provider.get_id() + '_digest'
#end if #if $hasattr($cur_torrent_provider, 'hash'):
#end if #for $user_type in ['username', 'uid']: #if $hasattr($cur_torrent_provider, $user_type): #set $prov_type = '%s_%s' % ($cur_torrent_provider.get_id(), $user_type) #set $user_value = $getattr($cur_torrent_provider, $user_type) or ''
#break #end if #end for #if $hasattr($cur_torrent_provider, 'password'):
#end if #if $hasattr($cur_torrent_provider, 'passkey'):
#end if <% client = {} if 'blackhole' == sickgear.TORRENT_METHOD else get_client_instance(sickgear.TORRENT_METHOD)().__class__.__dict__ name = '' if not client else get_client_instance(sickgear.TORRENT_METHOD)().name %> #if ($hasattr($cur_torrent_provider, '_seed_ratio') and '_set_torrent_ratio' in $client)
#end if #if ($hasattr($cur_torrent_provider, 'seed_time') and '_set_torrent_seed_time' in $client) #set $use_default = 'to use the %s min torrent search setting minimum default' % ($sickgear.TORRENT_SEED_TIME, $sbRoot) if $sickgear.TORRENT_SEED_TIME else 'for the %s setting' % $name
#end if #if $hasattr($cur_torrent_provider, 'minseed'):
#end if #if $hasattr($cur_torrent_provider, 'minleech'):
#end if #if callable(getattr(cur_torrent_provider, 'ui_string', None)) #set $field_name = cur_torrent_provider.get_id() + '_use_after_get_data' #set $desc_text = cur_torrent_provider.ui_string($field_name) #set $tip_text = cur_torrent_provider.ui_string($field_name + '_tip') #if $tip_text and $hasattr($cur_torrent_provider, 'after_get_data'):
#end if #end if
$filter_title
#if $cur_torrent_provider.supports_backlog: #end if
#if $cur_torrent_provider.supports_backlog:   #end if
#if $hasattr($cur_torrent_provider, 'freeleech'):
#end if #if $hasattr($cur_torrent_provider, 'confirmed'):
#end if #if $hasattr($cur_torrent_provider, 'may_filter'):
#for $cur_fval, $filter in iteritems($cur_torrent_provider.may_filter) #set $cur_fname, $cur_is_default = $filter[0], $filter[1] #set $filter_id = '%s_filter_%s' % ($cur_torrent_provider.get_id(), $cur_fval) #end for #if $cur_torrent_provider.may_filter (see $cur_torrent_provider.name) #end if
#end if #if $hasattr($cur_torrent_provider, 'reject_m2ts'):
#end if

$filter_tip

#if $hasattr($cur_torrent_provider, 'search_mode') and $cur_torrent_provider.supports_backlog:
Episode search mode

when searching for episodes, collect single episodes or search for packs

#end if #if $hasattr($cur_torrent_provider, 'search_fallback') and $cur_torrent_provider.supports_backlog:
#end if #if not $cur_torrent_provider.supports_backlog:
The latest releases are the focus of this provider, no backlog searching
#end if
#end for #if $provider_config_list
#end if
#if $sickgear.USE_NZBS

Custom Newznab

Add, setup or remove newznab providers.

#end if #if $sickgear.USE_TORRENTS

Custom Torrent

Add, setup or remove torrent RSS providers.

#end if

#include $os.path.join($sickgear.PROG_DIR, 'gui/slick/interfaces/default/inc_bottom.tmpl')