2012-09-13 15:27:34 +00:00
< %inherit file="base.html"/>
< %!
import mylar
%>
< %def name="headerIncludes()">
< div id = "subhead_container" >
< div id = "subhead_menu" >
< a id = "menu_link_shutdown" href = "shutdown" > Shut Down< / a >
< a id = "menu_link_shutdown" href = "restart" > Restart< / a >
< / div >
< / div >
< /%def>
< %def name="body()">
< div id = "paddingheader" >
< h1 class = "clearfix" > < img src = "interfaces/default/images/icon_gear.png" alt = "settings" / > Settings< / h1 >
< / div >
< form action = "configUpdate" method = "post" class = "form" id = "configUpdate" >
< div id = "tabs" >
< ul >
< li > < a href = "#tabs-1" > Web Interface< / a > < / li >
< li > < a href = "#tabs-2" > Download settings< / a > < / li >
< li > < a href = "#tabs-3" > Search providers< / a > < / li >
< li > < a href = "#tabs-4" > Quality & Post Processing< / a > < / li >
< li > < a href = "#tabs-5" > Advanced Settings< / a > < / li >
< / ul >
< div id = "tabs-1" >
< table class = "configtable" summary = "Web Interface" >
< tr >
< td >
< fieldset >
< legend > Basic< / legend >
< div class = "row" >
< label > HTTP Host< / label >
< input type = "text" name = "http_host" value = "${config['http_host']}" size = "30" >
< small > e.g. localhost or 0.0.0.0< / small >
< / div >
< div class = "row" >
< label > HTTP Port< / label >
< input type = "text" name = "http_port" value = "${config['http_port']}" size = "10" >
< / div >
< div class = "row" >
< label > HTTP Username< / label >
< input type = "text" name = "http_username" value = "${config['http_user']}" size = "30" >
< / div >
< div class = "row" >
< label > HTTP Password< / label >
< input type = "password" name = "http_password" value = "${config['http_pass']}" size = "30" >
< / div >
< div class = "row checkbox" >
< input type = "checkbox" name = "launch_browser" value = "1" $ { config [ ' launch_browser ' ] } / > < label > Launch Browser on Startup< / label >
< / div >
2012-12-20 10:39:37 +00:00
< div class = "row checkbox" >
< input type = "checkbox" name = "logverbose" value = "1" $ { config [ ' logverbose ' ] } / > < label > Verbose Logging< / label >
< br / > < small > *Use this only when experiencing problems*< / small >
< / div >
2012-09-13 15:27:34 +00:00
< / fieldset >
< / td >
< td >
< fieldset >
< legend > Interval< / legend >
< div class = "row" >
< label > NZB Search Interval< / label >
< input type = "text" name = "nzb_search_interval" value = "${config['nzb_search_interval']}" size = "4" > mins
< / div >
< div class = "row" >
< label > Download Scan Interval< / label >
< input type = "text" name = "download_scan_interval" value = "${config['download_scan_interval']}" size = "4" > mins
< / div >
< div class = "row" >
< label > Library Scan Interval< / label >
< input type = "text" name = "libraryscan_interval" value = "${config['libraryscan_interval']}" size = "4" > mins
< / div >
< legend > Comic Location< / legend >
< div >
< small class = "heading" > < span style = "float: left; margin-right: .3em; margin-top: 4px;" class = "ui-icon ui-icon-info" > < / span > Automatic folder creation happens BENEATH this path< / small >
< / div >
< div class = "row" >
< label > Comic Location Path< / label >
< input type = "text" name = "destination_dir" value = "${config['destination_dir']}" size = "50" >
< small > Where do you store your comics?< br / > (or where do you want me to store them)< / small >
< small > e.g. /Users/name/Comics or /Volumes/share/comics< / small >
< / div >
< / fieldset >
< / td >
< / tr >
< / table >
< / div >
< div id = "tabs-2" >
< table class = "configtable" summary = "Download Settings" >
< tr >
< td >
< fieldset >
< legend > SABnzbd< / legend >
< div class = "row" >
< label > SABnzbd Host:< / label >
< input type = "text" name = "sab_host" value = "${config['sab_host']}" size = "30" >
< small > usually http://localhost:8080< / small >
< / div >
< div class = "row" >
< label > SABnzbd Username< / label >
< input type = "text" name = "sab_username" value = "${config['sab_user']}" size = "20" >
< / div >
< div class = "row" >
< label > SABnzbd API:< / label >
< input type = "text" name = "sab_apikey" value = "${config['sab_api']}" size = "36" >
< / div >
< div class = "row" >
< label > SABnzbd Password:< / label >
< input type = "password" name = "sab_password" value = "${config['sab_pass']}" size = "20" >
< / div >
< div class = "row" >
< label > SABnzbd Category:< / label >
< input type = "text" name = "sab_category" value = "${config['sab_cat']}" size = "20" >
< / div >
2012-09-28 15:42:25 +00:00
< div class = "row radio clearfix" >
< label > SABNzbd Priority:< / label >
< input type = "radio" name = "sab_priority" value = "1" $ { config [ ' sab_priority_1 ' ] } / > < label > default Priority< / label >
< input type = "radio" name = "sab_priority" value = "2" $ { config [ ' sab_priority_2 ' ] } / > < label > Low Priority< / label >
< input type = "radio" name = "sab_priority" value = "3" $ { config [ ' sab_priority_3 ' ] } / > < label > Normal Priority< / label >
< input type = "radio" name = "sab_priority" value = "4" $ { config [ ' sab_priority_4 ' ] } / > < label > High Priority< / label >
< input type = "radio" name = "sab_priority" value = "5" $ { config [ ' sab_priority_5 ' ] } / > < label > Paused< / label >
< / div >
2012-09-13 15:27:34 +00:00
< / fieldset >
< / td >
< td >
< legend > Usenet< / legend >
< fieldset >
< div class = "row checkbox" >
< input id = "useblackhole" type = "checkbox" name = "blackhole" value = 1 $ { config [ ' use_blackhole ' ] } / > < label > Use Black Hole< / label >
< / div >
< div class = "config" >
< div class = "row" >
< label > Black Hole Directory< / label >
< input type = "text" name = "blackhole_dir" value = "${config['blackhole_dir']}" size = "30" >
< small > Folder your Download program watches for NZBs< / small >
< / div >
< / div >
< / fieldset >
< fieldset >
< div class = "checkbox row" >
< label > Usenet Retention (in days)< / label >
< input type = "text" name = "usenet_retention" value = "${config['usenet_retention']}" size $
< / div >
< / fieldset >
< / td >
< / tr >
< / table >
< / div >
< div id = "tabs-3" >
< table class = "configtable" summary = "Search Providers" >
< tr >
< td >
< fieldset >
< legend > NZB.SU< / legend >
< div class = "row checkbox" >
< input id = "usenzbsu" type = "checkbox" onclick = "initConfigCheckbox($(this));" name = "nzbsu" value = "1" $ { config [ ' use_nzbsu ' ] } / > < label > Use NZB.su< / label >
< / div >
< div class = "config" >
< div class = "row" >
< label > NZB.SU API< / label >
< input type = "text" name = "nzbsu_apikey" value = "${config['nzbsu_api']}" size = "36" >
< / div >
< / div >
< / fieldset >
< fieldset >
< legend > DOGNZB< / legend >
< div class = "row checkbox" >
< input id = "usedognzb" type = "checkbox" onclick = "initConfigCheckbox($(this));" name = "dognzb" value = "1" $ { config [ ' use_dognzb ' ] } / > < label > Use DOGnzb< / label >
< / div >
< div class = "config" >
< div class = "row" >
< label > DOGNZB API< / label >
< input type = "text" name = "dognzb_apikey" value = "${config['dognzb_api']}" size = "36" >
< / div >
< / div >
< / fieldset >
< fieldset >
< legend > EXPERIMENTAL< / legend >
< div >
< small class = "heading" > < span style = "float: left; margin-right: .3em; margin-top: 4px;" class = "ui-icon ui-icon-info" > < / span > Note: this is an experimental search - results may be better/worse.< / small >
< / div >
< div class = "row checkbox" >
< input id = "useexperimental" type = "checkbox" onclick = "initConfigCheckbox($(this));" name = "experimental" value = "1" $ { config [ ' use_experimental ' ] } / > < label > Use Experimental Search< / label >
< / div >
< / fieldset >
< / td >
< td >
2012-12-16 17:57:02 +00:00
< fieldset >
< legend > Newznab< / legend >
< div class = "row checkbox" >
< input id = "usenewznab" type = "checkbox" name = "newznab" onclick = "initConfigCheckbox($(this));" value = "1" $ { config [ ' use_newznab ' ] } / > < label > Use Newznab< / label >
< / div >
< div id = "newznab_providers" >
< div class = "config" id = "newznab1" >
< div class = "row" >
< label > Newznab Host< / label >
< input type = "text" name = "newznab_host" value = "${config['newznab_host']}" size = "30" >
< small > e.g. http://nzb.su< / small >
< / div >
< div class = "row" >
< label > Newznab API< / label >
< input type = "text" name = "newznab_apikey" value = "${config['newznab_api']}" size = "36" >
< / div >
< div class = "row checkbox" >
< input id = "newznab_enabled" type = "checkbox" name = "newznab_enabled" onclick = "initConfigCheckbox($(this));" value = "1" $ { config [ ' newznab_enabled ' ] } / > < label > Enabled< / label >
< / div >
< / div >
< %
newznab_number = 2
%>
%for newznab in config['extra_newznabs']:
< %
if newznab[2] == '1' or newznab[2] == 1:
newznab_enabled = "checked"
else:
newznab_enabled = ""
%>
< div class = "config" id = "newznab${newznab_number}" >
< div class = "row" >
< label > Newznab Host< / label >
< input type = "text" name = "newznab_host${newznab_number}" value = "${newznab[0]}" size = "30" >
< / div >
< div class = "row" >
< label > Newznab API< / label >
< input type = "text" name = "newznab_api${newznab_number}" value = "${newznab[1]}" size = "36" >
< / div >
< div class = "row checkbox" >
< input id = "newznab_enabled" type = "checkbox" name = "newznab_enabled${newznab_number}" value = "1" $ { newznab_enabled } / > < label > Enabled< / label >
< / div >
< div class = "row" >
< input type = "button" class = "remove" id = "newznab${newznab_number}" value = "Remove ${newznab[0]}" >
< / div >
< / div >
< %
newznab_number += 1
%>
%endfor
< input type = "button" value = "Add Newznab" class = "add_newznab" id = "add_newznab" / >
< / div >
< / fieldset >
2012-09-13 15:27:34 +00:00
< / td >
< / tr >
< / table >
< / div >
< div id = "tabs-4" >
< table class = "configtable" summary = "Post Processing" >
< tr >
< td >
< fieldset >
< legend > Quality< / legend >
< div class = "row radio clearfix" >
< input type = "radio" name = "preferred_quality" value = "1" $ { config [ ' pref_qual_1 ' ] } / > < label > cbr< / label >
< input type = "radio" name = "preferred_quality" value = "2" $ { config [ ' pref_qual_2 ' ] } / > < label > cbz< / label >
< input type = "radio" name = "preferred_quality" value = "0" $ { config [ ' pref_qual_0 ' ] } / > < label > Whichever - just get it< / label >
< / div >
< / fieldset >
< / td >
< td >
< fieldset >
< legend > Post-Processing< / legend >
< div class = "row checkbox left clearfix" >
2012-12-16 17:57:02 +00:00
< input type = "checkbox" name = "rename_files" value = "1" $ { config [ ' rename_files ' ] } / > < label > Rename files < / label >
2012-09-13 15:27:34 +00:00
< / div >
< div class = "row" < / div >
< / div >
< / fieldset >
< / td >
< / tr >
< / table >
< / div >
< div id = "tabs-5" >
< table class = "configtable" summary = "Advanced Settings" >
< tr >
< td >
< fieldset >
< legend > Renaming options< / legend >
< div >
2012-10-30 10:43:01 +00:00
< label > *Folder Format is used only when adding new comics*< / label >
2012-09-13 15:27:34 +00:00
< / div >
2012-10-30 10:43:01 +00:00
< div class = "row" >
< label > Folder Format< / label >
< input type = "text" name = "folder_format" value = "${config['folder_format']}" size = "43" >
< small > Use: $Publisher, $Series, $Year< br / >
E.g.: $Publisher/$Series ($Year) = DC Comics/Action Comics (2011)< / small >
< / div >
< div class = "row" >
< label > File Format< / label >
< input type = "text" name = "file_format" value = "${config['file_format']}" size = "43" >
< small > Use: $Series, $Year, $Issue< br / >
E.g.: $Series $Issue ($Year) = Animal Man 0 (2012) < / small >
2012-09-13 15:27:34 +00:00
< / fieldset >
< fieldset >
< legend > Advanced Options< / legend >
2012-09-14 17:29:01 +00:00
< div class = "row checkbox" >
2012-09-14 17:44:32 +00:00
< input id = "replace_spaces" type = "checkbox" onclick = "initConfigCheckbox($(this));" name = "replace_spaces" value = "1" $ { config [ ' replace_spaces ' ] } / > < label > Replace Spaces< / label >
2012-09-14 17:29:01 +00:00
< / div >
< div class = "row" >
< label > Format< / label >
< select name = "replace_char" >
%for x in ['.', '_']:
< %
if config['replace_char'] == x:
outputselect = 'selected'
else:
outputselect = ''
%>
< option value = ${x} $ { outputselect } > ${x}< / option >
%endfor
< / select >
< / div >
2012-10-30 10:43:01 +00:00
< div class = "row checkbox" >
< input id = "zero_level" type = "checkbox" onclick = "initConfigCheckbox($(this));" name = "zero_level" value = "1" $ { config [ ' zero_level ' ] } / > < label > Zero level Suppression< / label >
< / div >
< div class = "row" >
< label > Format< / label >
< select name = "zero_level_n" >
%for zeros in ['none', '0x', '00x']:
< %
if config['zero_level_n'] == zeros:
outputselect = 'selected'
else:
outputselect = ''
%>
< option value = ${zeros} $ { outputselect } > ${zeros}< / option >
%endfor
< / select >
< / div >
2012-09-14 17:29:01 +00:00
2012-09-13 15:27:34 +00:00
< / fieldset >
< / td >
< td >
< fieldset >
< legend > Miscellaneous< / legend >
< div class = "row left checkbox" >
< input type = "checkbox" name = "autowant_upcoming" value = "1" $ { config [ ' autowant_upcoming ' ] } / > < label > Automatically Mark Upcoming Issues as Wanted< / label >
< div class = "row leftcheckbox" >
< input type = "checkbox" name = "autowant_all" value = "1" $ { config [ ' autowant_all ' ] } / > < label > Automatically Mark All Issues as Wanted< / label >
< / div >
< / div >
< / fieldset >
< fieldset >
< legend > Interface< / legend >
< div class = "row" >
< label > Interface< / label >
< select name = "interface" > < h3 >
%for interface in config['interface_list']:
< %
if interface == mylar.INTERFACE:
selected = 'selected="selected"'
else:
selected = ''
%>
< option value = "${interface}" $ { selected } > ${interface}< / option >
%endfor
< / select >
< / div >
< div class = "row" >
< label > Log Directory:< / label >
< input type = "text" name = "log_dir" value = "${config['log_dir']}" size = "50" >
< / div >
< / fieldset >
< / td >
< / tr >
< / table >
< / div >
< input type = "button" value = "Save Changes" onclick = "doAjaxCall('configUpdate',$(this),'tabs',true);return false;" data-success = "Changes saved successfully" >
< div class = "message" >
< p > < span class = "ui-icon ui-icon-info" style = "float: left; margin-right: .3em;" > < / span > Web Interface changes require a restart to take effect< / p >
< / div >
< / form >
< / div >
< /%def>
< %def name="javascriptIncludes()">
< script >
hideServerDivs = function () {
$("#customoptions").slideUp();
$("#hpserveroptions").slideUp();
};
handleNewSelection = function () {
hideServerDivs();
switch ($(this).val()) {
case 'custom':
$("#customoptions").slideDown();
break;
case 'mylar':
$("#hpserveroptions").slideDown();
break;
}
};
function initThisPage()
{
2012-12-16 17:57:02 +00:00
var deletedNewznabs = 0;
$(".remove").click(function() {
$(this).parent().parent().remove();
deletedNewznabs = deletedNewznabs + 1;
});
$("#add_newznab").click(function() {
var intId = $("#newznab_providers > div").size() + deletedNewznabs + 1;
var formfields = $("< div class = \"config\" id = \"newznab" + intId + " \ " > < div class = \"row\" > < label > Newznab Host< / label > < input type = \"text\" name = \"newznab_host" + intId + " \ " size = \"30\" > < / div > < div class = \"row\" > < label > Newznab API< / label > < input type = \"text\" name = \"newznab_api" + intId + " \ " size = \"36\" > < / div > < div class = \"row\" > < label > Category Mapping< / label > < input type = \"text\" name = \"newznab_category" + intId + " \ " size = \"36\" > < / div > < div class = \"row checkbox \ " > < input type = \"checkbox\" name = \"newznab_enabled" + intId + " \ " value = \"1\" checked / > < label > Enabled< / label > < / div > ");
var removeButton = $("< div class = \"row\" > < input type = \"button\" class = \"remove\" value = \"Remove\" / > < / div > ");
removeButton.click(function() {
$(this).parent().remove();
deletedNewznabs = deletedNewznabs + 1;
});
formfields.append(removeButton);
formfields.append("< / div > ");
$("#add_newznab").before(formfields);
});
2012-09-13 15:27:34 +00:00
$(function() {
$( "#tabs" ).tabs();
});
initActions();
2012-10-30 10:43:01 +00:00
initConfigCheckbox("#launch_browser");
2012-12-16 17:57:02 +00:00
initConfigCheckbox("#usenewznab");
2012-09-13 15:27:34 +00:00
initConfigCheckbox("#usenzbsu");
initConfigCheckbox("#usedognzb");
initConfigCheckbox("#useexperimental");
initConfigCheckbox("#useraw");
2012-09-14 17:44:32 +00:00
initConfigCheckbox("#replace_spaces");
2012-10-30 10:43:01 +00:00
initConfigCheckbox("#zero_level");
2012-09-13 15:27:34 +00:00
}
$(document).ready(function() {
initThisPage();
});
< / script >
< /%def>