mirror of
https://github.com/lazylibrarian/LazyLibrarian.git
synced 2026-06-12 09:35:37 -04:00
2545 lines
169 KiB
HTML
2545 lines
169 KiB
HTML
<%inherit file="base.html"/>
|
|
<%!
|
|
import lazylibrarian
|
|
%>
|
|
|
|
<%def name="headerIncludes()">
|
|
<div id="subhead_container">
|
|
<div id="subhead_menu">
|
|
<a onclick="self.shutdownQA(this)" class="button btn btn-sm btn-danger" data-toggle="tooltip" data-placement="bottom" title="Terminate the LazyLibrarian process - Be careful if you're doing this remotely"><i class="fa fa-power-off"></i> Shutdown</a>
|
|
<a class="button btn btn-sm btn-warning" onclick="self.restartQA(this, '', '')" data-toggle="tooltip" data-placement="bottom" title="Restart LazyLibrarian"><i class="fa fa-refresh"></i> Restart</a>
|
|
<a class="button btn btn-sm btn-primary" href="checkForUpdates" data-toggle="tooltip" data-placement="bottom" title="Check for the latest release"><i class="fa fa-check-square-o"></i> Check Version</a>
|
|
</div>
|
|
</div>
|
|
</%def>
|
|
<%def name="body()">
|
|
<form action="configUpdate" method="post">
|
|
|
|
<div role="tab-table" class="hidden">
|
|
|
|
<div>
|
|
<ul class="nav nav-tabs" role="tablist" id="configtabs">
|
|
<li role="presentation" id="1" aria-controls="webinterface"><a role="tab" data-toggle="tab" aria-controls="webinterface" href="#webinterface">Interface</a></li>
|
|
<li role="presentation" id="2" aria-controls="importoptions"><a role="tab" data-toggle="tab" aria-controls="importoptions" href="#importoptions">Importing</a></li>
|
|
<li role="presentation" id="3" aria-controls="downloadsettings"><a role="tab" data-toggle="tab" aria-controls="downloadsettings" href="#downloadsettings">Downloaders</a></li>
|
|
<li role="presentation" id="4" aria-controls="providers"><a role="tab" data-toggle="tab" aria-controls="providers" href="#providers">Providers</a></li>
|
|
<li role="presentation" id="5" aria-controls="searchprocessing"><a role="tab" data-toggle="tab" aria-controls="searchprocessing" href="#searchprocessing">Processing</a></li>
|
|
<li role="presentation" id="6" aria-controls="notifications"><a role="tab" data-toggle="tab" aria-controls="notifications" href="#notifications">Notifications</a></li>
|
|
<li role="presentation" id="7" aria-controls="capabilities"><a role="tab" data-toggle="tab" aria-controls="capabilities" href="#capabilities">Categories</a></li>
|
|
<li role="presentation" id="8" aria-controls="filters"><a role="tab" data-toggle="tab" aria-controls="filters" href="#filters">Filters</a></li>
|
|
</ul>
|
|
|
|
|
|
<div class="tab-content">
|
|
|
|
<div role="tabpanel" class="tab-pane" id="webinterface">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<fieldset>
|
|
<legend>Server Details</legend>
|
|
<div class="form-group">
|
|
<input type="text" id="current_tab" name="current_tab" value="${lazylibrarian.CURRENT_TAB}" class="hidden">
|
|
<label for="http_host" class="control-label">Hostname:</label>
|
|
<input type="text" id="http_host" name="http_host" value="${lazylibrarian.HTTP_HOST}" class="form-control" placeholder="Hostname">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="http_port" class="control-label">Port:</label>
|
|
<input type="text" id="http_port" name="http_port" value="${lazylibrarian.HTTP_PORT}" class="form-control" placeholder="Port Number (Default 5299)">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="http_root" class="control-label">Web Root:</label>
|
|
<input type="text" id="http_root" name="http_root" value="${lazylibrarian.HTTP_ROOT}" class="form-control" placeholder="Web Root">
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.HTTP_PROXY == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="http_proxy" class="control-label">
|
|
<input type="checkbox" id="http_proxy" name="http_proxy" value="1" ${checked} />
|
|
Enable http proxy</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.HTTPS_ENABLED == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="https_enabled" class="control-label">
|
|
<input type="checkbox" id="https_enabled" name="https_enabled" value="1" ${checked} />
|
|
Enable https</label>
|
|
</div>
|
|
<fieldset id="https_options">
|
|
<div class="form-group">
|
|
<label for="https_cert" class="control-label">Https Certificate:</label>
|
|
<input type="text" id="https_cert" name="https_cert" value="${lazylibrarian.HTTPS_CERT}" class="form-control" placeholder="https certificate">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="https_key" class="control-label">Https Key:</label>
|
|
<input type="text" id="https_key" name="https_key" value="${lazylibrarian.HTTPS_KEY}" class="form-control" placeholder="https key">
|
|
</div>
|
|
</fieldset>
|
|
<div class="form-group">
|
|
<label for="logdir" class="control-label">Logdir:</label>
|
|
<input type="text" id="logdir" name="logdir" value="${lazylibrarian.LOGDIR}" class="form-control" placeholder="Log Dir">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="loglimit" class="control-label">Log Limit:</label>
|
|
<input type="text" id="loglimit" name="loglimit" value="${lazylibrarian.LOGLIMIT}" class="form-control" placeholder="Log Limit">
|
|
<span class="help-block">Size of on-screen log, smaller is faster and uses less memory</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="loglevel">Log Level:</label>
|
|
<input type="text" id="loglevel" name="loglevel" value="${lazylibrarian.LOGLEVEL}" class="form-control" placeholder="Log Level">
|
|
<span class="help-block">0=Quiet, 1=Normal, 2=Debug, >2=file/console log always set to debug (ignores toggle)</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="displaylength">Table Display Length:</label>
|
|
<select name="displaylength" id="displaylength" class="form-control">
|
|
%for displaylength in [5, 10, 15, 25, 50, 100, -1]:
|
|
<%
|
|
if displaylength == lazylibrarian.DISPLAYLENGTH:
|
|
selected = 'selected="selected"'
|
|
else:
|
|
selected = ''
|
|
%>
|
|
<option value="${displaylength}" ${selected}>${displaylength}</option>
|
|
%endfor
|
|
</select>
|
|
<span class="help-block">Use -1 to display all rows</span>
|
|
</div>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>Proxy Details</legend>
|
|
<div class="form-group">
|
|
<label for="proxy_host" class="control-label">Proxy Host:</label>
|
|
<input type="text" id="proxy_host" name="proxy_host" value="${lazylibrarian.PROXY_HOST}" class="form-control" placeholder="Proxy Host">
|
|
<span class="help-block">Set this value if you are behind a proxy</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="proxy_type" class="control-label">Proxy Type:</label>
|
|
<input type="text" id="proxy_type" name="proxy_type" value="${lazylibrarian.PROXY_TYPE}" class="form-control" placeholder="Proxy Type">
|
|
<span class="help-block">http, https, etc</span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<fieldset>
|
|
<legend>Access Control</legend>
|
|
<div class="form-group">
|
|
<label for="http_user">Username:</label>
|
|
<input type="text" id="http_user" name="http_user" value="${lazylibrarian.HTTP_USER}" class="form-control" placeholder="Username">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="http_pass" class="control-label">Password:</label>
|
|
<input type="password" id="http_pass" name="http_pass" value="${lazylibrarian.HTTP_PASS}" class="form-control" placeholder="Password">
|
|
</div>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>Startup</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.LAUNCH_BROWSER == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="launch_browser" class="control-label">
|
|
<input type="checkbox" id="launch_browser" name="launch_browser" value="1" ${checked} />
|
|
Launch browser</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.API_ENABLED == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="api_enabled" "title="Allow remote applications to interface with LazyLibrarian">
|
|
<input type="checkbox" id="api_enabled" name="api_enabled" value="1" ${checked} />
|
|
Enable API</label>
|
|
</div>
|
|
<fieldset id="api_options">
|
|
<div id="api_options" class="form-group">
|
|
<label>API key</label>
|
|
<input type="text" name="api_key" id="api_key" value="${lazylibrarian.API_KEY}" size="36">
|
|
<input class="button btn btn-sm btn-primary" type="button" value="Generate" id="generateAPI" onClick="document.location.reload(true)">
|
|
<br><small>Current API key: <strong>${lazylibrarian.API_KEY}</strong></small>
|
|
</div>
|
|
</fieldset>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>Appearance</legend>
|
|
<div class="form-group">
|
|
<label for="http_look">Interface:</label>
|
|
<select id="http_look" name="http_look" class="form-control">
|
|
%for http_look in config['http_look_list']:
|
|
<%
|
|
if http_look == lazylibrarian.HTTP_LOOK:
|
|
selected = 'selected="selected"'
|
|
else:
|
|
selected = ''
|
|
%>
|
|
<option value="${http_look}" ${selected}>${http_look}</option>
|
|
%endfor
|
|
</select>
|
|
</div>
|
|
<div class="checkbox hidden"> <!-- Not really required? -->
|
|
<label for="bookstrap" class="control-label">
|
|
<input type="checkbox" name="use_bookstrap" id="bookstrap" value="1" ${checked} />
|
|
Use Bookstrap</label>
|
|
</div>
|
|
<fieldset id="bookstrap_options">
|
|
<div class="form_group">
|
|
<label for="bookstrap_theme" class="control-label">Bootswatch Theme:</label>
|
|
<select name="bookstrap_theme" id="bookstrap_theme" class="form-control">
|
|
%for bookstrap_theme in lazylibrarian.BOOKSTRAP_THEMELIST:
|
|
<%
|
|
if bookstrap_theme == lazylibrarian.BOOKSTRAP_THEME:
|
|
selected = 'selected="selected"'
|
|
else:
|
|
selected = ''
|
|
%>
|
|
<option value="${bookstrap_theme}" ${selected}>${bookstrap_theme}</option>
|
|
%endfor
|
|
</select>
|
|
</div>
|
|
</fieldset>
|
|
<br>
|
|
<div class="row">
|
|
<div class="col-xs-12">
|
|
<button class="button btn btn-sm btn-primary" type="button" value="Show Jobs" id="show_Jobs"><i class="fa fa-list-ul"></i> Show Jobs</button>
|
|
<button class="button btn btn-sm btn-warning" type="button" value="Restart Jobs" id="restart_Jobs"><i class="fa fa-refresh"></i> Restart Jobs</button>
|
|
<br><br>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div role="tabpanel" class="tab-pane" id="importoptions">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<fieldset>
|
|
<legend>Book API</legend>
|
|
<div class="form-group">
|
|
<%
|
|
if lazylibrarian.BOOK_API == "GoodReads":
|
|
gr_selected = 'selected="selected"'
|
|
else:
|
|
gr_selected = ''
|
|
|
|
if lazylibrarian.BOOK_API == "GoogleBooks":
|
|
gb_selected = 'selected="selected"'
|
|
else:
|
|
gb_selected = ''
|
|
%>
|
|
<label for="book_api" class="control-label">Book Search API</label>
|
|
<select id="book_api" name="book_api" class="form-control">
|
|
<option value = "GoodReads" ${gr_selected}>GoodReads</option>
|
|
<option value = "GoogleBooks" ${gb_selected}>GoogleBooks</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="gr_api">Goodreads API:</label>
|
|
<input type="text" id="gr_api" name="gr_api" value="${lazylibrarian.GR_API}" class="form-control" placeholder="Goodreads API">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="gb_api" class="control-label">GoogleBooks API:</label>
|
|
<input type="text" id="gb_api" name="gb_api" value="${lazylibrarian.GB_API}" class="form-control">
|
|
</div>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>File Formats</legend>
|
|
<div class="form-group">
|
|
<label for="ebook_type" class="control-label">eBooks:</label>
|
|
<input type="text" id="ebook_type" name="ebook_type" value="${lazylibrarian.EBOOK_TYPE}" class="form-control" placeholder="eBook file formats">
|
|
<span class="help-block">Comma separated file extensions. Default: epub, mobi, pdf</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="mag_type" class="control-label">Magazines:</label>
|
|
<input type="text" id="mag_type" name="mag_type" value="${lazylibrarian.MAG_TYPE}" class="form-control" placeholder="Magazine file formats">
|
|
<span class="help-block">Comma separated file extensions. Default: pdf</span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<fieldset>
|
|
<legend>Language</legend>
|
|
<div class="form-group">
|
|
<label for="imp_preflang" class="control-label">Import languages:</label>
|
|
<input type="text" id="imp_preflang" name="imp_preflang" value="${lazylibrarian.IMP_PREFLANG}" class="form-control" placeholder="Import Languages">
|
|
|
|
<span class="help-block">Comma separated country shortcodes:<br/>
|
|
GoodReads e.g: eng, en-US, spa, ita<br/>
|
|
GoogleBooks e.g: en, es, it<br/>
|
|
Default: en, eng, en-US<br/>
|
|
Try adding "Unknown" to list if GoodReads is missing results, or "All" if you don't want to check for language</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="imp_monthlang" class="control=label">Languages for month names:</label>
|
|
<input type="text" id="imp_monthlang" name="imp_monthlang" value="${lazylibrarian.IMP_MONTHLANG}" class="form-control" placeholder="Languages for month names">
|
|
<span class="help-block">Comma separated language codes for magazine issues:<br/>
|
|
e.g: fr_FR.utf8, es_ES.utf8<br/>
|
|
Default: blank, English month names are preloaded Changes to this setting require a restart</span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div role="tabpanel" class="tab-pane" id="downloadsettings">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<fieldset>
|
|
<legend>Usenet</legend>
|
|
<fieldset class="usenet_options">
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.NZB_DOWNLOADER_SABNZBD == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="nzb_downloader_sabnzbd" class="control-label">
|
|
<input type="checkbox" id="nzb_downloader_sabnzbd" name="nzb_downloader_sabnzbd" value="1" ${checked} />
|
|
Use Sabnzbd+</label>
|
|
</div>
|
|
<fieldset id="sabnzbd_options">
|
|
<legend>SABnzbd+</legend>
|
|
<div class="row">
|
|
<div class="form-group col-md-8">
|
|
<label for="sab_host" class="control-label">SABnzbd Host:</label>
|
|
<input type="text" id="sab_host" name="sab_host" value="${lazylibrarian.SAB_HOST}" class="form-control" placeholder="SABnzbd Host">
|
|
</div>
|
|
<div class="form-group col-md-4">
|
|
<label for="sab_port" class="control-label">SABnzbd Port:</label>
|
|
<input type="text" id="sab_port" name="sab_port" value="${lazylibrarian.SAB_PORT}" class="form-control" placeholder="SABnzbd Port">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group col-md-6">
|
|
<label for="sab_user">SABnzbd Username</label>
|
|
<input type="text" id="sab_user" name="sab_user" value="${lazylibrarian.SAB_USER}" class="form-control" placeholder="SABnzbd Username">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="sab_api" class="control-label">SABnzbd Password:</label>
|
|
<input type="password" id="sab_pass" name="sab_pass" value="${lazylibrarian.SAB_PASS}" class="form-control" placeholder="SABnzbd Password">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="sab_api" class="control-label">SABnzbd API Key:</label>
|
|
<input type="text" id="sab_api" name="sab_api" value="${lazylibrarian.SAB_API}" class="form-control" placeholder="SABnzbd API Key">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="sab_cat">SABnzbd Category:</label>
|
|
<input type="text" id="sab_cat" name="sab_cat" value="${lazylibrarian.SAB_CAT}" class="form-control" placeholder="SABnzbd Category">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="sab_subdir" class="control-label">SABnzbd SubDir:</label>
|
|
<input type="text" id="sab_subdir" name="sab_subdir" value="${lazylibrarian.SAB_SUBDIR}" class="form-control" placeholder="SABnzbd Sub Dir">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="usenet_retention" class="control-label">Retention Max Age:</label>
|
|
<input type="text" id="usenet_retention" name="usenet_retention" value="${lazylibrarian.USENET_RETENTION}" class="form-control" placeholder="Retention MAximum Age">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="testSABnzbd" class="control-label">SABnzbd Connection:</label><br>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="Test SABnzbd" id="testSABnzbd"><i class="fa fa-list-ul"></i> Test SABnzbd</button>
|
|
<br><br>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.NZB_DOWNLOADER_NZBGET == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="nzb_downloader_nzbget" class="control-label">
|
|
<input type="checkbox" id="nzb_downloader_nzbget" name="nzb_downloader_nzbget" value="1" ${checked} />
|
|
Use NZBGet</label>
|
|
</div>
|
|
|
|
<fieldset id="nzbget_options">
|
|
<legend>NZBGet</legend>
|
|
<div class="row">
|
|
<div class="form-group col-md-8">
|
|
<label for="nzbget_host" class="control-label">NZBGet Host:</label>
|
|
<input type="text" id="nzbget_host" name="nzbget_host" value="${lazylibrarian.NZBGET_HOST}" class="form-control" placeholder="NZBGet Host">
|
|
</div>
|
|
<div class="form-group col-md-4">
|
|
<label for="nzbget_port" class="control-label">Port</label>
|
|
<input type="text" id="nzbget_port" name="nzbget_port" value="${lazylibrarian.NZBGET_PORT}" class="form-control" placeholder="NZBGet Port">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="nzbget_user" class="control-label">Username</label>
|
|
<input type="text" id="nzbget_user" name="nzbget_user" value="${lazylibrarian.NZBGET_USER}" class="form-control" placeholder="NZBGet Username">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="nzbget_pass">Password:</label>
|
|
<input type="password" id="nzbget_pass" name="nzbget_pass" value="${lazylibrarian.NZBGET_PASS}" class="form-control" placeholder="NZBGet Password">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="nzbget_cat" class="control-label">Category:</label>
|
|
<input type="text" id="nzbget_cat" name="nzbget_cat" value="${lazylibrarian.NZBGET_CATEGORY}" class="form-control" placeholder="NZBGet Category">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="nzbget_priority">Priority:</label>
|
|
<input type="text" id="nzbget_priority" name="nzbget_priority" value="${lazylibrarian.NZBGET_PRIORITY}" class="form-control" placeholder="NZBGet Priority">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="testNZBget" class="control-label">NZBget Connection:</label><br>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="Test NZBget" id="testNZBget"><i class="fa fa-list-ul"></i> Test NZBget</button>
|
|
<br><br>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.USE_SYNOLOGY == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_synology" class="control-label">
|
|
<input type="checkbox" id="use_synology" name="use_synology" value="1" ${checked} />
|
|
Use Synology DownloadStation</label>
|
|
</div>
|
|
|
|
<fieldset id="synology_options">
|
|
<legend>Synology</legend>
|
|
<div class="row">
|
|
<div class="form-group col-md-8">
|
|
<label for="synology_host" class="control-label">Synology Host:</label>
|
|
<input type="text" id="synology_host" name="synology_host" value="${lazylibrarian.SYNOLOGY_HOST}" class="form-control" placeholder="Synology Host">
|
|
</div>
|
|
<div class="form-group col-md-4">
|
|
<label for="synology_port" class="control-label">Port</label>
|
|
<input type="text" id="synology_port" name="synology_port" value="${lazylibrarian.SYNOLOGY_PORT}" class="form-control" placeholder="Synology Port">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="synology_user" class="control-label">Username</label>
|
|
<input type="text" id="synology_user" name="synology_user" value="${lazylibrarian.SYNOLOGY_USER}" class="form-control" placeholder="Synology Username">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="synology_pass">Password:</label>
|
|
<input type="password" id="synology_pass" name="synology_pass" value="${lazylibrarian.SYNOLOGY_PASS}" class="form-control" placeholder="Synology Password">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="synology_dir">Directory:</label>
|
|
<input type="text" id="synology_dir" name="synology_dir" value="${lazylibrarian.SYNOLOGY_DIR}" class="form-control" placeholder="Synology Directory">
|
|
</div>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.NZB_DOWNLOADER_SYNOLOGY == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="nzb_downloader_synology" class="control-label">
|
|
<input type="checkbox" id="nzb_downloader_synology" name="nzb_downloader_synology" value="1" ${checked} />
|
|
Use DownloadStation for usenet</label>
|
|
</div>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.TOR_DOWNLOADER_SYNOLOGY == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="tor_downloader_synology" class="control-label">
|
|
<input type="checkbox" id="tor_downloader_synology" name="tor_downloader_synology" value="1" ${checked} />
|
|
Use DownloadStation for torrents</label>
|
|
</div>
|
|
|
|
<div class="form-group col-md-6">
|
|
<label for="testSynology" class="control-label">Synology Connection:</label><br>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="Test Synology" id="testSynology"><i class="fa fa-list-ul"></i> Test Synology</button>
|
|
<br><br>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.NZB_DOWNLOADER_BLACKHOLE == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="nzb_downloader_blackhole" class="control-label">
|
|
<input type="checkbox" id="nzb_downloader_blackhole" name="nzb_downloader_blackhole" value="1" ${checked} />
|
|
Use NZB Blackhole</label>
|
|
</div>
|
|
<fieldset id="nzb_blackhole_options">
|
|
<legend>NZB Blackhole</legend>
|
|
<div class="form-group">
|
|
<label for="nzb_blackholedir" class="control-label">NZB Blackhole Directory:</label>
|
|
<input type="text" id="nzb_blackholedir" name="nzb_blackholedir" value="${lazylibrarian.NZB_BLACKHOLEDIR}" class="form-control" placeholder="NZB Blackhole Directory">
|
|
</div>
|
|
</fieldset>
|
|
</fieldset>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<fieldset>
|
|
<legend>Torrents</legend>
|
|
<fieldset id="torrent_options">
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.TOR_DOWNLOADER_DELUGE == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="tor_downloader_deluge" class="control-label">
|
|
<input type="checkbox" id="tor_downloader_deluge" name="tor_downloader_deluge" value="1" ${checked} />
|
|
Use Deluge</label>
|
|
</div>
|
|
<fieldset id="deluge_options">
|
|
<legend>Deluge</legend>
|
|
<div class="row">
|
|
<div class="form-group col-md-8">
|
|
<label for="deluge_host">Deluge Host:</label>
|
|
<input type="text" id="deluge_host" name="deluge_host" value="${lazylibrarian.DELUGE_HOST}" class="form-control" placeholder="Deluge Host">
|
|
</div>
|
|
<div class="form-group col-md-4">
|
|
<label for="deluge_port" class="control-label">Deluge Port:</label>
|
|
<input type="text" id="deluge_port" name="deluge_port" value="${lazylibrarian.DELUGE_PORT}" class="form-control" placeholder="Deluge Port">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group col-md-6">
|
|
<label for="deluge_user" class="controllabel">Username:</label>
|
|
<input type="text" id="deluge_user" name="deluge_user" value="${lazylibrarian.DELUGE_USER}" class="form-control" placeholder="Deluge Username">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="deluge_pass" class="control-label">Password:</label>
|
|
<input type="password" id="deluge_pass" name="deluge_pass" value="${lazylibrarian.DELUGE_PASS}" class="form-control" placeholder="Deluge Password">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="deluge_label" class="control-label">Deluge Label:</label>
|
|
<input type="text" id="deluge_label" name="deluge_label" value="${lazylibrarian.DELUGE_LABEL}" class="form-control" placeholder="Deluge Label">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="testDeluge" class="control-label">Deluge Connection:</label><br>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="Test Deluge" id="testDeluge"><i class="fa fa-list-ul"></i> Test Deluge</button>
|
|
<br><br>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.TOR_DOWNLOADER_TRANSMISSION == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="tor_downloader_transmission" class="control-label">
|
|
<input type="checkbox" id="tor_downloader_transmission" name="tor_downloader_transmission" value="1" ${checked} />
|
|
Use Transmission</label>
|
|
</div>
|
|
<fieldset id="transmission_options">
|
|
<legend>Transmission</legend>
|
|
<div class="row">
|
|
<div class="form-group col-md-8">
|
|
<label for="transmission_host" class="control-label">Transmission Host:</label>
|
|
<input type="text" id="transmission_host" name="transmission_host" value="${lazylibrarian.TRANSMISSION_HOST}" class="form-control" placeholder="Transmission host">
|
|
</div>
|
|
<div class="form-group col-md-4">
|
|
<label for="transmission_port" class="control-label">Transmission Port :</label>
|
|
<input type="text" id="transmission_port" name="transmission_port" value="${lazylibrarian.TRANSMISSION_PORT}" class="form-control" placeholder="Transmission port">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="transmission_user" class="control-label">Username :</label>
|
|
<input type="text" id="transmission_user" name="transmission_user" value="${lazylibrarian.TRANSMISSION_USER}" class="form-control" placeholder="Transmission Username">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="transmission_pass" class="control-label">Password :</label>
|
|
<input type="password" id="transmission_pass" name="transmission_pass" value="${lazylibrarian.TRANSMISSION_PASS}" class="form-control" placeholder="Transmission Password">
|
|
</div>
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="testTransmission" class="control-label">Transmission Connection:</label><br>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="Test Transmission" id="testTransmission"><i class="fa fa-list-ul"></i> Test Transmission</button>
|
|
<br><br>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.TOR_DOWNLOADER_RTORRENT == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="tor_downloader_rtorrent" class="control-label">
|
|
<input type="checkbox" id="tor_downloader_rtorrent" name="tor_downloader_rtorrent" value="1" ${checked} />
|
|
Use rTorrent</label>
|
|
</div>
|
|
<fieldset id="rtorrent_options">
|
|
<legend>rTorrent</legend>
|
|
<div class="row">
|
|
<div class="form-group col-md-8">
|
|
<label for="rtorrent_host" class="control-label">rTorrent Host:</label>
|
|
<input type="text" id="rtorrent_host" name="rtorrent_host" value="${lazylibrarian.RTORRENT_HOST}" class="form-control" placeholder="rTorrent Host">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="rtorrent_user" class="control-label">rTorrent User:</label>
|
|
<input type="text" id="rtorrent_user" name="rtorrent_user" value="${lazylibrarian.RTORRENT_USER}" class="form-control" placeholder="rTorrent User">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="rtorrent_pass" class="control-label">rTorrent Password:</label>
|
|
<input type="text" id="rtorrent_pass" name="rtorrent_pass" value="${lazylibrarian.RTORRENT_PASS}" class="form-control" placeholder="rTorrent Password">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="rtorrent_label" class="control-label">rTorrent Label:</label>
|
|
<input type="text" id="rtorrent_label" name="rtorrent_label" value="${lazylibrarian.RTORRENT_LABEL}" class="form-control" placeholder="rTorrent Label">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="rtorrent_dir" class="control-label">rTorrent Directory:</label>
|
|
<input type="text" id="rtorrent_dir" name="rtorrent_dir" value="${lazylibrarian.RTORRENT_DIR}" class="form-control" placeholder="rTorrent Directory">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<span class="help-block">Leave rTorrent directory blank to use rtorrent defaults
|
|
</span></div>
|
|
<div>
|
|
<div class="form-group col-md-6">
|
|
<label for="testrTorrent" class="control-label">rTorrent Connection:</label><br>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="Test rTorrent" id="testrTorrent"><i class="fa fa-list-ul"></i> Test rTorrent</button>
|
|
<br><br>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.TOR_DOWNLOADER_UTORRENT == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="tor_downloader_utorrent" class="control-label">
|
|
<input type="checkbox" id="tor_downloader_utorrent" name="tor_downloader_utorrent" value="1" ${checked} />
|
|
Use uTorrent</label>
|
|
</div>
|
|
<fieldset id="utorrent_options">
|
|
<legend>uTorrent</legend>
|
|
<div class="row">
|
|
<div class="form-group col-md-8">
|
|
<label for="utorrent_host" class="control-label">uTorrent Host:</label>
|
|
<input type="text" id="utorrent_host" name="utorrent_host" value="${lazylibrarian.UTORRENT_HOST}" class="form-control" placeholder="uTorrent Host">
|
|
</div>
|
|
<div class="form-group col-md-4">
|
|
<label for="utorrent_port" class="control-label">uTorrent Port:</label>
|
|
<input type="text" id="utorrent_port" name="utorrent_port" value="${lazylibrarian.UTORRENT_PORT}" class="form-control" placeholder="uTorrent Port">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="utorrent_user" class="control-label">Username:</label>
|
|
<input type="text" id="utorrent_user" name="utorrent_user" value="${lazylibrarian.UTORRENT_USER}" class="form-control" placeholder="uTorrent Username">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label>Password:</label>
|
|
<input type="password" id="utorrent_pass" name="utorrent_pass" value="${lazylibrarian.UTORRENT_PASS}" class="form-control" placeholder="uTorrent Password">
|
|
</div>
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="utorrent_label" class="control-label">uTorrent Label:</label>
|
|
<input type="text" id="utorrent_label" name="utorrent_label" value="${lazylibrarian.UTORRENT_LABEL}" class="form-control" placeholder="uTorrent Label">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="testuTorrent" class="control-label">uTorrent Connection:</label><br>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="Test uTorrent" id="testuTorrent"><i class="fa fa-list-ul"></i> Test uTorrent</button>
|
|
<br><br>
|
|
</div>
|
|
</fieldset>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.TOR_DOWNLOADER_QBITTORRENT == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="tor_downloader_qbittorrent" class="control-label">
|
|
<input type="checkbox" id="tor_downloader_qbittorrent" name="tor_downloader_qbittorrent" value="1" ${checked} />
|
|
Use qBitTorrent</label>
|
|
</div>
|
|
<fieldset id="qbittorrent_options">
|
|
<legend>qBitTorrent</legend>
|
|
<div class="row">
|
|
<div class="form-group col-md-8">
|
|
<label for="qbittorrent_host" class="control-label">qBitTorrent Host:</label>
|
|
<input type="text" id="qbittorrent_host" name="qbittorrent_host" value="${lazylibrarian.QBITTORRENT_HOST}" class="form-control" placeholder="qBitTorrent Host">
|
|
</div>
|
|
<div class="form-group col-md-4">
|
|
<label for="qbittorrent_port" class="control-label">qBitTorrent Port:</label>
|
|
<input type="text" id="qbittorrent_port" name="qbittorrent_port" value="${lazylibrarian.QBITTORRENT_PORT}" class="form-control" placeholder="qBitTorrent Port">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="qbittorrent_user" class="control-label">Username:</label>
|
|
<input type="text" id="qbittorrent_user" name="qbittorrent_user" value="${lazylibrarian.QBITTORRENT_USER}" class="form-control" placeholder="qBitTorrent Username">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label>Password:</label>
|
|
<input type="password" id="qbittorrent_pass" name="qbittorrent_pass" value="${lazylibrarian.QBITTORRENT_PASS}" class="form-control" placeholder="qBitTorrent Password">
|
|
</div>
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="qbittorrent_label" class="control-label">qBitTorrent Label:</label>
|
|
<input type="text" id="qbittorrent_label" name="qbittorrent_label" value="${lazylibrarian.QBITTORRENT_LABEL}" class="form-control" placeholder="qBitTorrent Label">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="testqBittorrent" class="control-label">qBittorrent Connection:</label><br>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="Test qBittorrent" id="testqBittorrent"><i class="fa fa-list-ul"></i> Test qBittorrent</button>
|
|
<br><br>
|
|
</div>
|
|
</fieldset>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.TOR_DOWNLOADER_BLACKHOLE == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="tor_downloader_blackhole" class="control-label">
|
|
<input type="checkbox" id="tor_downloader_blackhole" name="tor_downloader_blackhole" value="1" ${checked} />
|
|
Use Torrent Blackhole</label>
|
|
</div>
|
|
<fieldset id="tor_blackhole_options">
|
|
<legend>Torrent Blackhole</legend>
|
|
<div class="form-group">
|
|
<label for="torrent_dir" class="control-label">Torrent Blackhole Directory:</label>
|
|
<input type="text" id="torrent_dir" name="torrent_dir" value="${lazylibrarian.TORRENT_DIR}" class="form-control" placeholder="Torrent Blackhole Directory">
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.TOR_CONVERT_MAGNET == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="tor_convert_magnet" class="control-label">
|
|
<input type="checkbox" id="tor_convert_magnet" name="tor_convert_magnet" value="1" ${checked} />
|
|
Convert magnet links into torrent files</label>
|
|
</div>
|
|
</fieldset>
|
|
<div class="form-group">
|
|
<label for="numberofseeders" class="control-label">Minimum seeders:</label>
|
|
<input type="text" id="numberofseeders" name="numberofseeders" value="${lazylibrarian.NUMBEROFSEEDERS}" class="form-control" placeholder="Number of Seeders">
|
|
<span class="help-block">Number of minimum seeders a torrent must have to be accepted</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.KEEP_SEEDING == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="keep_seeding" class="control-label">
|
|
<input type="checkbox" id="keep_seeding" name="keep_seeding" value="1" ${checked} />
|
|
Keep seeding after processing</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="download_dir" class="control-label">Directory:</label>
|
|
<input type="text" id="download_dir" name="download_dir" value="${lazylibrarian.DOWNLOAD_DIR}" class="form-control" placeholder="Download Directory">
|
|
<span class="help-block">Full path to the folder where books are downloaded</span>
|
|
</div>
|
|
</fieldset>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div role="tabpanel" class="tab-pane" id="providers">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="col-md-4 usenet_options">
|
|
<fieldset>
|
|
<legend>Newznab Providers</legend>
|
|
%for provider in lazylibrarian.NEWZNAB_PROV:
|
|
<%
|
|
checked = ''
|
|
if provider['ENABLED'] == True:
|
|
checked = 'checked="checked"'
|
|
%>
|
|
<div class="form-group">
|
|
<div class="input-group">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="newznab[${loop.index}][enabled]" name="newznab[${loop.index}][enabled]" value="1" ${checked} />
|
|
</span>
|
|
<input type="text" placeholder="Newznab URL #${loop.index}" id="newznab[${loop.index}][host]" name="newznab[${loop.index}][host]" value="${provider['HOST']}" class="form-control">
|
|
</div>
|
|
<label for="newznab[${loop.index}][host]" class="sr-only">Newznab URL</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="newznab[${loop.index}][api]" class="sr-only">Newznab API Key</label>
|
|
<input type="text" placeholder="Newznab API #${loop.index}" id="newznab[${loop.index}][api]" name="newznab[${loop.index}][api]" value="${provider['API']}" class="form-control">
|
|
</div>
|
|
%endfor
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-4 usenet_options">
|
|
<fieldset>
|
|
<legend>Torznab Providers</legend>
|
|
%for provider in lazylibrarian.TORZNAB_PROV:
|
|
<%
|
|
checked = ''
|
|
if provider['ENABLED'] == True:
|
|
checked = 'checked="checked"'
|
|
%>
|
|
<div class="form-group">
|
|
<div class="input-group">
|
|
<label for="torznab[${loop.index}][host]" class="sr-only">Torznab URL</label>
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="torznab[${loop.index}][enabled]" name="torznab[${loop.index}][enabled]" value="1" ${checked} />
|
|
</span>
|
|
<input type="text" placeholder="Torznab URL #${loop.index}" id="torznab[${loop.index}][host]" name="torznab[${loop.index}][host]" value="${provider['HOST']}" class="form-control">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="torznab[${loop.index}][api]" class="sr-only">Torznab API Key</label>
|
|
<input type="text" placeholder="Torznab API #${loop.index}" id="torznab[${loop.index}][api]" name="torznab[${loop.index}][api]" value="${provider['API']}" class="form-control">
|
|
</div>
|
|
%endfor
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<fieldset>
|
|
<legend>RSS Providers</legend>
|
|
<div id="rss_options">
|
|
%for provider in lazylibrarian.RSS_PROV:
|
|
<%
|
|
checked = ''
|
|
if provider['ENABLED'] == True:
|
|
checked = 'checked="checked"'
|
|
%>
|
|
<div class="form-group">
|
|
<label for="rss[${loop.index}][host]" class="sr-only">RSS URL</label>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="rss[${loop.index}][enabled]" name="rss[${loop.index}][enabled]" value="1" ${checked} />
|
|
</span>
|
|
<input type="text" placeholder="RSS URL #${loop.index}" id="rss[${loop.index}][host]" name="rss[${loop.index}][host]" value="${provider['HOST']}" class="form-control" />
|
|
</div>
|
|
</div>
|
|
%endfor
|
|
</div>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>Torrent Providers</legend>
|
|
<%
|
|
if lazylibrarian.KAT == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="form-group">
|
|
<label for="kat_host" class="sr-only">KAT Host</label>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="kat" name="kat" value="1" ${checked} />
|
|
</span>
|
|
<input type="text" placeholder="KAT Host" id="kat_host" name="kat_host" value="${lazylibrarian.KAT_HOST}" class="form-control">
|
|
</div>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.TPB == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="form-group">
|
|
<label for="tpb_host" class="sr-only">TPB Host</label>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="tpb" name="tpb" value="1" ${checked} />
|
|
</span>
|
|
<input type="text" placeholder="TPB Host" id="tpb_host" name="tpb_host" value="${lazylibrarian.TPB_HOST}" class="form-control">
|
|
</div>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.ZOO == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="form-group">
|
|
<label for="zoo_host" class="sr-only">zooqle host</label>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="zoo" name="zoo" value="1" ${checked} />
|
|
</span>
|
|
<input type="text" placeholder="zooqle host" id="zoo_host" name="zoo_host" value="${lazylibrarian.ZOO_HOST}" class="form-control">
|
|
</div>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.TDL == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="form-group">
|
|
<label for="tdl_host" class="sr-only">torrentdownload host</label>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="tdl" name="tdl" value="1" ${checked} />
|
|
</span>
|
|
<input type="text" placeholder="torrentdownload host" id="tdl_host" name="tdl_host" value="${lazylibrarian.TDL_HOST}" class="form-control">
|
|
</div>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.EXTRA == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="form-group">
|
|
<label for="extra_host" class="sr-only">extratorrent host</label>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="extra" name="extra" value="1" ${checked} />
|
|
</span>
|
|
<input type="text" placeholder="extratorrent host" id="extra_host" name="extra_host" value="${lazylibrarian.EXTRA_HOST}" class="form-control">
|
|
</div>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.LIME == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="form-group">
|
|
<label for="lime_host" class="sr-only">limetorrent host</label>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="lime" name="lime" value="1" ${checked} />
|
|
</span>
|
|
<input type="text" placeholder="limetorrent host" id="lime_host" name="lime_host" value="${lazylibrarian.LIME_HOST}" class="form-control">
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>Direct Download Providers</legend>
|
|
<%
|
|
if lazylibrarian.GEN == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="form-group">
|
|
<label for="gen_host" class="sr-only">libgen host</label>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="gen" name="gen" value="1" ${checked} />
|
|
</span>
|
|
<input type="text" placeholder="libgen host" id="gen_host" name="gen_host" value="${lazylibrarian.GEN_HOST}" class="form-control">
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div role="tabpanel" class="tab-pane" id="searchprocessing">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<fieldset>
|
|
<legend>Intervals</legend>
|
|
<div class="form-group">
|
|
<label for="search_interval" class="control-label">NZB/Tor Search Interval:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="search_interval" name="search_interval" value="${lazylibrarian.SEARCH_INTERVAL}" class="form-control" placeholder="NZB search interval (mins)">
|
|
<span class="input-group-addon">Minutes</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="searchrss_interval" class="control-label">RSS Search Interval:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="searchrss_interval" name="searchrss_interval" value="${lazylibrarian.SEARCHRSS_INTERVAL}" class="form-control" placeholder="RSS search interval (mins)">
|
|
<span class="input-group-addon">Minutes</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label">Post-Processing Interval:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="scan_interval" name="scan_interval" value="${lazylibrarian.SCAN_INTERVAL}" class="form-control" placeholder="Post processing interval (mins)">
|
|
<span class="input-group-addon">Minutes</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="versioncheck_interval" class="control-label">Version Check Interval:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="versioncheck_interval" name="versioncheck_interval" value="${lazylibrarian.VERSIONCHECK_INTERVAL}" class="form-control" placeholder="Version check interval (hours)" >
|
|
<span class="input-group-addon">Hours</span>
|
|
</div>
|
|
</div>
|
|
<div class="help-block">Changes to the scan intervals only take effect when the jobs are restarted</div>
|
|
</fieldset>
|
|
|
|
<fieldset>
|
|
<legend>Folders</legend>
|
|
<div class="form-group">
|
|
<label for="destination_dir" class="control-label">Base Destination Folder:</label>
|
|
<input type="text" id="destination_dir" name="destination_dir" value="${lazylibrarian.DESTINATION_DIR}" class="form-control" placeholder="Destination Directory">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="alternate_dir" class="control-label">Alternate Import/Export Folder:</label>
|
|
<input type="text" id="alternate_dir" name="alternate_dir" value="${lazylibrarian.ALTERNATE_DIR}" class="form-control" placeholder="Alternate Directory">
|
|
<span class="help-block">Directory for wishlists and manually importing books</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="ebook_dest_folder">eBook Destination Folder:</label>
|
|
<input type="text" id="ebook_dest_folder" name="ebook_dest_folder" value="${lazylibrarian.EBOOK_DEST_FOLDER}" class="form-control" placeholder="eBook Destination Folder">
|
|
</div>
|
|
<div class="fomr-group">
|
|
<label for="ebook_dest_file">eBook Destination File:</label>
|
|
<input type="text" id="ebook_dest_file" name="ebook_dest_file" value="${lazylibrarian.EBOOK_DEST_FILE}" class="form-control" placeholder="eBook Destination File">
|
|
<span class="help-block">Options include $Author, $Title, any string.<br/>Current limitation: each file has to be in unique subfolder</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.DESTINATION_COPY == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="destination_copy">
|
|
<input type="checkbox" id="destination_copy" name="destination_copy" value="1" ${checked} />
|
|
Keep original files</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="imp_calibredb">Calibredb import program:</label>
|
|
<input type="text" id="imp_calibredb" name="imp_calibredb" value="${lazylibrarian.IMP_CALIBREDB}" class="form-control">
|
|
<span class="help-block">Path to "calibredb" to import books into the library</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="imp_autoadd">Calibre Auto Add:</label>
|
|
<input type="text" id="imp_autoadd" name="imp_autoadd" value="${lazylibrarian.IMP_AUTOADD}" class="form-control">
|
|
<span class="help-block">Directory for a copy to be placed for auto add process</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="mag_dest_folder">Magazine Destination Folder:</label>
|
|
<input type="text" id="mag_dest_folder" name="mag_dest_folder" value="${lazylibrarian.MAG_DEST_FOLDER}" class="form-control" placeholder="Magazines Destination Folder">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="mag_dest_file">Magazine Destination File:</label>
|
|
<input type="text" id="mag_dest_file" name="mag_dest_file" value="${lazylibrarian.MAG_DEST_FILE}" class="form-control" placeholder="Magazine Destination File">
|
|
<span class="help-block">Options include $Title, $IssueDate, any string</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.MAG_RELATIVE == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="mag_relative" class="control-label">
|
|
<input type="checkbox" id="mag_relative" name="mag_relative" value="1" ${checked} />
|
|
Magazines inside book folder</label>
|
|
<span class="help-block">Current limitation: each magazine has to be in unique subfolder<br/>If inside book folder, magazine folder must start with _</span>
|
|
</div>
|
|
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<fieldset>
|
|
<legend>Miscellaneous</legend>
|
|
<div class="form-group">
|
|
<label for="cache_age" class="control-label">Cache expire after:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="cache_age" name="cache_age" value="${lazylibrarian.CACHE_AGE}" class="form-control" placeholder="Max. Cache Age (days)">
|
|
<span class="input-group-addon">Days</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="mag_age" class="control-label">Max Magazine Issue Age:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="mag_age" name="mag_age" value="${lazylibrarian.MAG_AGE}" class="form-control" placeholder="Max. Magazine Age (days)">
|
|
<span class="input-group-addon">Days</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="task_age" class="control-label">Remove failed tasks after:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="task_age" name="task_age" value="${lazylibrarian.TASK_AGE}" class="form-control" placeholder="Cancel after (hours)">
|
|
<span class="input-group-addon">Hours</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="match_ratio">Search Match Ratio:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="match_ratio" name="match_ratio" value="${lazylibrarian.MATCH_RATIO}" class="form-control" placeholder="Search Match Ratio (percent)">
|
|
<span class="input-group-addon">%</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="dload_ratio">Download Match Ratio:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="dload_ratio" name="dload_ratio" value="${lazylibrarian.DLOAD_RATIO}" class="form-control" placeholder="Download Match Ratio (percent)">
|
|
<span class="input-group-addon">%</span>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<fieldset>
|
|
<div class="form-group">
|
|
<label for="git_program">git program:</label>
|
|
<input type="text" placeholder="git program" id="git_program" name="git_program" value="${lazylibrarian.GIT_PROGRAM}" class="form-control">
|
|
<span class="help-block">Git program, unless already in your path. Usually leave this blank</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="imp_convert">Cover creation program:</label>
|
|
<input type="text" placeholder="Cover creation program" id="imp_convert" name="imp_convert" value="${lazylibrarian.IMP_CONVERT}" class="form-control">
|
|
<span class="help-block">Program for creating magazine covers (example: ImageMagick "convert")<br/>Leave blank to use PythonMagick or Wand interfaces to ImageMagick, put None to disable cover creation</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.FULL_SCAN == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="full_scan" class="control-label">
|
|
<input type="checkbox" id="full_scan" name="full_scan" value="1" ${checked} />
|
|
Full scan</label>
|
|
<span class="help-block">This will remove entries if ebooks are not found in the download location</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.IMP_SINGLEBOOK == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="imp_singlebook" class="control-label">
|
|
<input type="checkbox" id="imp_singlebook" name="imp_singlebook" value="1" ${checked} />
|
|
One book per directory</label>
|
|
<span class="help-block">This imports one book per directory, tick if you keep multiple formats of the same book in the same directory</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.ADD_AUTHOR == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="add_author" class="control-label">
|
|
<input type="checkbox" id="add_author" name="add_author" value="1" ${checked} />
|
|
Add Authors</label>
|
|
<span class="help-block">This will auto add new authors from GoodReads</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.IMP_AUTOSEARCH == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="imp_autosearch" class="control-label">
|
|
<input type="checkbox" id="imp_autosearch" name="imp_autosearch" value="1" ${checked} />
|
|
Search when added</label>
|
|
<span class="help-block">This will auto search for books/mags as soon as you add them to the database.<br>Leave unticked to search for them later.</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="notfound_status">Missing Book Status:</label>
|
|
<select id="notfound_status" name="notfound_status" class="form-control">
|
|
%for nf_status in config['status_list']:
|
|
<%
|
|
selected = ''
|
|
if nf_status == lazylibrarian.NOTFOUND_STATUS:
|
|
selected = 'selected="selected"'
|
|
%>
|
|
<option value="${nf_status}" ${selected}>${nf_status}</option>
|
|
%endfor
|
|
</select>
|
|
<span class="help-block">Status for missing/deleted ebooks</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="newbook_status">New Book Status:</label>
|
|
<select id="newbook_status" name="newbook_status" class="form-control">
|
|
%for nb_status in config['status_list']:
|
|
<%
|
|
selected = ''
|
|
if nb_status == lazylibrarian.NEWBOOK_STATUS:
|
|
selected = 'selected="selected"'
|
|
%>
|
|
<option value="${nb_status}" ${selected}>${nb_status}</option>
|
|
%endfor
|
|
</select>
|
|
<span class="help-block">Status for new ebooks by existing authors</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="newauthor_status">New Authors Book Status:</label>
|
|
<select id="newauthor_status" name="newauthor_status" class="form-control">
|
|
%for na_status in config['status_list']:
|
|
<%
|
|
selected = ''
|
|
if na_status == lazylibrarian.NEWAUTHOR_STATUS:
|
|
selected = 'selected="selected"'
|
|
%>
|
|
<option value="${na_status}" ${selected}>${na_status}</option>
|
|
%endfor
|
|
</select>
|
|
<span class="help-block">Status for ebooks by new authors</span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div role="tabpanel" class="tab-pane" id="notifications">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.USE_TWITTER == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_twitter">
|
|
<input type="checkbox" id="use_twitter" name="use_twitter" value="1" ${checked} />
|
|
Enable Twitter Notifications</label>
|
|
</div>
|
|
<div id="twitteroptions">
|
|
<fieldset>
|
|
<legend>Twitter</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.TWITTER_NOTIFY_ONSNATCH == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="twitter_notify_onsnatch" class="control-label">
|
|
<input type="checkbox" id="twitter_notify_onsnatch" value="1" ${checked} />
|
|
Notify on snatch</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.TWITTER_NOTIFY_ONDOWNLOAD == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="twitter_notify_ondownload">
|
|
<input type="checkbox" id="twitter_notify_ondownload" name="twitter_notify_ondownload" value="1" ${checked} />
|
|
Notify on download</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Request Authorization" id="twitterStep1" class="btn btn-default" />
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="twitter_key" class="control-label">Twitter Key</label>
|
|
<input type="text" id="twitter_key" name="twitter_key" value="" placeholder="Twitter Authorization Key" class="form-control" />
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Verify Key" id="twitterStep2" class="btn btn-default" />
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Twitter" id="testTwitter" class="btn btn-default" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.USE_BOXCAR == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_boxcar" class="control-label">
|
|
<input type="checkbox" id="use_boxcar" name="use_boxcar" value="1" ${checked} />
|
|
Enable boxcar Notifications</label>
|
|
</div>
|
|
<div id="boxcaroptions">
|
|
<fieldset>
|
|
<legend>Boxcar2</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.BOXCAR_NOTIFY_ONSNATCH == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="boxcar_notify_onsnatch" class="control-label">
|
|
<input type="checkbox" id="boxcar_notify_onsnatch" name="boxcar_notify_onsnatch" value="1" ${checked} />
|
|
Notify on snatch</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.BOXCAR_NOTIFY_ONDOWNLOAD == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="boxcar_notify_ondownload">
|
|
<input type="checkbox" id="boxcar_notify_ondownload" name="boxcar_notify_ondownload" value="1" ${checked} />
|
|
Notify on download</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="boxcar_token" class="control-label">Boxcar Token</label>
|
|
<input type="text" id="boxcar_token" name="boxcar_token" value="${lazylibrarian.BOXCAR_TOKEN}" placeholder="Boxcar token" class="form-control">
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.USE_PUSHBULLET == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_pushbullet" class="control-label">
|
|
<input type="checkbox" id="use_pushbullet" name="use_pushbullet" value="1" ${checked} />
|
|
Enable Pushbullet Notifications</label>
|
|
</div>
|
|
<div id="pushbulletoptions">
|
|
<fieldset>
|
|
<legend>Pushbullet</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.PUSHBULLET_NOTIFY_ONSNATCH == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="pushbullet_notify_onsnatch">
|
|
<input type="checkbox" id="pushbullet_notify_onsnatch" name="pushbullet_notify_onsnatch" value="1" ${checked} />
|
|
Notify on snatch</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.PUSHBULLET_NOTIFY_ONDOWNLOAD == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="pushbullet_notify_ondownload">
|
|
<input type="checkbox" id="pushbullet_notify_ondownload" name="pushbullet_notify_ondownload" value="1" ${checked} />
|
|
Notify on download</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="pushbullet_token">Pushbullet API</label>
|
|
<input type="text" id="pushbullet_token" name="pushbullet_token" value="${lazylibrarian.PUSHBULLET_TOKEN}" class="form-control" placeholder="Pushbullet API">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="pushbullet_deviceid" class="control-label">Device ID</label>
|
|
<input type="text" id="pushbullet_deviceid" name="pushbullet_deviceid" value="${lazylibrarian.PUSHBULLET_DEVICEID}" class="form-control" placeholder="Pushbullet DeviceID">
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Pushbullet" id="testPushbullet" class="btn btn-default">
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.USE_PUSHOVER == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_pushover" class="control-label">
|
|
<input type="checkbox" id="use_pushover" name="use_pushover" value="1" ${checked} />
|
|
Enable Pushover Notifications</label>
|
|
</div>
|
|
<div id="pushoveroptions">
|
|
<fieldset>
|
|
<legend>Pushover</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.PUSHOVER_ONSNATCH == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="pushover_onsnatch">
|
|
<input type="checkbox" id="pushover_onsnatch" name="pushover_onsnatch" value="1" ${checked} />
|
|
Notify on snatch</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.PUSHOVER_ONDOWNLOAD == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="pushover_ondownload" class="control-label">
|
|
<input type="checkbox" id="pushover_ondownload" name="pushover_ondownload" value="1" ${checked} />
|
|
Notify on download</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="pushover_apitoken">Pushover API</label>
|
|
<input type="text" id="pushover_apitoken" name="pushover_apitoken" value="${lazylibrarian.PUSHOVER_APITOKEN}" class="form-control" placeholder="Pushover API Token">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="pushover_keys" class="control-label">Pushover Keys</label>
|
|
<input type="text" id="pushover_keys" name="pushover_keys" value="${lazylibrarian.PUSHOVER_KEYS}" class="form-control" placeholder="Pushover Keys">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="pushover_device" class="control-label">Pushover Device</label>
|
|
<input type="text" id="pushover_device" value="${lazylibrarian.PUSHOVER_DEVICE}" class="form-control" placeholder="Pushover Device">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="pushover_priority" class="control-label">Pushover Priority</label>
|
|
<input type="text" id="pushover_priority" name="pushover_priority" value="${lazylibrarian.PUSHOVER_PRIORITY}" class="form-control" placeholder="Pushover Priority">
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Pushover" id="testPushover" class="btn btn-default">
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.USE_ANDROIDPN == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_androidpn" class="control-label">
|
|
<input type="checkbox" id="use_androidpn" name="use_androidpn" value="1" ${checked} />
|
|
Enable AndroidPN Notifications</label>
|
|
</div>
|
|
<div id="androidpnoptions">
|
|
<fieldset>
|
|
<legend>AndroidPN</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.ANDROIDPN_NOTIFY_ONSNATCH == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="androidpn_notify_onsnatch" class="control-label">
|
|
<input type="checkbox" id="androidpn_notify_onsnatch" name="androidpn_notify_onsnatch" value="1" ${checked} />
|
|
Notify on snatch</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.ANDROIDPN_NOTIFY_ONDOWNLOAD == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="androidpn_notify_ondownload" class="control-label">
|
|
<input type="checkbox" id="androidpn_notify_ondownload" name="androidpn_notify_ondownload" value="1" ${checked} />
|
|
Notify on download</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.ANDROIDPN_BROADCAST == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="androidpn_broadcast" class="control-label">
|
|
<input type="checkbox" id="androidpn_broadcast" name="androidpn_broadcast" value="1" ${checked} />
|
|
Broadcast notification</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="androidpn_url" class="control-label">AndroidPN Notification URL</label>
|
|
<input type="text" id="androidpn_url" name="androidpn_url" value="${lazylibrarian.ANDROIDPN_URL}" class="form-control" placeholder="AndroidPN Notification URL" />
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="androidpn_username" class="control-label">Username</label>
|
|
<input type="text" id="androidpn_username" name="androidpn_username" value="${lazylibrarian.ANDROIDPN_USERNAME}" class="form-control" placeholder="AndroidPN Username" />
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test AndroidPN" id="testAndroidPN" class="btn btn-default" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.USE_NMA == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_nma" class="control-label">
|
|
<input type="checkbox" id="use_nma" value="1" ${checked} />
|
|
Enable NotifyMyAndroid</label>
|
|
</div>
|
|
<div id="nmaoptions">
|
|
<fieldset>
|
|
<legend>NotifyMyAndroid</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.NMA_ONSNATCH == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="nma_onsnatch" class="control-label">
|
|
<input type="checkbox" id="nma_onsnatch" name="nma_onsnatch" value="1" ${checked} />
|
|
Notify on snatch?</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.NMA_ONDOWNLOAD == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="nma_ondownload" class="control-label">
|
|
<input type="checkbox" id="nma_ondownload" name="nma_ondownload" value="1" ${checked} />
|
|
Notify on download?</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="nma_apikey" class="control-label">NotifyMyAndroid API Key</label>
|
|
<input type="text" id="nma_apikey" name="nma_apikey" value="${lazylibrarian.NMA_APIKEY}" class="form-control" placeholder="NotifyMyAndroid API Key">
|
|
<span class="help-block">Separate multiple api keys with commas</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="nma_priority" class="control-label">Priority</label>
|
|
<select id="nma_priority" name="nma_priority" class="form-control">
|
|
%for x in [-2,-1,0,1,2]:
|
|
<%
|
|
if lazylibrarian.NMA_PRIORITY == x:
|
|
nma_priority_selected = 'selected'
|
|
else:
|
|
nma_priority_selected = ''
|
|
|
|
if x == -2:
|
|
nma_priority_value = 'Very Low'
|
|
elif x == -1:
|
|
nma_priority_value = 'Moderate'
|
|
elif x == 0:
|
|
nma_priority_value = 'Normal'
|
|
elif x == 1:
|
|
nma_priority_value = 'High'
|
|
else:
|
|
nma_priority_value = 'Emergency'
|
|
%>
|
|
<option value="${x}" ${nma_priority_selected}>${nma_priority_value}</option>
|
|
%endfor
|
|
</select>
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test NMA" id="testNMA" class="btn btn-default" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.USE_SLACK == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_slack" class="control-label">
|
|
<input type="checkbox" id="use_slack" name="use_slack" value="1" ${checked} />
|
|
Enable Slack Notifications</label>
|
|
</div>
|
|
<div id="slackoptions">
|
|
<fieldset>
|
|
<legend>Slack</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.SLACK_NOTIFY_ONSNATCH == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="slack_notify_onsnatch">
|
|
<input type="checkbox" id="slack_notify_onsnatch" name="slack_notify_onsnatch" value="1" ${checked} />
|
|
Notify on snatch</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.SLACK_NOTIFY_ONDOWNLOAD == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="slack_notify_ondownload">
|
|
<input type="checkbox" id="slack_notify_ondownload" name="slack_notify_ondownload" value="1" ${checked} />
|
|
Notify on download</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="slack_token">Slack Webhook Token(everything after https://hooks.slack.com/services/)</label>
|
|
<input type="text" id="slack_token" name="slack_token" value="${lazylibrarian.SLACK_TOKEN}" class="form-control" placeholder="Slack Webhook Token">
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Slack" id="testSlack" class="btn btn-default">
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.USE_EMAIL == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_email" class="control-label">
|
|
<input type="checkbox" id="use_email" name="use_email" value="1" ${checked} />
|
|
Enable Email Notifications</label>
|
|
</div>
|
|
<div id="emailoptions">
|
|
<fieldset>
|
|
<legend>Email</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.EMAIL_NOTIFY_ONSNATCH == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="email_notify_onsnatch">
|
|
<input type="checkbox" id="email_notify_onsnatch" name="email_notify_onsnatch" value="1" ${checked} />
|
|
Notify on snatch</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.EMAIL_NOTIFY_ONDOWNLOAD == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="email_notify_ondownload">
|
|
<input type="checkbox" id="email_notify_ondownload" name="email_notify_ondownload" value="1" ${checked} />
|
|
Notify on download</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="email_from">Email From</label>
|
|
<input type="text" id="email_from" name="email_from" value="${lazylibrarian.EMAIL_FROM}" class="form-control" placeholder="Email From Address">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="email_to">Email To</label>
|
|
<input type="text" id="email_to" name="email_to" value="${lazylibrarian.EMAIL_TO}" class="form-control" placeholder="Email To Address">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="email_smtp_server">SMTP Server</label>
|
|
<input type="text" id="email_smtp_server" name="email_smtp_server" value="${lazylibrarian.EMAIL_SMTP_SERVER}" class="form-control" placeholder="SMTP Server">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="email_smtp_user">SMTP User</label>
|
|
<input type="text" id="email_smtp_user" name="email_smtp_user" value="${lazylibrarian.EMAIL_SMTP_USER}" class="form-control" placeholder="SMTP User">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="email_smtp_password">SMTP Password</label>
|
|
<input type="text" id="email_smtp_password" name="email_smtp_password" value="${lazylibrarian.EMAIL_SMTP_PASSWORD}" class="form-control" placeholder="SMTP Password">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="email_smtp_port">SMTP Port</label>
|
|
<input type="text" id="email_smtp_port" name="email_smtp_port" value="${lazylibrarian.EMAIL_SMTP_PORT}" class="form-control" placeholder="SMTP Port">
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.EMAIL_SSL == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="email_ssl">
|
|
<input type="checkbox" id="email_ssl" name="email_ssl" value="1" ${checked} />
|
|
SSL</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.EMAIL_TLS == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="email_tls">
|
|
<input type="checkbox" id="email_tls" name="email_tls" value="1" ${checked} />
|
|
TLS</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Email" id="testEmail" class="btn btn-default">
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div role="tabpanel" class="tab-pane" id="capabilities">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
You only need to change these settings if auto-detection fails or returns incorrect values. If you make any alterations, tick the lock button to prevent reloading values from the provider.
|
|
%for provider in lazylibrarian.NEWZNAB_PROV:
|
|
<%
|
|
if provider['HOST'] == "":
|
|
hidden = 'hidden="hidden"'
|
|
else:
|
|
hidden = ''
|
|
%>
|
|
<legend ${hidden}>${provider['HOST']}</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if provider['MANUAL'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="newznab[${loop.index}][manual]" class="control-label" ${hidden}>
|
|
<input type="checkbox" id="newznab[${loop.index}][manual]" name="newznab[${loop.index}][manual]" value="1" ${checked} ${hidden}/>
|
|
Tick to lock settings</label>
|
|
</div>
|
|
<input type="text" id="newznab[${loop.index}][name]" name="newznab[${loop.index}][name]" value="${provider['NAME']}" class="hidden">
|
|
<input type="text" id="newznab[${loop.index}][updated]" name="newznab[${loop.index}][updated]" value="${provider['UPDATED']}" class="hidden">
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="newznab[${loop.index}][generalsearch]" class="control-label">General Search:</label>
|
|
<input type="text" placeholder="General Search" id="newznab[${loop.index}][generalsearch]" name="newznab[${loop.index}][generalsearch]" value="${provider['GENERALSEARCH']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="newznab[${loop.index}][extended]" class="control-label">Extended Search:</label>
|
|
<input type="text" placeholder="Extended Search" id="newznab[${loop.index}][extended]" name="newznab[${loop.index}][extended]" value="${provider['EXTENDED']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="newznab[${loop.index}][booksearch]" class="control-label">Book Search:</label>
|
|
<input type="text" placeholder="Book Search" id="newznab[${loop.index}][booksearch]" name="newznab[${loop.index}][booksearch]" value="${provider['BOOKSEARCH']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="newznab[${loop.index}][bookcat]" class="control-label">Book Categories:</label>
|
|
<input type="text" placeholder="Book Categories" id="newznab[${loop.index}][bookcat]" name="newznab[${loop.index}][bookcat]" value="${provider['BOOKCAT']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="newznab[${loop.index}][magsearch]" class="control-label">Magazine Search:</label>
|
|
<input type="text" placeholder="Magazine Search" id="newznab[${loop.index}][magsearch]" name="newznab[${loop.index}][magsearch]" value="${provider['MAGSEARCH']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="newznab[${loop.index}][magcat]" class="control-label">Magazine Categories:</label>
|
|
<input type="text" placeholder="Magazine Categories" id="newznab[${loop.index}][magcat]" name="newznab[${loop.index}][magcat]" value="${provider['MAGCAT']}" class="form-control">
|
|
</div>
|
|
%endfor
|
|
%for provider in lazylibrarian.TORZNAB_PROV:
|
|
<%
|
|
if provider['HOST'] == "":
|
|
hidden = 'hidden="hidden"'
|
|
else:
|
|
hidden = ''
|
|
%>
|
|
<legend ${hidden}>${provider['HOST']}</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if provider['MANUAL'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="torznab[${loop.index}][manual]" class="control-label" ${hidden}>
|
|
<input type="checkbox" id="torznab[${loop.index}][manual]" name="torznab[${loop.index}][manual]" value="1" ${checked} ${hidden}/>
|
|
Tick to prevent reloading values from provider</label>
|
|
</div>
|
|
<input type="text" id="torznab[${loop.index}][name]" name="torznab[${loop.index}][name]" value="${provider['NAME']}" class="hidden">
|
|
<input type="text" id="torznab[${loop.index}][updated]" name="torznab[${loop.index}][updated]" value="${provider['UPDATED']}" class="hidden">
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="torznab[${loop.index}][generalsearch]" class="control-label">General Search:</label>
|
|
<input type="text" placeholder="General Search" id="torznab[${loop.index}][generalsearch]" name="torznab[${loop.index}][generalsearch]" value="${provider['GENERALSEARCH']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="torznab[${loop.index}][extended]" class="control-label">Extended Search:</label>
|
|
<input type="text" placeholder="Extended Search" id="torznab[${loop.index}][extended]" name="torznab[${loop.index}][extended]" value="${provider['EXTENDED']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="torznab[${loop.index}][booksearch]" class="control-label">Book Search:</label>
|
|
<input type="text" placeholder="Book Search" id="torznab[${loop.index}][booksearch]" name="torznab[${loop.index}][booksearch]" value="${provider['BOOKSEARCH']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="torznab[${loop.index}][bookcat]" class="control-label">Book Categories:</label>
|
|
<input type="text" placeholder="Book Categories" id="torznab[${loop.index}][bookcat]" name="torznab[${loop.index}][bookcat]" value="${provider['BOOKCAT']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="torznab[${loop.index}][magsearch]" class="control-label">Magazine Search:</label>
|
|
<input type="text" placeholder="Magazine Search" id="torznab[${loop.index}][magsearch]" name="torznab[${loop.index}][magsearch]" value="${provider['MAGSEARCH']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="torznab[${loop.index}][magcat]" class="control-label">Magazine Categories:</label>
|
|
<input type="text" placeholder="Magazine Categories" id="torznab[${loop.index}][magcat]" name="torznab[${loop.index}][magcat]" value="${provider['MAGCAT']}" class="form-control">
|
|
</div>
|
|
%endfor
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div role="tabpanel" class="tab-pane" id="filters">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<legend>Book Reject List</legend>
|
|
<span class="help-block">Default: audiobook, mp3</span>
|
|
<div class="form-group">
|
|
<input type="text" id="reject_words" name="reject_words" value="${lazylibrarian.REJECT_WORDS}" class="form-control" placeholder="Reject word list">
|
|
<span class="help-block">Comma separated list of words to reject:<br/>
|
|
Search results with any of these words in the title will be ignored<br/>
|
|
</span>
|
|
</div>
|
|
<legend>Book Size Limit</legend>
|
|
<span class="help-block">Default: 0</span>
|
|
<div class="form-group">
|
|
<input type="text" id="reject_maxsize" name="reject_maxsize" value="${lazylibrarian.REJECT_MAXSIZE}" class="form-control" placeholder="Reject size limit">
|
|
<span class="help-block">Book size limit (Mb):<br/>
|
|
Search results larger than this will be rejected, set to 0 to disable<br/>
|
|
</span>
|
|
</div>
|
|
<legend>Magazine Size Limit</legend>
|
|
<span class="help-block">Default: 0</span>
|
|
<div class="form-group">
|
|
<input type="text" id="reject_magsize" name="reject_magsize" value="${lazylibrarian.REJECT_MAGSIZE}" class="form-control" placeholder="Reject size limit">
|
|
<span class="help-block">Magazine size limit (Mb):<br/>
|
|
Search results larger than this will be rejected, set to 0 to disable<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<legend>Magazine Reject Lists</legend>
|
|
<span class="help-block">Default: None</span>
|
|
%for mag in config['magazines_list']:
|
|
<label>${mag['Title']}</label>
|
|
<input type="text" id="reject_list[${mag['Title']}]" name="reject_list[${mag['Title']}]" value="${mag['Reject']}" class="form-control" placeholder="Reject word list">
|
|
<input type="text" id="regex[${mag['Title']}]" name="regex[${mag['Title']}]" value="${mag['Regex']}" class="form-control" placeholder="Search expression">
|
|
%endfor
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> <!-- tabs content -->
|
|
|
|
</div> <!-- tabs -->
|
|
|
|
<div class="table_wrapper_button">
|
|
<input type="submit" value="Save changes" id="add" class="btn btn-primary">
|
|
</div>
|
|
|
|
<p> </p>
|
|
<p style="text-align:center;color:grey">Repo: https://github.com/${lazylibrarian.GIT_USER}/${lazylibrarian.GIT_REPO} : Branch: ${lazylibrarian.GIT_BRANCH}<br>Current Version: ${lazylibrarian.CURRENT_VERSION} : Latest Version: ${lazylibrarian.LATEST_VERSION}</p>
|
|
</div> <!-- form -->
|
|
|
|
</form>
|
|
|
|
|
|
</%def>
|
|
|
|
<%def name="javascriptIncludes()">
|
|
<script type="text/javascript">
|
|
function initThisPage()
|
|
|
|
{
|
|
"use strict";
|
|
|
|
if ($("#https_enabled").is(":checked"))
|
|
{
|
|
$("#https_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#https_options").hide();
|
|
}
|
|
|
|
$("#https_enabled").click(function(){
|
|
if ($("#https_enabled").is(":checked"))
|
|
{
|
|
$("#https_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#https_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#api_enabled").is(":checked"))
|
|
{
|
|
$("#api_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#api_options").hide();
|
|
}
|
|
|
|
$("#api_enabled").click(function(){
|
|
if ($("#api_enabled").is(":checked"))
|
|
{
|
|
$("#api_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#api_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#tor_downloader_blackhole").is(":checked"))
|
|
{
|
|
$("#tor_blackhole_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#tor_blackhole_options").hide();
|
|
}
|
|
|
|
$("#tor_downloader_blackhole").click(function(){
|
|
if ($("#tor_downloader_blackhole").is(":checked"))
|
|
{
|
|
$("#tor_blackhole_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#tor_blackhole_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#tor_downloader_deluge").is(":checked"))
|
|
{
|
|
$("#deluge_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#deluge_options").hide();
|
|
}
|
|
$("#tor_downloader_deluge").click(function(){
|
|
if ($("#tor_downloader_deluge").is(":checked"))
|
|
{
|
|
$("#deluge_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#deluge_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#tor_downloader_transmission").is(":checked"))
|
|
{
|
|
$("#transmission_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#transmission_options").hide();
|
|
}
|
|
$("#tor_downloader_transmission").click(function(){
|
|
if ($("#tor_downloader_transmission").is(":checked"))
|
|
{
|
|
$("#transmission_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#transmission_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#tor_downloader_utorrent").is(":checked"))
|
|
{
|
|
$("#utorrent_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#utorrent_options").hide();
|
|
}
|
|
|
|
$("#tor_downloader_utorrent").click(function(){
|
|
if ($("#tor_downloader_utorrent").is(":checked"))
|
|
{
|
|
$("#utorrent_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#utorrent_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#tor_downloader_rtorrent").is(":checked"))
|
|
{
|
|
$("#rtorrent_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#rtorrent_options").hide();
|
|
}
|
|
|
|
$("#tor_downloader_rtorrent").click(function(){
|
|
if ($("#tor_downloader_rtorrent").is(":checked"))
|
|
{
|
|
$("#rtorrent_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#rtorrent_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#tor_downloader_qbittorrent").is(":checked"))
|
|
{
|
|
$("#qbittorrent_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#qbittorrent_options").hide();
|
|
}
|
|
|
|
$("#tor_downloader_qbittorrent").click(function(){
|
|
if ($("#tor_downloader_qbittorrent").is(":checked"))
|
|
{
|
|
$("#qbittorrent_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#qbittorrent_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#nzb_downloader_blackhole").is(":checked"))
|
|
{
|
|
$("#nzb_blackhole_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#nzb_blackhole_options").hide();
|
|
}
|
|
|
|
$("#nzb_downloader_blackhole").click(function(){
|
|
if ($("#nzb_downloader_blackhole").is(":checked"))
|
|
{
|
|
$("#nzb_blackhole_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#nzb_blackhole_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#nzb_downloader_sabnzbd").is(":checked"))
|
|
{
|
|
$("#sabnzbd_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#sabnzbd_options").hide();
|
|
}
|
|
$("#nzb_downloader_sabnzbd").click(function(){
|
|
if ($("#nzb_downloader_sabnzbd").is(":checked"))
|
|
{
|
|
$("#sabnzbd_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#sabnzbd_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#nzb_downloader_nzbget").is(":checked"))
|
|
{
|
|
$("#nzbget_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#nzbget_options").hide();
|
|
}
|
|
$("#nzb_downloader_nzbget").click(function(){
|
|
if ($("#nzb_downloader_nzbget").is(":checked"))
|
|
{
|
|
$("#nzbget_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#nzbget_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#use_synology").is(":checked"))
|
|
{
|
|
$("#synology_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#synology_options").hide();
|
|
}
|
|
$("#use_synology").click(function(){
|
|
if ($("#use_synology").is(":checked"))
|
|
{
|
|
$("#synology_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#synology_options").slideUp();
|
|
}
|
|
});
|
|
|
|
$('#generateAPI').click(function () {
|
|
$.get("generateAPI",
|
|
function (data) { });
|
|
|
|
});
|
|
|
|
$('#show_Jobs').on('click', function(e) {
|
|
$.get('show_Jobs', function(data) {
|
|
bootbox.dialog({
|
|
title: 'Jobs Status',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#restart_Jobs').on('click', function(e) {
|
|
$.get('restart_Jobs', function(data) {
|
|
bootbox.dialog({
|
|
title: 'Restarted Jobs',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testSABnzbd').on('click', function(e) {
|
|
$.get('testSABnzbd', function(data) {
|
|
bootbox.dialog({
|
|
title: 'SABnzbd Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testNZBget').on('click', function(e) {
|
|
$.get('testNZBget', function(data) {
|
|
bootbox.dialog({
|
|
title: 'NZBget Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testSynology').on('click', function(e) {
|
|
$.get('testSynology', function(data) {
|
|
bootbox.dialog({
|
|
title: 'Synology Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testDeluge').on('click', function(e) {
|
|
$.get('testDeluge', function(data) {
|
|
bootbox.dialog({
|
|
title: 'Deluge Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testTransmission').on('click', function(e) {
|
|
$.get('testTransmission', function(data) {
|
|
bootbox.dialog({
|
|
title: 'Transmission Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testqBittorrent').on('click', function(e) {
|
|
$.get('testqBittorrent', function(data) {
|
|
bootbox.dialog({
|
|
title: 'qBittorrent Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testuTorrent').on('click', function(e) {
|
|
$.get('testuTorrent', function(data) {
|
|
bootbox.dialog({
|
|
title: 'uTorrent Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testrTorrent').on('click', function(e) {
|
|
$.get('testrTorrent', function(data) {
|
|
bootbox.dialog({
|
|
title: 'rTorrent Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
if ($("#use_twitter").is(":checked"))
|
|
{
|
|
$("#twitteroptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#twitteroptions").hide();
|
|
}
|
|
|
|
$("#use_twitter").click(function(){
|
|
if ($("#use_twitter").is(":checked"))
|
|
{
|
|
$("#twitteroptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#twitteroptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#use_boxcar").is(":checked"))
|
|
{
|
|
$("#boxcaroptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#boxcaroptions").hide();
|
|
}
|
|
|
|
$("#use_boxcar").click(function(){
|
|
if ($("#use_boxcar").is(":checked"))
|
|
{
|
|
$("#boxcaroptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#boxcaroptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#fullscan").is(":checked"))
|
|
{
|
|
$("#fullscanoptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#fullscanoptions").hide();
|
|
}
|
|
|
|
$("#fullscan").click(function(){
|
|
if ($("#fullscan").is(":checked"))
|
|
{
|
|
$("#fullscanoptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#fullscanoptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#use_pushbullet").is(":checked"))
|
|
{
|
|
$("#pushbulletoptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#pushbulletoptions").hide();
|
|
}
|
|
|
|
$("#use_pushbullet").click(function(){
|
|
if ($("#use_pushbullet").is(":checked"))
|
|
{
|
|
$("#pushbulletoptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#pushbulletoptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#use_pushover").is(":checked"))
|
|
{
|
|
$("#pushoveroptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#pushoveroptions").hide();
|
|
}
|
|
$("#use_pushover").click(function(){
|
|
if ($("#use_pushover").is(":checked"))
|
|
{
|
|
$("#pushoveroptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#pushoveroptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#use_androidpn").is(":checked"))
|
|
{
|
|
$("#androidpnoptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#androidpnoptions").hide();
|
|
}
|
|
$("#use_androidpn").click(function(){
|
|
if ($("#use_androidpn").is(":checked"))
|
|
{
|
|
$("#androidpnoptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#androidpnoptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#androidpn_broadcast").is(":checked"))
|
|
{
|
|
$("#androidpn_username").hide();
|
|
}
|
|
else
|
|
{
|
|
$("#androidpn_username").show();
|
|
}
|
|
$("#androidpn_broadcast").click(function(){
|
|
if ($("#androidpn_broadcast").is(":checked"))
|
|
{
|
|
$("#androidpn_username").slideUp();
|
|
}
|
|
else
|
|
{
|
|
$("#androidpn_username").slideDown();
|
|
}
|
|
});
|
|
|
|
if ($("#use_nma").is(":checked"))
|
|
{
|
|
$("#nmaoptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#nmaoptions").hide();
|
|
}
|
|
|
|
$("#use_nma").click(function(){
|
|
if ($("#use_nma").is(":checked"))
|
|
{
|
|
$("#nmaoptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#nmaoptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#use_slack").is(":checked"))
|
|
{
|
|
$("#slackoptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#slackoptions").hide();
|
|
}
|
|
|
|
$("#use_slack").click(function(){
|
|
if ($("#use_slack").is(":checked"))
|
|
{
|
|
$("#slackoptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#slackoptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#use_email").is(":checked"))
|
|
{
|
|
$("#emailoptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#emailoptions").hide();
|
|
}
|
|
|
|
$("#use_email").click(function(){
|
|
if ($("#use_email").is(":checked"))
|
|
{
|
|
$("#emailoptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#emailoptions").slideUp();
|
|
}
|
|
});
|
|
|
|
|
|
$('#twitterStep1').click(function () {
|
|
$('#testTwitter-result').html('');
|
|
$.get("twitterStep1", function (data) {window.open(data); })
|
|
.done(function () { $('#testTwitter-result').html('<b>Step1:</b> Confirm Authorization'); });
|
|
});
|
|
|
|
$('#twitterStep2').click(function () {
|
|
$('#testTwitter-result').html('');
|
|
var twitter_key = $("#twitter_key").val();
|
|
$.get("twitterStep2", {'key': twitter_key},
|
|
function (data) { $('#testTwitter-result').html(data); });
|
|
});
|
|
|
|
$('#testTwitter').click(function () {
|
|
$.get("testTwitter",
|
|
function (data) { $('#testTwitter-result').html(data); });
|
|
});
|
|
|
|
$('#testPushbullet').click(function () {
|
|
$.get("testPushbullet",
|
|
function (data) { window.alert(data) });
|
|
|
|
});
|
|
|
|
$('#testPushover').click(function () {
|
|
$.get("testPushover",
|
|
function (data) { window.alert(data) });
|
|
|
|
});
|
|
|
|
$('#testNMA').click(function () {
|
|
$.get("testNMA",
|
|
function (data) { window.alert(data) });
|
|
});
|
|
|
|
$('#testSlack').click(function () {
|
|
$.get("testSlack",
|
|
function (data) { window.alert(data) });
|
|
|
|
});
|
|
|
|
$('#testEmail').click(function () {
|
|
$.get("testEmail",
|
|
function (data) { window.alert(data) });
|
|
|
|
});
|
|
|
|
$("#testAndroidPN").click(function () {
|
|
var androidpn_url = $.trim($("#androidpn_url").val());
|
|
var androidpn_username = $.trim($("#androidpn_username").val());
|
|
var androidpn_broadcast = ($("#androidpn_broadcast").prop('checked') == true) ? 'Y' : 'N';
|
|
$.get("/testAndroidPN", {'url': androidpn_url, 'username': androidpn_username, 'broadcast': androidpn_broadcast})
|
|
.done(function (data) {
|
|
$("#testAndroidPN-result").html(data);
|
|
});
|
|
});
|
|
|
|
$('#http_look').change(function() {
|
|
if ($(this).val() == 'bookstrap') {
|
|
$('#bookstrap_options').removeClass("hidden");
|
|
} else {
|
|
$('#bookstrap_options').addClass("hidden");
|
|
}
|
|
});
|
|
|
|
// when the page first loads, hide all tab headers and panels
|
|
$("li[role='presentation']").attr("aria-selected", "false");
|
|
$("li[role='presentation']").removeClass('active');
|
|
$("div[role='tabpanel']").attr("aria-hidden", "true");
|
|
$("div[role='tabpanel']").removeClass('active');
|
|
// which one do we want to show
|
|
var tabnum = $("#current_tab").val();
|
|
var tabid = $("#" + tabnum);
|
|
var tabpanel = tabid.attr('aria-controls');
|
|
var tabpanelid = $("#" + tabpanel);
|
|
// show the tab header and panel we want
|
|
tabpanelid.attr("aria-hidden", "false");
|
|
tabpanelid.addClass('active');
|
|
tabid.attr("aria-selected", "true");
|
|
tabid.addClass('active');
|
|
$("div[role='tab-table']").removeClass('hidden');
|
|
|
|
// when a tab is clicked
|
|
$("li[role='presentation']").click(function(){
|
|
var tabnum = $(this).attr('id'); // store current tab for python
|
|
$("#current_tab").val(tabnum);
|
|
});
|
|
|
|
|
|
} // End Init
|
|
|
|
$(document).ready(function() {
|
|
initThisPage();
|
|
});
|
|
</script>
|
|
</%def>
|
|
<html><head></head><body></body></html>
|