2014-03-10 05:18:05 +00:00
#import os . path
#import sickbeard
#from sickbeard . common import *
2014-11-17 00:17:37 +00:00
#from sickbeard . helpers import anon_url
2014-03-10 05:18:05 +00:00
#from sickbeard import config
#from sickbeard import metadata
#from sickbeard . metadata . generic import GenericMetadata
#from sickbeard import naming
2014-11-17 00:17:37 +00:00
#set global $ title = ' Config - Post Processing '
#set global $ header = ' Post Processing '
2014-03-10 05:18:05 +00:00
2014-11-17 00:17:37 +00:00
#set global $ sbPath = ' ../.. '
2014-03-10 05:18:05 +00:00
2014-11-17 00:17:37 +00:00
#set global $ topmenu = ' config '
#include $ os . path . join ( $ sickbeard . PROG_DIR , ' gui/slick/interfaces/default/inc_top.tmpl ' )
2014-03-10 05:18:05 +00:00
<script type="text/javascript" src=" $ sbRoot /js/configPostProcessing.js? $ sbPID "></script>
<script type="text/javascript" src=" $ sbRoot /js/config.js? $ sbPID "></script>
2014-11-17 00:17:37 +00:00
2014-03-10 05:18:05 +00:00
#if $ varExists ( ' header ' )
<h1 class="header"> $ header </h1>
#else
<h1 class="title"> $ title </h1>
#end if
2014-11-17 00:17:37 +00:00
2014-03-10 05:18:05 +00:00
<div id="config">
2014-11-17 00:17:37 +00:00
<div id="config-content">
<form id="configForm" action="savePostProcessing" method="post">
<div id="config-components">
<ul>
<li><a href=" #core - component - group1 " >Post-Processing</a></li>
<li><a href=" #core - component - group2 " >Episode Naming</a></li>
<li><a href=" #core - component - group3 " >Metadata</a></li>
</ul>
<div id="core-component-group1">
<div class="component-group">
<div class="component-group-desc">
<h3>Post-Processing</h3>
<p>Settings that dictate how SickGear should process completed downloads.</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label for="tv_download_dir">
<span class="component-title">TV download dir</span>
<span class="component-desc">
<input type="text" name="tv_download_dir" id="tv_download_dir" value=" $ sickbeard . TV_DOWNLOAD_DIR " class="form-control input-sm input350" />
<div class="clear-left">
<p>the folder where your download client puts <b>completed</b> downloads<br>
<span class="red-text">should be separate to where your download client puts files while downloading</span><br>
<b>note:</b> use only if not using SABnzbd+ post processing or if SABnzbd+ and SickGear are on different PCs.</p>
</div>
</span>
</label>
</div>
<div class="field-pair">
<label for="process_method">
<span class="component-title">Process episode method</span>
<span class="component-desc">
<select name="process_method" id="process_method" class="form-control input-sm">
#set $ process_method_text = { ' copy ' : " Copy " , ' move ' : " Move " , ' hardlink ' : " Hard Link " , ' symlink ' : " Symbolic Link " }
#for $ curAction in ( ' copy ' , ' move ' , ' hardlink ' , ' symlink ' ) :
#if $ sickbeard . PROCESS_METHOD == $ curAction :
#set $ process_method = " selected= \" selected \" "
#else
#set $ process_method = " "
#end if
<option value=" $ curAction " $ process_method > $ process_method_text [ $ curAction ]</option>
#end for
</select>
<p>method to be used to put file in the <em>TV directory</em></p>
</span>
</label>
</div>
<div class="field-pair">
<label for="process_automatically">
<span class="component-title">Scan and post-process</span>
<span class="component-desc">
<input type="checkbox" name="process_automatically" id="process_automatically" #if $ sickbeard . PROCESS_AUTOMATICALLY == True then " checked= \" checked \" " else " " # />
<p>scan and post-process any files in your <em>TV download dir</em>?<br>
<b>note:</b> do not use if you use an external post-processing script<br>
eg. NZBMedia w/ NZBGET, sabToSickbeard w/ SABnzbd</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="autopostprocesser_frequency">
<span class="component-title">Run post-process every</span>
<span class="component-desc">
<input type="text" name="autopostprocesser_frequency" id="autopostprocesser_frequency" value=" $ sickbeard . AUTOPOSTPROCESSER_FREQUENCY " class="form-control input-sm input75" />
<p>minutes to check for new files to post-process (eg. 10)</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="postpone_if_sync_files">
<span class="component-title">Postpone post processing</span>
<span class="component-desc">
<input type="checkbox" name="postpone_if_sync_files" id="postpone_if_sync_files" #if $ sickbeard . POSTPONE_IF_SYNC_FILES == True then " checked= \" checked \" " else " " # />
<p>if <b>!sync</b> files are present in the <em>TV download dir</em></p>
</span>
</label>
</div>
<div class="field-pair">
<label for="extra_scripts">
<span class="component-title">Extra scripts</span>
<span class="component-desc">
<input type="text" name="extra_scripts" value="<%='|'.join(sickbeard.EXTRA_SCRIPTS)%>" class="form-control input-sm input350" />
<div class="clear-left">
<p>Additional scripts separated by <b>|</b><br>
<b>note:</b> scripts are called after SickGear's own post-processing</p>
</div>
</span>
</label>
</div>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</fieldset>
</div>
<div class="component-group">
<div class="component-group-desc">
<h3>File Handling</h3>
<p>Optional settings for the way post-processing handles files</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label for="unpack">
<span class="component-title">Unpack downloads</span>
<span class="component-desc">
<input id="unpack" type="checkbox" name="unpack" #if $ sickbeard . UNPACK == True then " checked= \" checked \" " else " " # />
<p>unpack any TV releases in your <em>TV download dir</em>?<br>
<b>note:</b> only working with RAR archive</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="skip_removed_files">
<span class="component-title">Skip remove detection</span>
<span class="component-desc">
<input type="checkbox" name="skip_removed_files" id="skip_removed_files" #if $ sickbeard . SKIP_REMOVED_FILES == True then " checked= \" checked \" " else " " # />
<p>skip detection of removed files, so they don't get set to ignored<br>
<b>note:</b> this may mean SickGear misses renames as well</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="move_associated_files">
<span class="component-title">Move associated files</span>
<span class="component-desc">
<input type="checkbox" name="move_associated_files" id="move_associated_files" #if $ sickbeard . MOVE_ASSOCIATED_FILES == True then " checked= \" checked \" " else " " # />
<p>move srr/srt/sfv/etc files with the episode when processed</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="nfo_rename">
<span class="component-title">Rename .nfo file</span>
<span class="component-desc">
<input type="checkbox" name="nfo_rename" id="nfo_rename" #if $ sickbeard . NFO_RENAME == True then " checked= \" checked \" " else " " # />
<p>rename the original .nfo file to .nfo-orig to avoid conflicts</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="rename_episodes">
<span class="component-title">Rename episodes</span>
<span class="component-desc">
<input type="checkbox" name="rename_episodes" id="rename_episodes" #if $ sickbeard . RENAME_EPISODES == True then " checked= \" checked \" " else " " # />
<p>rename episodes using the Episode Naming settings</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="airdate_episodes">
<span class="component-title">Change file date</span>
<span class="component-desc">
<input type="checkbox" name="airdate_episodes" id="airdate_episodes" #if $ sickbeard . AIRDATE_EPISODES == True then " checked= \" checked \" " else " " # />
<p>set last modified filedate to the date that the episode aired<br>
<b>note:</b> some systems may ignore this feature.</p>
</span>
</label>
</div>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</fieldset>
</div>
<div class="component-group">
<div class="component-group-desc">
<h3>Failed Downloads</h3>
<p>SickGear will attempt to download another release if downloads are reported as failed</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label for="use_failed_downloads">
<span class="component-title">Enable</span>
<span class="component-desc">
<input id="use_failed_downloads" type="checkbox" class="enabler" name="use_failed_downloads" #if $ sickbeard . USE_FAILED_DOWNLOADS == True then " checked= \" checked \" " else " " # />
<p>failed download handling<br>
<b>note:</b> see <em><a href="<%= anon_url('https://raw.githubusercontent.com/SickGear/SickGear/master/readme-FailedDownloads.md') %>" rel="noreferrer" onclick="window.open(this.href, '_blank'); return false;">readme-FailedDownloads.md</a></em> before enabling for SABnzbd setup instructions</p>
</span>
</label>
</div>
<div id="content_use_failed_downloads">
<div class="field-pair">
<label for="delete_failed">
<span class="component-title">Delete failed downloads</span>
<span class="component-desc">
<input id="delete_failed" type="checkbox" name="delete_failed" #if $ sickbeard . DELETE_FAILED == True then " checked= \" checked \" " else " " # />
<p>delete left over files from a failed download<br>
</span>
</label>
</div>
</div>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</fieldset>
</div>
</div><!-- /component-group1 //-->
<div id="core-component-group2" class="component-group">
<div class="component-group-desc">
<h3>Episode Naming</h3>
<p>How SickGear will name and sort your episodes.</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label for="name_presets">
<span class="component-title">Naming pattern</span>
<span class="component-desc">
<select id="name_presets" class="form-control input-sm">
#set is_custom = True
#for $ cur_preset in $ naming . name_presets :
#set $ tmp = $ naming . test_name ( $ cur_preset , anime_type = 3 )
#if $ cur_preset == $ sickbeard . NAMING_PATTERN :
#set is_custom = False
#end if
<option id=" $ cur_preset " #if $ cur_preset == $ sickbeard . NAMING_PATTERN then " selected= \" selected \" " else " " # > $ os . path . join ( $ tmp ['dir'], $ tmp ['name'])</option>
#end for
<option id=" $ sickbeard . NAMING_PATTERN " #if $ is_custom then " selected= \" selected \" " else " " # >Custom...</option>
</select>
</span>
</label>
</div>
<div id="naming_custom">
<div class="field-pair" style="padding-top: 0;">
<label for="naming_pattern">
<span class="component-title"></span>
<span class="component-desc">
<input type="text" name="naming_pattern" id="naming_pattern" value=" $ sickbeard . NAMING_PATTERN " class="form-control input-sm input350" />
<img src=" $ sbRoot /images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_key" title="Toggle Naming Legend" class="legend" class="legend" />
</span>
</label>
</div>
<div id="naming_key" style="display: none;">
<table class="Key">
<thead>
<tr>
<th class="align-right">Meaning</th>
<th>Pattern</th>
<th width="60%">Result</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="3">Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)</th>
</tr>
</tfoot>
<tbody>
<tr>
<td class="align-right"><b>Show Name:</b></td>
<td>%SN</td>
<td>Show Name</td>
</tr>
<tr class="even">
<td> </td>
<td>%S.N</td>
<td>Show.Name</td>
</tr>
<tr>
<td> </td>
<td>%S_N</td>
<td>Show_Name</td>
</tr>
<tr class="even">
<td class="align-right"><b>Season Number:</b></td>
<td>%S</td>
<td>2</td>
</tr>
<tr>
<td> </td>
<td>%0S</td>
<td>02</td>
</tr>
<tr class="even">
<td class="align-right"><b>XEM Season Number:</b></td>
<td>%XMS</td>
<td>2</td>
</tr>
<tr>
<td> </td>
<td>%0XMS</td>
<td>02</td>
</tr>
<tr class="even">
<td class="align-right"><b>Episode Number:</b></td>
<td>%E</td>
<td>3</td>
</tr>
<tr>
<td> </td>
<td>%0E</td>
<td>03</td>
</tr>
<tr class="even">
<td class="align-right"><b>XEM Episode Number:</b></td>
<td>%XME</td>
<td>3</td>
</tr>
<tr>
<td> </td>
<td>%0XME</td>
<td>03</td>
</tr>
<tr class="even">
<td class="align-right"><b>Episode Name:</b></td>
<td>%EN</td>
<td>Episode Name</td>
</tr>
<tr>
<td> </td>
<td>%E.N</td>
<td>Episode.Name</td>
</tr>
<tr class="even">
<td> </td>
<td>%E_N</td>
<td>Episode_Name</td>
</tr>
<tr>
<td class="align-right"><b>Quality:</b></td>
<td>%QN</td>
<td>720p BluRay</td>
</tr>
<tr class="even">
<td> </td>
<td>%Q.N</td>
<td>720p.BluRay</td>
</tr>
<tr>
<td> </td>
<td>%Q_N</td>
<td>720p_BluRay</td>
</tr>
<tr class="even">
<td class="align-right"><i class="icon-info-sign" title="Multi-EP style is ignored"></i> <b>Release Name:</b></td>
<td>%RN</td>
<td>Show.Name.S02E03.HDTV.XviD-RLSGROUP</td>
</tr>
<tr>
<td class="align-right"><i class="icon-info-sign" title="'SickGear' is used in place of RLSGROUP if it could not be properly detected"></i> <b>Release Group:</b></td>
<td>%RG</td>
<td>RLSGROUP</td>
</tr>
<tr class="even">
<td class="align-right"><i class="icon-info-sign" title="If episode is proper/repack add 'proper' to name."></i> <b>Release Type:</b></td>
<td>%RT</td>
<td>PROPER</td>
</tr>
</tbody>
</table>
<br/>
</div>
</div>
<div class="field-pair">
<label for="naming_multi_ep">
<span class="component-title">Multi-Episode style</span>
<span class="component-desc">
<select id="naming_multi_ep" name="naming_multi_ep" class="form-control input-sm">
#for $ cur_multi_ep in sorted ( $ multiEpStrings . items ( ) , key = lambda x : x [ 1 ] ) :
<option value=" $ cur_multi_ep [0]" #if $ cur_multi_ep [ 0 ] == $ sickbeard . NAMING_MULTI_EP then " selected= \" selected \" class= \" selected \" " else " " # > $ cur_multi_ep [1]</option>
#end for
</select>
</span>
</label>
</div>
<div id="naming_example_div">
<h3>Single-Episode sample:</h3>
<div class="example">
<span class="jumbo" id="naming_example"> </span>
</div>
<br/>
</div>
<div id="naming_example_multi_div">
<h3>Multi-Episode sample:</h3>
<div class="example">
<span class="jumbo" id="naming_example_multi"> </span>
</div>
<br/>
</div>
<div class="field-pair">
<label for="naming_strip_year">
<span class="component-title">Strip show year</span>
<span class="component-desc">
<input type="checkbox" id="naming_strip_year" name="naming_strip_year" #if $ sickbeard . NAMING_STRIP_YEAR then " checked= \" checked \" " else " " # />
<p>remove the show's year when renaming the file<br>
only applies to shows that have year inside parentheses</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="naming_custom_abd">
<span class="component-title">Custom Air-By-Date</span>
<span class="component-desc">
<input type="checkbox" class="enabler" id="naming_custom_abd" name="naming_custom_abd" #if $ sickbeard . NAMING_CUSTOM_ABD then " checked= \" checked \" " else " " # />
<p>name Air-By-Date shows differently than regular shows</p>
</span>
</label>
</div>
<div id="content_naming_custom_abd">
<div class="field-pair">
<label for="name_abd_presets">
<span class="component-title">Naming pattern</span>
<span class="component-desc">
<select id="name_abd_presets" class="form-control input-sm">
#set is_abd_custom = True
#for $ cur_preset in $ naming . name_abd_presets :
#set $ tmp = $ naming . test_name ( $ cur_preset )
#if $ cur_preset == $ sickbeard . NAMING_ABD_PATTERN :
#set is_abd_custom = False
#end if
<option id=" $ cur_preset " #if $ cur_preset == $ sickbeard . NAMING_ABD_PATTERN then " selected= \" selected \" " else " " # > $ os . path . join ( $ tmp ['dir'], $ tmp ['name'])</option>
#end for
<option id=" $ sickbeard . NAMING_ABD_PATTERN " #if $ is_abd_custom then " selected= \" selected \" " else " " # >Custom...</option>
</select>
</span>
</label>
</div>
<div id="naming_abd_custom">
<div class="field-pair">
<label for="naming_abd_pattern">
<span class="component-title"></span>
<span class="component-desc">
<input type="text" name="naming_abd_pattern" id="naming_abd_pattern" value=" $ sickbeard . NAMING_ABD_PATTERN " class="form-control input-sm input350" />
<img src=" $ sbRoot /images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_abd_key" title="Toggle ABD Naming Legend" class="legend" />
</span>
</label>
</div>
<div id="naming_abd_key" style="display: none;">
<table class="Key">
<thead>
<tr>
<th class="align-right">Meaning</th>
<th>Pattern</th>
<th width="60%">Result</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="3">Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)</th>
</tr>
</tfoot>
<tbody>
<tr>
<td class="align-right"><b>Show Name:</b></td>
<td>%SN</td>
<td>Show Name</td>
</tr>
<tr class="even">
<td> </td>
<td>%S.N</td>
<td>Show.Name</td>
</tr>
<tr>
<td> </td>
<td>%S_N</td>
<td>Show_Name</td>
</tr>
<tr class="even">
<td class="align-right"><b>Regular Air Date:</b></td>
<td>%AD</td>
<td>2010 03 09</td>
</tr>
<tr>
<td> </td>
<td>%A.D</td>
<td>2010.03.09</td>
</tr>
<tr class="even">
<td> </td>
<td>%A_D</td>
<td>2010_03_09</td>
</tr>
<tr>
<td> </td>
<td>%A-D</td>
<td>2010-03-09</td>
</tr>
<tr class="even">
<td class="align-right"><b>Episode Name:</b></td>
<td>%EN</td>
<td>Episode Name</td>
</tr>
<tr>
<td> </td>
<td>%E.N</td>
<td>Episode.Name</td>
</tr>
<tr class="even">
<td> </td>
<td>%E_N</td>
<td>Episode_Name</td>
</tr>
<tr>
<td class="align-right"><b>Quality:</b></td>
<td>%QN</td>
<td>720p BluRay</td>
</tr>
<tr class="even">
<td> </td>
<td>%Q.N</td>
<td>720p.BluRay</td>
</tr>
<tr>
<td> </td>
<td>%Q_N</td>
<td>720p_BluRay</td>
</tr>
<tr class="even">
<td class="align-right"><b>Year:</b></td>
<td>%Y</td>
<td>2010</td>
</tr>
<tr>
<td class="align-right"><b>Month:</b></td>
<td>%M</td>
<td>3</td>
</tr>
<tr class="even">
<td class="align-right"> </td>
<td>%0M</td>
<td>03</td>
</tr>
<tr>
<td class="align-right"><b>Day:</b></td>
<td>%D</td>
<td>9</td>
</tr>
<tr class="even">
<td class="align-right"> </td>
<td>%0D</td>
<td>09</td>
</tr>
<tr>
<td class="align-right"><i class="icon-info-sign" title="Multi-EP style is ignored"></i> <b>Release Name:</b></td>
<td>%RN</td>
<td>Show.Name.2010.03.09.HDTV.XviD-RLSGROUP</td>
</tr>
<tr class="even">
<td class="align-right"><i class="icon-info-sign" title="'SickGear' is used in place of RLSGROUP if it could not be properly detected"></i> <b>Release Group:</b></td>
<td>%RG</td>
<td>RLSGROUP</td>
</tr>
<tr>
<td class="align-right"><i class="icon-info-sign" title="If episode is proper/repack add 'proper' to name."></i> <b>Release Type:</b></td>
<td>%RT</td>
<td>PROPER</td>
</tr>
</tbody>
</table>
<br/>
</div>
</div><!-- /naming_abd_custom -->
<div id="naming_abd_example_div">
<h3>Air-By-Date sample:</h3>
<div class="example">
<span class="jumbo" id="naming_abd_example"> </span>
</div>
<br/>
</div>
</div><!-- /naming_abd_different -->
<div class="field-pair">
<label for="naming_custom_sports">
<span class="component-title">Custom Sports</span>
<span class="component-desc">
<input type="checkbox" class="enabler" id="naming_custom_sports" name="naming_custom_sports" #if $ sickbeard . NAMING_CUSTOM_SPORTS then " checked= \" checked \" " else " " # />
<p>name Sports shows differently than regular shows</p>
</span>
</label>
</div>
<div id="content_naming_custom_sports">
<div class="field-pair">
<label for="name_sports_presets">
<span class="component-title">Naming pattern</span>
<span class="component-desc">
<select id="name_sports_presets" class="form-control input-sm">
#set is_sports_custom = True
#for $ cur_preset in $ naming . name_sports_presets :
#set $ tmp = $ naming . test_name ( $ cur_preset )
#if $ cur_preset == $ sickbeard . NAMING_SPORTS_PATTERN :
#set is_sports_custom = False
#end if
<option id=" $ cur_preset " #if $ cur_preset == $ sickbeard . NAMING_SPORTS_PATTERN then " selected= \" selected \" " else " " # > $ os . path . join ( $ tmp ['dir'], $ tmp ['name'])</option>
#end for
<option id=" $ sickbeard . NAMING_SPORTS_PATTERN " #if $ is_sports_custom then " selected= \" selected \" " else " " # >Custom...</option>
</select>
</span>
</label>
</div>
<div id="naming_sports_custom">
<div class="field-pair" style="padding-top: 0;">
<label for="naming_sports_pattern">
<span class="component-title"></span>
<span class="component-desc">
<input type="text" name="naming_sports_pattern" id="naming_sports_pattern" value=" $ sickbeard . NAMING_SPORTS_PATTERN " class="form-control input-sm input350" />
<img src=" $ sbRoot /images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_sports_key" title="Toggle Sports Naming Legend" class="legend" />
</span>
</label>
</div>
<div id="naming_sports_key" style="display: none;">
<table class="Key">
<thead>
<tr>
<th class="align-right">Meaning</th>
<th>Pattern</th>
<th width="60%">Result</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="3">Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)</th>
</tr>
</tfoot>
<tbody>
<tr>
<td class="align-right"><b>Show Name:</b></td>
<td>%SN</td>
<td>Show Name</td>
</tr>
<tr class="even">
<td> </td>
<td>%S.N</td>
<td>Show.Name</td>
</tr>
<tr>
<td> </td>
<td>%S_N</td>
<td>Show_Name</td>
</tr>
<tr class="even">
<td class="align-right"><b>Sports Air Date:</b></td>
<td>%AD</td>
<td>9 Mar 2011</td>
</tr>
<tr>
<td> </td>
<td>%A.D</td>
<td>9.Mar.2011</td>
</tr>
<tr class="even">
<td> </td>
<td>%A_D</td>
<td>9_Mar_2011</td>
</tr>
<tr>
<td> </td>
<td>%A-D</td>
<td>9-Mar-2011</td>
</tr>
<tr class="even">
<td class="align-right"><b>Episode Name:</b></td>
<td>%EN</td>
<td>Episode Name</td>
</tr>
<tr>
<td> </td>
<td>%E.N</td>
<td>Episode.Name</td>
</tr>
<tr class="even">
<td> </td>
<td>%E_N</td>
<td>Episode_Name</td>
</tr>
<tr>
<td class="align-right"><b>Quality:</b></td>
<td>%QN</td>
<td>720p BluRay</td>
</tr>
<tr class="even">
<td> </td>
<td>%Q.N</td>
<td>720p.BluRay</td>
</tr>
<tr>
<td> </td>
<td>%Q_N</td>
<td>720p_BluRay</td>
</tr>
<tr class="even">
<td class="align-right"><b>Year:</b></td>
<td>%Y</td>
<td>2010</td>
</tr>
<tr>
<td class="align-right"><b>Month:</b></td>
<td>%M</td>
<td>3</td>
</tr>
<tr class="even">
<td class="align-right"> </td>
<td>%0M</td>
<td>03</td>
</tr>
<tr>
<td class="align-right"><b>Day:</b></td>
<td>%D</td>
<td>9</td>
</tr>
<tr class="even">
<td class="align-right"> </td>
<td>%0D</td>
<td>09</td>
</tr>
<tr>
<td class="align-right"><i class="icon-info-sign" title="Multi-EP style is ignored"></i> <b>Release Name:</b></td>
<td>%RN</td>
<td>Show.Name.9th.Mar.2011.HDTV.XviD-RLSGROUP</td>
</tr>
<tr class="even">
<td class="align-right"><i class="icon-info-sign" title="'SickGear' is used in place of RLSGROUP if it could not be properly detected"></i> <b>Release Group:</b></td>
<td>%RG</td>
<td>RLSGROUP</td>
</tr>
<tr>
<td class="align-right"><i class="icon-info-sign" title="If episode is proper/repack add 'proper' to name."></i> <b>Release Type:</b></td>
<td>%RT</td>
<td>PROPER</td>
</tr>
</tbody>
</table>
<br/>
</div>
</div><!-- /naming_sports_custom -->
<div id="naming_sports_example_div">
<h3>Sports sample:</h3>
<div class="example">
<span class="jumbo" id="naming_sports_example"> </span>
</div>
<br/>
</div>
</div><!-- /naming_sports_different -->
<!-- naming_anime_custom -->
2014-03-10 05:18:05 +00:00
<div class="field-pair">
2014-11-17 00:17:37 +00:00
<label for="naming_custom_anime">
<span class="component-title">Custom Anime</span>
<span class="component-desc">
<input type="checkbox" class="enabler" id="naming_custom_anime" name="naming_custom_anime" #if $ sickbeard . NAMING_CUSTOM_ANIME then " checked= \" checked \" " else " " # />
<p>name Anime shows differently than regular shows</p>
</span>
</label>
2014-03-10 05:18:05 +00:00
</div>
2014-11-17 00:17:37 +00:00
<div id="content_naming_custom_anime">
<div class="field-pair">
<label for="name_anime_presets">
<span class="component-title">Name Pattern:</span>
<span class="component-desc">
<select id="name_anime_presets" class="form-control input-sm">
#set is_anime_custom = True
#for $ cur_preset in $ naming . name_anime_presets :
#set $ tmp = $ naming . test_name ( $ cur_preset )
#if $ cur_preset == $ sickbeard . NAMING_ANIME_PATTERN :
#set is_anime_custom = False
#end if
<option id=" $ cur_preset " #if $ cur_preset == $ sickbeard . NAMING_ANIME_PATTERN then " selected= \" selected \" " else " " # > $ os . path . join ( $ tmp ['dir'], $ tmp ['name'])</option>
#end for
<option id=" $ sickbeard . NAMING_ANIME_PATTERN " #if $ is_anime_custom then " selected= \" selected \" " else " " # >Custom...</option>
</select>
</span>
</label>
</div>
<div id="naming_anime_custom">
<div class="field-pair">
<label for="naming_anime_pattern">
<span class="component-title"></span>
<span class="component-desc">
<input type="text" name="naming_anime_pattern" id="naming_anime_pattern" value=" $ sickbeard . NAMING_ANIME_PATTERN " class="form-control input-sm input350" />
<img src=" $ sbRoot /images/legend16.png" width="16" height="16" alt="[Toggle Key]" id="show_naming_anime_key" title="Toggle Anime Naming Legend" class="legend" />
</span>
</label>
</div>
<div id="naming_anime_key" style="display: none;">
<table class="Key">
<thead>
<tr>
<th class="align-right">Meaning</th>
<th>Pattern</th>
<th width="60%">Result</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="3">Use lower case if you want lower case names (eg. %sn, %e.n, %q_n etc)</th>
</tr>
</tfoot>
<tbody>
<tr>
<td class="align-right"><b>Show Name:</b></td>
<td>%SN</td>
<td>Show Name</td>
</tr>
<tr class="even">
<td> </td>
<td>%S.N</td>
<td>Show.Name</td>
</tr>
<tr>
<td> </td>
<td>%S_N</td>
<td>Show_Name</td>
</tr>
<tr class="even">
<td class="align-right"><b>Season Number:</b></td>
<td>%S</td>
<td>2</td>
</tr>
<tr>
<td> </td>
<td>%0S</td>
<td>02</td>
</tr>
<tr class="even">
<td class="align-right"><b>XEM Season Number:</b></td>
<td>%XMS</td>
<td>2</td>
</tr>
<tr>
<td> </td>
<td>%0XMS</td>
<td>02</td>
</tr>
<tr class="even">
<td class="align-right"><b>Episode Number:</b></td>
<td>%E</td>
<td>3</td>
</tr>
<tr>
<td> </td>
<td>%0E</td>
<td>03</td>
</tr>
<tr class="even">
<td class="align-right"><b>XEM Episode Number:</b></td>
<td>%XME</td>
<td>3</td>
</tr>
<tr>
<td> </td>
<td>%0XME</td>
<td>03</td>
</tr>
<tr class="even">
<td class="align-right"><b>Episode Name:</b></td>
<td>%EN</td>
<td>Episode Name</td>
</tr>
<tr>
<td> </td>
<td>%E.N</td>
<td>Episode.Name</td>
</tr>
<tr class="even">
<td> </td>
<td>%E_N</td>
<td>Episode_Name</td>
</tr>
<tr>
<td class="align-right"><b>Quality:</b></td>
<td>%QN</td>
<td>720p BluRay</td>
</tr>
<tr class="even">
<td> </td>
<td>%Q.N</td>
<td>720p.BluRay</td>
</tr>
<tr>
<td> </td>
<td>%Q_N</td>
<td>720p_BluRay</td>
</tr>
<tr class="even">
<td class="align-right"><i class="icon-info-sign" title="Multi-EP style is ignored"></i> <b>Release Name:</b></td>
<td>%RN</td>
<td>Show.Name.S02E03.HDTV.XviD-RLSGROUP</td>
</tr>
<tr>
<td class="align-right"><i class="icon-info-sign" title="'SickGear' is used in place of RLSGROUP if it could not be properly detected"></i> <b>Release Group:</b></td>
<td>%RG</td>
<td>RLSGROUP</td>
</tr>
<tr class="even">
<td class="align-right"><i class="icon-info-sign" title="If episode is proper/repack add 'proper' to name."></i> <b>Release Type:</b></td>
<td>%RT</td>
<td>PROPER</td>
</tr>
</tbody>
</table>
<br/>
</div>
</div><!-- /naming_anime_custom -->
<div class="field-pair">
<label for="naming_anime_multi_ep">
<span class="component-title">Multi-Episode style</span>
<span class="component-desc">
<select id="naming_anime_multi_ep" name="naming_anime_multi_ep" class="form-control input-sm">
#for $ cur_multi_ep in sorted ( $ multiEpStrings . items ( ) , key = lambda x : x [ 1 ] ) :
<option value=" $ cur_multi_ep [0]" #if $ cur_multi_ep [ 0 ] == $ sickbeard . NAMING_ANIME_MULTI_EP then " selected= \" selected \" class= \" selected \" " else " " # > $ cur_multi_ep [1]</option>
#end for
</select>
</span>
</label>
</div>
<div id="naming_example_anime_div">
<h3>Single-Episode Anime sample:</h3>
<div class="example">
<span class="jumbo" id="naming_example_anime"> </span>
</div>
<br/>
</div>
<div id="naming_example_multi_anime_div">
<h3>Multi-Episode Anime sample:</h3>
<div class="example">
<span class="jumbo" id="naming_example_multi_anime"> </span>
</div>
<br/>
</div>
<div class="field-pair">
<label for="naming_anime">
<span class="component-title">Add absolute numbering</span>
<span class="component-desc">
<input type="radio" name="naming_anime" id="naming_anime" value="1" #if $ sickbeard . NAMING_ANIME == 1 then " checked= \" checked \" " else " " # />
<p>add the absolute number to the season/episode format<br>
(eg. S15E45 - 310 vs S15E45)</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="naming_anime_only">
<span class="component-title">Only absolute numbering</span>
<span class="component-desc">
<input type="radio" name="naming_anime" id="naming_anime_only" value="2" #if $ sickbeard . NAMING_ANIME == 2 then " checked= \" checked \" " else " " # />
<p>replace season/episode format with absolute numbering</p>
</span>
</label>
</div>
<div class="field-pair">
<label for="naming_anime_none">
<span class="component-title">No absolute numbering</span>
<span class="component-desc">
<input type="radio" name="naming_anime" id="naming_anime_none" value="3" #if $ sickbeard . NAMING_ANIME == 3 then " checked= \" checked \" " else " " # />
<p>do <b>not</b> include absolute numbering</p>
</span>
</label>
</div>
</div><!-- /naming_anime_different -->
<div></div>
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
</fieldset>
</div><!-- /component-group2 //-->
2014-10-21 19:09:01 +00:00
<div id="core-component-group3" class="component-group">
2014-11-17 00:17:37 +00:00
<div class="component-group-desc">
<h3>Metadata</h3>
<p>The data associated to the data. These are files associated to a TV show in the form of images and text that, when supported, will enhance the viewing experience.</p>
</div>
<fieldset class="component-group-list">
<div class="field-pair">
<label>
<span class="component-title">Metadata type</span>
<span class="component-desc">
#set $ m_dict = $ metadata . get_metadata_generator_dict ( )
<select id="metadataType" class="form-control input-sm">
#for ( $ cur_name , $ cur_generator ) in sorted ( $ m_dict . items ( ) ) :
<option value=" $ cur_generator . get_id ()"> $ cur_name </option>
#end for
</select>
</span>
</label>
<span>Toggle the metadata options that you wish to be created. <b>Multiple targets may be used.</b></span>
</div>
2014-10-21 19:09:01 +00:00
#for ( $ cur_name , $ cur_generator ) in $ m_dict . items ( ) :
#set $ cur_metadata_inst = $ sickbeard . metadata_provider_dict [ $ cur_generator . name ]
#set $ cur_id = $ cur_generator . get_id ( )
<div class="metadataDiv" id=" $ cur_id ">
<div class="metadata_options_wrapper">
<h4>Create:</h4>
<div class="metadata_options">
<label for=" ${ cur_id } _show_metadata"><input type="checkbox" class="metadata_checkbox" id=" ${ cur_id } _show_metadata" #if $ cur_metadata_inst . show_metadata then " checked= \" checked \" " else " " # /> Show Metadata</label>
<label for=" ${ cur_id } _episode_metadata"><input type="checkbox" class="metadata_checkbox" id=" ${ cur_id } _episode_metadata" #if $ cur_metadata_inst . episode_metadata then " checked= \" checked \" " else " " # /> Episode Metadata</label>
<label for=" ${ cur_id } _fanart"><input type="checkbox" class="float-left metadata_checkbox" id=" ${ cur_id } _fanart" #if $ cur_metadata_inst . fanart then " checked= \" checked \" " else " " # /> Show Fanart</label>
<label for=" ${ cur_id } _poster"><input type="checkbox" class="float-left metadata_checkbox" id=" ${ cur_id } _poster" #if $ cur_metadata_inst . poster then " checked= \" checked \" " else " " # /> Show Poster</label>
<label for=" ${ cur_id } _banner"><input type="checkbox" class="float-left metadata_checkbox" id=" ${ cur_id } _banner" #if $ cur_metadata_inst . banner then " checked= \" checked \" " else " " # /> Show Banner</label>
<label for=" ${ cur_id } _episode_thumbnails"><input type="checkbox" class="float-left metadata_checkbox" id=" ${ cur_id } _episode_thumbnails" #if $ cur_metadata_inst . episode_thumbnails then " checked= \" checked \" " else " " # /> Episode Thumbnails</label>
<label for=" ${ cur_id } _season_posters"><input type="checkbox" class="float-left metadata_checkbox" id=" ${ cur_id } _season_posters" #if $ cur_metadata_inst . season_posters then " checked= \" checked \" " else " " # /> Season Posters</label>
<label for=" ${ cur_id } _season_banners"><input type="checkbox" class="float-left metadata_checkbox" id=" ${ cur_id } _season_banners" #if $ cur_metadata_inst . season_banners then " checked= \" checked \" " else " " # /> Season Banners</label>
<label for=" ${ cur_id } _season_all_poster"><input type="checkbox" class="float-left metadata_checkbox" id=" ${ cur_id } _season_all_poster" #if $ cur_metadata_inst . season_all_poster then " checked= \" checked \" " else " " # /> Season All Poster</label>
<label for=" ${ cur_id } _season_all_banner"><input type="checkbox" class="float-left metadata_checkbox" id=" ${ cur_id } _season_all_banner" #if $ cur_metadata_inst . season_all_banner then " checked= \" checked \" " else " " # /> Season All Banner</label>
</div>
</div>
<div class="metadata_example_wrapper">
<h4>Results:</h4>
<div class="metadata_example">
<label for=" ${ cur_id } _show_metadata"><span id=" ${ cur_id } _eg_show_metadata"> $ cur_metadata_inst . eg_show_metadata </span></label>
<label for=" ${ cur_id } _episode_metadata"><span id=" ${ cur_id } _eg_episode_metadata"> $ cur_metadata_inst . eg_episode_metadata </span></label>
<label for=" ${ cur_id } _fanart"><span id=" ${ cur_id } _eg_fanart"> $ cur_metadata_inst . eg_fanart </span></label>
<label for=" ${ cur_id } _poster"><span id=" ${ cur_id } _eg_poster"> $ cur_metadata_inst . eg_poster </span></label>
<label for=" ${ cur_id } _banner"><span id=" ${ cur_id } _eg_banner"> $ cur_metadata_inst . eg_banner </span></label>
<label for=" ${ cur_id } _episode_thumbnails"><span id=" ${ cur_id } _eg_episode_thumbnails"> $ cur_metadata_inst . eg_episode_thumbnails </span></label>
<label for=" ${ cur_id } _season_posters"><span id=" ${ cur_id } _eg_season_posters"> $ cur_metadata_inst . eg_season_posters </span></label>
<label for=" ${ cur_id } _season_banners"><span id=" ${ cur_id } _eg_season_banners"> $ cur_metadata_inst . eg_season_banners </span></label>
<label for=" ${ cur_id } _season_all_poster"><span id=" ${ cur_id } _eg_season_all_poster"> $ cur_metadata_inst . eg_season_all_poster </span></label>
<label for=" ${ cur_id } _season_all_banner"><span id=" ${ cur_id } _eg_season_all_banner"> $ cur_metadata_inst . eg_season_all_banner </span></label>
</div>
</div>
<input type="hidden" name=" ${ cur_id } _data" id=" ${ cur_id } _data" value=" $ cur_metadata_inst . get_config ()" />
</div>
#end for
<div class="clearfix"></div><br/>
2014-11-17 00:17:37 +00:00
2014-10-21 19:09:01 +00:00
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
2014-11-17 00:17:37 +00:00
</fieldset>
</div><!-- /component-group3 //-->
2014-10-21 19:09:01 +00:00
<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" />
2014-03-10 05:18:05 +00:00
2014-10-21 19:09:01 +00:00
</form>
</div>
</div>
2014-03-10 05:18:05 +00:00
<div class="clearfix"></div>
<script type="text/javascript" charset="utf-8">
<!--
2014-11-17 00:17:37 +00:00
jQuery(' #config - components ' ).tabs();
jQuery(' #tv _download_dir ' ).fileBrowser( { title: ' Select TV Download Directory ' });
2014-03-10 05:18:05 +00:00
//-->
</script>
2014-11-17 00:17:37 +00:00
#include $ os . path . join ( $ sickbeard . PROG_DIR , ' gui/slick/interfaces/default/inc_bottom.tmpl ' )