mirror of
https://github.com/lazylibrarian/LazyLibrarian.git
synced 2026-06-12 01:28:41 -04:00
4323 lines
226 KiB
HTML
4323 lines
226 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-sync"></i> Restart</a>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="System Info" id="sysinfo"><i class="fa fa-cogs"></i> System Info</button>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="Show Jobs" id="show_Jobs"><i class="fa fa-list-ul"></i> Job Status</button>
|
|
<button class="button btn btn-sm btn-primary" type="button" value="checkforupdates" id="checkforupdates"><i class="fa fa-list-alt"></i> Check Version</button>
|
|
%if lazylibrarian.CONFIG['USER_ACCOUNTS'] == True:
|
|
<a class="button btn btn-sm btn-primary" href="userAdmin" data-toggle="tooltip" data-placement="bottom" title="Manage user accounts"><i class="fa fa-user"></i> User Admin</a>
|
|
%endif
|
|
<button class="hidden" onclick="" id="myAlert" title=""><i class="fa fa-circle-notch fa-spin"></i> Checking, please wait...</button>
|
|
</div>
|
|
</%def>
|
|
<%def name="body()">
|
|
<!-- ensure the browser sends form-submission data in the UTF-8 encoding,
|
|
even if the user fiddles with the page encoding -->
|
|
<form accept-charset="UTF-8" action="configUpdate" method="post">
|
|
<h1>${title}
|
|
<div class="pull-right table_wrapper_button">
|
|
<input type="submit" value="Save changes" id="add" class="btn btn-primary">
|
|
</div>
|
|
</h1>
|
|
<div role="tab-table" class="hidden">
|
|
<!-- if the browser is IE and the user switched the page encoding, force utf8 by adding
|
|
a hidden input to the form with a value such as ✓ which can only be from the Unicode charset-->
|
|
<input name="utf8" type="hidden" value="✓" />
|
|
<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.CONFIG['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.CONFIG['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.CONFIG['HTTP_ROOT']}" class="form-control" placeholder="Web Root">
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['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 access to lazylibrarian</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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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="logfiles" class="control-label">Log Files:</label>
|
|
<input type="text" id="logfiles" name="logfiles" value="${lazylibrarian.CONFIG['LOGFILES']}" class="form-control" placeholder="Log Files">
|
|
<span class="help-block">Number of logfiles to rotate</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="logsize" class="control-label">Log Size:</label>
|
|
<input type="text" id="logsize" name="logsize" value="${lazylibrarian.CONFIG['LOGSIZE']}" class="form-control" placeholder="Log Size">
|
|
<span class="help-block">Maximum size of each logfile</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=Errors/Warnings, 1=Normal, 2=Debug, >2 Reserved</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.CONFIG['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.CONFIG['PROXY_TYPE']}" class="form-control" placeholder="Proxy Types">
|
|
<span class="help-block">Comma separated list http, https, etc</span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<fieldset>
|
|
<legend>Access Control</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['USER_ACCOUNTS'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="user_accounts" title="Enable user accounts">
|
|
<input type="checkbox" id="user_accounts" name="user_accounts" value="1" ${checked} />
|
|
Enable user accounts </label>
|
|
<%
|
|
if lazylibrarian.CONFIG['SINGLE_USER'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="single_user" title="Single user">
|
|
<input type="checkbox" id="single_user" name="single_user" value="1" ${checked} />
|
|
Single user bypass login</label>
|
|
</div>
|
|
<small>Enabling/Disabling user accounts or changing webserver user/pass requires restart</small><br>
|
|
<fieldset id="admin_options">
|
|
<div class="form-group">
|
|
<label for="admin_email" class="control-label">Contact Email:</label>
|
|
<input type="text" id="admin_email" name="admin_email" value="${lazylibrarian.CONFIG['ADMIN_EMAIL']}" class="form-control" placeholder="Contact email for requests/registration">
|
|
</div>
|
|
</fieldset>
|
|
<fieldset id="webserver_options">
|
|
<div class="form-group">
|
|
<label for="http_user">WebServer Username:</label>
|
|
<input type="text" id="http_user" name="http_user" value="${lazylibrarian.CONFIG['HTTP_USER']}" class="form-control" placeholder="Username">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="http_pass" class="control-label">Webserver Password:</label>
|
|
<input type="password" id="http_pass" name="http_pass" value="${lazylibrarian.CONFIG['HTTP_PASS']}" class="form-control" placeholder="Password">
|
|
</div>
|
|
</fieldset>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>Startup</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['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 class="form-group">
|
|
<label>API key</label>
|
|
<input type="text" name="api_key" id="api_key" value="${lazylibrarian.CONFIG['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.CONFIG['API_KEY']}</strong></small>
|
|
</div>
|
|
</fieldset>
|
|
<fieldset>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['OPDS_ENABLED'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="opds_enabled" title="Allow remote applications to interface with LazyLibrarian">
|
|
<input type="checkbox" id="opds_enabled" name="opds_enabled" value="1" ${checked} />
|
|
Enable OPDS</label>
|
|
</div>
|
|
<small>Enabling/Disabling OPDS or changing credentials requires restart</small><br>
|
|
<fieldset id="opdsoptions">
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['OPDS_AUTHENTICATION'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="opds_authentication" title="OPDS requires username and password">
|
|
<input type="checkbox" id="opds_authentication" name="opds_authentication" value="1" ${checked} />
|
|
OPDS Requires Credentials</label><br><small>If opds authentication is enabled and the user/pass below are blank the webserver user/pass will be used<br>NOTE - some OPDS readers do not send authentication for cover images or searches, so we don't send them. If you are getting lists with no images try disabling authentication or upgrading your reader</small>
|
|
</div>
|
|
<div id="opdscredentials">
|
|
<div class="form-group">
|
|
<label>OPDS Username</label>
|
|
<input type="text" name="opds_username" value="${lazylibrarian.CONFIG['OPDS_USERNAME']}" size="30">
|
|
</div>
|
|
<div class="form-group">
|
|
<label>OPDS Password</label>
|
|
<input type="password" name="opds_password" value="${lazylibrarian.CONFIG['OPDS_PASSWORD']| h}" size="30">
|
|
</div>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['OPDS_METAINFO'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="opds_metainfo" title="OPDS extra metainfo">
|
|
<input type="checkbox" id="opds_metainfo" name="opds_metainfo" value="1" ${checked} />
|
|
OPDS Include MetaInfo</label><br><small>This will include book summary, cover, author details</small>
|
|
</div>
|
|
</fieldset>
|
|
</fieldset>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>Appearance</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['AUTHOR_IMG'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="author_img" class="control-label">
|
|
<input type="checkbox" id="author_img" name="author_img" value="1" ${checked} />
|
|
Show Author Images</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['BOOK_IMG'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="book_img" class="control-label">
|
|
<input type="checkbox" id="book_img" name="book_img" value="1" ${checked} />
|
|
Show Book Images</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['MAG_IMG'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="mag_img" class="control-label">
|
|
<input type="checkbox" id="mag_img" name="mag_img" value="1" ${checked} />
|
|
Show Magazine Images</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['SERIES_TAB'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="series_tab" class="control-label">
|
|
<input type="checkbox" id="series_tab" name="series_tab" value="1" ${checked} />
|
|
Show Series</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['MAG_TAB'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="mag_tab" class="control-label">
|
|
<input type="checkbox" id="mag_tab" name="mag_tab" value="1" ${checked} />
|
|
Show Magazines</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['AUDIO_TAB'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="audio_tab" class="control-label">
|
|
<input type="checkbox" id="audio_tab" name="audio_tab" value="1" ${checked} />
|
|
Show AudioBooks</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['TOGGLES'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="toggles" class="control-label">
|
|
<input type="checkbox" id="toggles" name="toggles" value="1" ${checked} />
|
|
Show column toggles</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['SORT_DEFINITE'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="sort_definite" class="control-label">
|
|
<input type="checkbox" id="sort_definite" name="sort_definite" value="1" ${checked} />
|
|
Show titles ignoring definite article (The, A)</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['SORT_SURNAME'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="sort_surname" class="control-label">
|
|
<input type="checkbox" id="sort_surname" name="sort_surname" value="1" ${checked} />
|
|
Show author surname first</label>
|
|
</div>
|
|
<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.CONFIG['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.CONFIG['BOOKSTRAP_THEME']:
|
|
selected = 'selected="selected"'
|
|
else:
|
|
selected = ''
|
|
%>
|
|
<option value="${bookstrap_theme}" ${selected}>${bookstrap_theme}</option>
|
|
%endfor
|
|
</select>
|
|
</div>
|
|
</fieldset>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> <!-- end of web interface tab panel -->
|
|
<div role="tabpanel" class="tab-pane" id="importoptions">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="col-md-4">
|
|
<fieldset>
|
|
<legend>Book API</legend>
|
|
<div class="form-group">
|
|
<%
|
|
if lazylibrarian.CONFIG['BOOK_API'] == "GoodReads":
|
|
gr_selected = 'selected="selected"'
|
|
else:
|
|
gr_selected = ''
|
|
|
|
if lazylibrarian.CONFIG['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.CONFIG['GR_API']}" class="form-control" placeholder="Goodreads API">
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['GR_SYNC'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="gr_sync" class="control-label">
|
|
<input type="checkbox" id="gr_sync" name="gr_sync" value="1" ${checked} />
|
|
Enable GoodReads Sync</label>
|
|
</div>
|
|
<fieldset id="grsync_options">
|
|
<label for="gr_secret">Goodreads Secret:</label>
|
|
<input type="text" id="gr_secret" name="gr_secret" value="${lazylibrarian.CONFIG['GR_SECRET']}" class="form-control">
|
|
<label for="gr_oauth_token">Goodreads OAuth Token:</label>
|
|
<input type="text" id="gr_oauth_token" name="gr_oauth_token" value="${lazylibrarian.CONFIG['GR_OAUTH_TOKEN']}" class="form-control">
|
|
<label for="gr_oauth_secret">Goodreads OAuth Secret:</label>
|
|
<input type="text" id="gr_oauth_secret" name="gr_oauth_secret" value="${lazylibrarian.CONFIG['GR_OAUTH_SECRET']}" class="form-control">
|
|
<label for="gr_wanted">Sync Wanted to Goodreads shelf:</label>
|
|
<input type="text" id="gr_wanted" name="gr_wanted" value="${lazylibrarian.CONFIG['GR_WANTED']}" class="form-control" placeholder="eg: to-read">
|
|
<label for="gr_owned">Sync Open/Have to Goodreads shelf:</label>
|
|
<input type="text" id="gr_owned" name="gr_owned" value="${lazylibrarian.CONFIG['GR_OWNED']}" class="form-control" placeholder="eg: owned">
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['GR_UNIQUE'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="gr_unique" class="control-label">
|
|
<input type="checkbox" id="gr_unique" name="gr_unique" value="1" ${checked} />
|
|
Delete from first GoodReads shelf if book is also on second shelf</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="goodreads_interval" class="control-label">Goodreads Sync Interval:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="goodreads_interval" name="goodreads_interval" value="${lazylibrarian.CONFIG['GOODREADS_INTERVAL']}" class="form-control" placeholder="Goodreads Sync interval (hours)" >
|
|
<span class="input-group-addon">Hours</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Request oAuth1" id="grauthStep1" class="btn btn-default" />
|
|
<input type="button" value="Request oAuth2" id="grauthStep2" class="btn btn-default" />
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Authorization" id="testgrauth" class="btn btn-default" />
|
|
</div>
|
|
</fieldset>
|
|
</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.CONFIG['GB_API']}" class="form-control">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="lt_devkey" class="control-label">LibraryThing Developer Key:</label>
|
|
<input type="text" id="lt_devkey" name="lt_devkey" value="${lazylibrarian.CONFIG['LT_DEVKEY']}" class="form-control">
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<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.CONFIG['EBOOK_TYPE']}" class="form-control" placeholder="eBook file formats">
|
|
<span class="help-block">Comma separated file extensions</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="audiobook_type" class="control-label">AudioBooks:</label>
|
|
<input type="text" id="audiobook_type" name="audiobook_type" value="${lazylibrarian.CONFIG['AUDIOBOOK_TYPE']}" class="form-control" placeholder="AudioBook file formats">
|
|
<span class="help-block">Comma separated file extensions</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.CONFIG['MAG_TYPE']}" class="form-control" placeholder="Magazine file formats">
|
|
<span class="help-block">Comma separated file extensions</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['NO_FUTURE'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="no_future">
|
|
<input type="checkbox" id="no_future" name="no_future" value="1" ${checked} />
|
|
Ignore books with future publication date</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['NO_PUBDATE'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="no_pubdate">
|
|
<input type="checkbox" id="no_pubdate" name="no_pubdate" value="1" ${checked} />
|
|
Ignore books with unknown publication date</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['NO_ISBN'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="no_isbn">
|
|
<input type="checkbox" id="no_isbn" name="no_isbn" value="1" ${checked} />
|
|
Ignore books with no isbn</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['NO_SETS'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="no_sets">
|
|
<input type="checkbox" id="no_sets" name="no_sets" value="1" ${checked} />
|
|
Ignore part books and sets</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['NO_LANG'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="no_lang">
|
|
<input type="checkbox" id="no_lang" name="no_lang" value="1" ${checked} />
|
|
Treat invalid language as ignored</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['IMP_IGNORE'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="imp_ignore">
|
|
<input type="checkbox" id="imp_ignore" name="imp_ignore" value="1" ${checked} />
|
|
Add ignored books to database (marked Ignored)</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['IMP_GOOGLEIMAGE'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="imp_googleimage">
|
|
<input type="checkbox" id="imp_googleimage" name="imp_googleimage" value="1" ${checked} />
|
|
Try google image search as final option for missing book covers</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['DELETE_CSV'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="delete_csv">
|
|
<input type="checkbox" id="delete_csv" name="delete_csv" value="1" ${checked} />
|
|
Delete csv file or wishlist after successful import</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['BLACKLIST_FAILED'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="blacklist_failed">
|
|
<input type="checkbox" id="blacklist_failed" name="blacklist_failed" value="1" ${checked} />
|
|
Blacklist failed downloads in history table</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['BLACKLIST_PROCESSED'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="blacklist_processed">
|
|
<input type="checkbox" id="blacklist_processed" name="blacklist_processed" value="1" ${checked} />
|
|
Blacklist processed downloads in history table</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['DELAYSEARCH'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="delaysearch">
|
|
<input type="checkbox" id="delaysearch" name="delaysearch" value="1" ${checked} />
|
|
Increase delay for previously failed searches</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<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.CONFIG['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.CONFIG['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/>
|
|
English month names are preloaded Changes to this setting require a restart</span>
|
|
</div>
|
|
<legend>Date Formats</legend>
|
|
<div class="form-group">
|
|
<label for="date_format" class="control=label">Date format for Added columns:</label>
|
|
<input type="text" id="date_format" name="date_format" value="${lazylibrarian.CONFIG['DATE_FORMAT']}" class="form-control" placeholder="Format for column dates">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="iss_format" class="control=label">Date format for Issue Date:</label>
|
|
<input type="text" id="iss_format" name="iss_format" value="${lazylibrarian.CONFIG['ISS_FORMAT']}" class="form-control" placeholder="Format for issue dates">
|
|
<span class="help-block">$d Day of the month as a number<br>$b Month as abbreviated name<br>$B Month as full name<br>$m Month as a number<br>$y Year without century<br>$Y Year with century<br>eg $Y-$m-$d</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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['SAB_USER']}" class="form-control" placeholder="SABnzbd Username">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="sab_pass" class="control-label">SABnzbd Password:</label>
|
|
<input type="password" id="sab_pass" name="sab_pass" value="${lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['SAB_SUBDIR']}" class="form-control" placeholder="SABnzbd Sub Dir">
|
|
</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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['NZBGET_PASS']}" class="form-control" placeholder="NZBGet Password">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="nzbget_category" class="control-label">Category:</label>
|
|
<input type="text" id="nzbget_category" name="nzbget_category" value="${lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['SYNOLOGY_DIR']}" class="form-control" placeholder="Synology Directory">
|
|
</div>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['NZB_BLACKHOLEDIR']}" class="form-control" placeholder="NZB Blackhole Directory">
|
|
</div>
|
|
</fieldset>
|
|
<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.CONFIG['USENET_RETENTION']}" class="form-control" placeholder="Retention Maximum Age">
|
|
</div>
|
|
</fieldset>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<fieldset>
|
|
<legend>Torrents</legend>
|
|
<fieldset id="torrent_options">
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['DELUGE_HOST']}" class="form-control" placeholder="Deluge Host">
|
|
</div>
|
|
<div class="form-group col-md-4">
|
|
<label for="deluge_port" class="control-label">Daemon or webUI Port:</label>
|
|
<input type="text" id="deluge_port" name="deluge_port" value="${lazylibrarian.CONFIG['DELUGE_PORT']}" class="form-control" placeholder="Deluge Port">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group col-md-8">
|
|
<label for="deluge_cert">Deluge Certificate: (webUI only)</label>
|
|
<input type="text" id="deluge_cert" name="deluge_cert" value="${lazylibrarian.CONFIG['DELUGE_CERT']}" class="form-control" placeholder="Deluge Certificate">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group col-md-6">
|
|
<label for="deluge_user" class="controllabel">Username: (daemon only)</label>
|
|
<input type="text" id="deluge_user" name="deluge_user" value="${lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['DELUGE_LABEL']}" class="form-control" placeholder="Deluge Label">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="deluge_dir" class="control-label">Download directory :</label>
|
|
<input type="text" id="deluge_dir" name="deluge_dir" value="${lazylibrarian.CONFIG['DELUGE_DIR']}" class="form-control" placeholder="Deluge Download Directory">
|
|
<span class="help-block">Leave blank to use deluge default</span>
|
|
</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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['TRANSMISSION_PASS']}" class="form-control" placeholder="Transmission Password">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="transmission_dir" class="control-label">Download directory :</label>
|
|
<input type="text" id="transmission_dir" name="transmission_dir" value="${lazylibrarian.CONFIG['TRANSMISSION_DIR']}" class="form-control" placeholder="Transmission Download Directory">
|
|
<span class="help-block">Leave blank to use transmission default</span>
|
|
</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.CONFIG['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.CONFIG['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.CONFIG['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="password" id="rtorrent_pass" name="rtorrent_pass" value="${lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['RTORRENT_DIR']}" class="form-control" placeholder="rTorrent Directory">
|
|
<span class="help-block">Leave blank to use rtorrent default</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>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['UTORRENT_PASS']}" class="form-control" placeholder="uTorrent Password">
|
|
</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.CONFIG['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>
|
|
</div>
|
|
</fieldset>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['QBITTORRENT_USER']}" class="form-control" placeholder="qBitTorrent Username">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="qbittorrent_pass" class="control-label">Password:</label>
|
|
<input type="password" id="qbittorrent_pass" name="qbittorrent_pass" value="${lazylibrarian.CONFIG['QBITTORRENT_PASS']}" class="form-control" placeholder="qBitTorrent Password">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="qbittorrent_label" class="control-label">qBitTorrent Label/Category:</label>
|
|
<input type="text" id="qbittorrent_label" name="qbittorrent_label" value="${lazylibrarian.CONFIG['QBITTORRENT_LABEL']}" class="form-control" placeholder="qBitTorrent Label/Category">
|
|
</div>
|
|
<div class="form-group col-md-6">
|
|
<label for="qbittorrent_dir" class="control-label">Download directory :</label>
|
|
<input type="text" id="qbittorrent_dir" name="qbittorrent_dir" value="${lazylibrarian.CONFIG['QBITTORRENT_DIR']}" class="form-control" placeholder="qBitTorrent Download Directory">
|
|
<span class="help-block">Leave blank to use qbittorrent default</span>
|
|
</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>
|
|
</div>
|
|
</fieldset>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['TORRENT_DIR']}" class="form-control" placeholder="Torrent Blackhole Directory">
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['PREFER_MAGNET'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="prefer_magnet" class="control-label">
|
|
<input type="checkbox" id="prefer_magnet" name="prefer_magnet" value="1" ${checked} />
|
|
Prefer magnet links to torrent files</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="numberofseeders" class="control-label">Minimum seeders:</label>
|
|
<input type="text" id="numberofseeders" name="numberofseeders" value="${lazylibrarian.CONFIG['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.CONFIG['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>
|
|
</fieldset>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div role="tabpanel" class="tab-pane" id="providers">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="usenet_providers">
|
|
<fieldset>
|
|
<div class="col-md-12">
|
|
<legend>Newznab Providers</legend>
|
|
</div>
|
|
%for provider in lazylibrarian.NEWZNAB_PROV:
|
|
<%
|
|
checked = ''
|
|
if provider['ENABLED'] == True:
|
|
checked = 'checked="checked"'
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Name</span>
|
|
<label for="newznab_${loop.index}_dispname" class="sr-only">Newznab Name</label>
|
|
<input type="text" id="newznab_${loop.index}_dispname" name="newznab_${loop.index}_dispname" value="${provider['DISPNAME']}" class="form-control" placeholder="display name">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="newznab_${loop.index}_enabled" name="newznab_${loop.index}_enabled" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon"></span>
|
|
<label for="newznab_${loop.index}_host" class="sr-only">Newznab URL</label>
|
|
<input type="text" placeholder="Newznab URL #${loop.index}" id="newznab_${loop.index}_host" name="newznab_${loop.index}_host" value="${provider['HOST']}" class="form-control">
|
|
<span class="input-group-addon"></span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon"></span>
|
|
<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">
|
|
<span class="input-group-addon"></span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Priority</span>
|
|
<input type="text" id="newznab_${loop.index}_dlpriority" name="newznab_${loop.index}_dlpriority" value="${provider['DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="newznab_${loop.index}"> Test</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
%endfor
|
|
</fieldset>
|
|
</div>
|
|
<div class="torznab_providers">
|
|
<fieldset>
|
|
<div class="col-md-12">
|
|
<legend>Torznab Providers</legend>
|
|
</div>
|
|
%for provider in lazylibrarian.TORZNAB_PROV:
|
|
<%
|
|
checked = ''
|
|
if provider['ENABLED'] == True:
|
|
checked = 'checked="checked"'
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Name</span>
|
|
<label for="torznab_${loop.index}_host" class="sr-only">Torznab Name</label>
|
|
<input type="text" id="torznab_${loop.index}_dispname" name="torznab_${loop.index}_dispname" value="${provider['DISPNAME']}" class="form-control" placeholder="display name">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="torznab_${loop.index}_enabled" name="torznab_${loop.index}_enabled" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon"></span>
|
|
<label for="torznab_${loop.index}_host" class="sr-only">Torznab URL</label>
|
|
<input type="text" placeholder="Torznab URL #${loop.index}" id="torznab_${loop.index}_host" name="torznab_${loop.index}_host" value="${provider['HOST']}" class="form-control">
|
|
<span class="input-group-addon"></span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon"></span>
|
|
<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">
|
|
<span class="input-group-addon"></span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Priority</span>
|
|
<input type="text" id="torznab_${loop.index}_dlpriority" name="torznab_${loop.index}_dlpriority" value="${provider['DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="torznab_${loop.index}"> Test</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
%endfor
|
|
</fieldset>
|
|
</div>
|
|
<div class="rss_providers">
|
|
<fieldset>
|
|
<div class="col-md-12">
|
|
<legend>RSS/Wishlist Providers</legend>
|
|
</div>
|
|
%for provider in lazylibrarian.RSS_PROV:
|
|
<%
|
|
checked = ''
|
|
if provider['ENABLED'] == True:
|
|
checked = 'checked="checked"'
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Name</span>
|
|
<label for="rss_${loop.index}_host" class="sr-only">RSS Name</label>
|
|
<input type="text" id="rss_${loop.index}_dispname" name="rss_${loop.index}_dispname" value="${provider['DISPNAME']}" class="form-control" placeholder="display name">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="rss_${loop.index}_enabled" name="rss_${loop.index}_enabled" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon"></span>
|
|
<label for="rss_${loop.index}_host" class="sr-only">RSS URL</label>
|
|
<input type="text" placeholder="RSS URL #${loop.index}" id="rss_${loop.index}_host" name="rss_${loop.index}_host" value="${provider['HOST']}" class="form-control" />
|
|
<span class="input-group-addon"></span>
|
|
</div>
|
|
<%
|
|
if '/list/show/' in provider['HOST']:
|
|
label = 'Pages'
|
|
else:
|
|
label = 'Priority'
|
|
%>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">${label}</span>
|
|
<input type="text" id="rss_${loop.index}_dlpriority" name="rss_${loop.index}_dlpriority" value="${provider['DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="rss_${loop.index}"> Test</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
%endfor
|
|
</fieldset>
|
|
<div class="torrent_providers">
|
|
<fieldset>
|
|
<div class="col-md-12">
|
|
<legend>Torrent Providers</legend>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.CONFIG['KAT'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<label for="kat_host" class="sr-only">KAT Host</label>
|
|
<div class="input-group">
|
|
<input type="text" placeholder="KAT Host" id="kat_host" name="kat_host" value="${lazylibrarian.CONFIG['KAT_HOST']}" class="form-control">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="kat" name="kat" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Priority</span>
|
|
<input type="text" id="kat_dlpriority" name="kat_dlpriority" value="${lazylibrarian.CONFIG['KAT_DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="KAT"> Test</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.CONFIG['TPB'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<label for="tpb_host" class="sr-only">TPB Host</label>
|
|
<div class="input-group">
|
|
<input type="text" placeholder="TPB Host" id="tpb_host" name="tpb_host" value="${lazylibrarian.CONFIG['TPB_HOST']}" class="form-control">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="tpb" name="tpb" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Priority</span>
|
|
<input type="text" id="tpb_dlpriority" name="tpb_dlpriority" value="${lazylibrarian.CONFIG['TPB_DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="TPB"> Test</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.CONFIG['WWT'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<label for="wwt_host" class="sr-only">WWT Host</label>
|
|
<div class="input-group">
|
|
<input type="text" placeholder="WWT Host" id="wwt_host" name="wwt_host" value="${lazylibrarian.CONFIG['WWT_HOST']}" class="form-control">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="wwt" name="wwt" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Priority</span>
|
|
<input type="text" id="wwt_dlpriority" name="wwt_dlpriority" value="${lazylibrarian.CONFIG['WWT_DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="WWT"> Test</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.CONFIG['ZOO'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<label for="zoo_host" class="sr-only">zooqle host</label>
|
|
<div class="input-group">
|
|
<input type="text" placeholder="zooqle host" id="zoo_host" name="zoo_host" value="${lazylibrarian.CONFIG['ZOO_HOST']}" class="form-control">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="zoo" name="zoo" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Priority</span>
|
|
<input type="text" id="zoo_dlpriority" name="zoo_dlpriority" value="${lazylibrarian.CONFIG['ZOO_DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="ZOO"> Test</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.CONFIG['TDL'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<label for="tdl_host" class="sr-only">torrentdownload host</label>
|
|
<div class="input-group">
|
|
<input type="text" placeholder="torrentdownload host" id="tdl_host" name="tdl_host" value="${lazylibrarian.CONFIG['TDL_HOST']}" class="form-control">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="tdl" name="tdl" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Priority</span>
|
|
<input type="text" id="tdl_dlpriority" name="tdl_dlpriority" value="${lazylibrarian.CONFIG['TDL_DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="TDL"> Test</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.CONFIG['LIME'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<label for="lime_host" class="sr-only">limetorrent host</label>
|
|
<div class="input-group">
|
|
<input type="text" placeholder="limetorrent host" id="lime_host" name="lime_host" value="${lazylibrarian.CONFIG['LIME_HOST']}" class="form-control">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="lime" name="lime" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Priority</span>
|
|
<input type="text" id="lime_dlpriority" name="lime_dlpriority" value="${lazylibrarian.CONFIG['LIME_DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="LIME"> Test</button>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="direct_providers">
|
|
<fieldset>
|
|
<div class="col-md-12">
|
|
<legend>Direct Download Providers</legend>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.CONFIG['GEN'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<label for="gen_host" class="sr-only">libgen host</label>
|
|
<div class="input-group">
|
|
<input type="text" placeholder="libgen host" id="gen_host" name="gen_host" value="${lazylibrarian.CONFIG['GEN_HOST']}" class="form-control">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="gen" name="gen" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<label for="gen_search" class="sr-only">libgen search</label>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Search</span>
|
|
<input type="text" placeholder="libgen search" id="gen_search" name="gen_search" value="${lazylibrarian.CONFIG['GEN_SEARCH']}" class="form-control">
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Priority</span>
|
|
<input type="text" id="gen_dlpriority" name="gen_dlpriority" value="${lazylibrarian.CONFIG['GEN_DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="GEN"> Test</button>
|
|
</span>
|
|
</div>
|
|
<span class="help-block">
|
|
Search Examples: search.php or foreignfiction/index.php
|
|
</span>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.CONFIG['GEN2'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<div class="col-md-4 form-group">
|
|
<label for="gen2_host" class="sr-only">libgen host</label>
|
|
<div class="input-group">
|
|
<input type="text" placeholder="libgen host" id="gen2_host" name="gen2_host" value="${lazylibrarian.CONFIG['GEN2_HOST']}" class="form-control">
|
|
<span class="input-group-addon">
|
|
<input type="checkbox" id="gen2" name="gen2" value="1" ${checked} />
|
|
</span>
|
|
</div>
|
|
<label for="gen2_search" class="sr-only">libgen search</label>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Search</span>
|
|
<input type="text" placeholder="libgen search" id="gen2_search" name="gen2_search" value="${lazylibrarian.CONFIG['GEN2_SEARCH']}" class="form-control">
|
|
</div>
|
|
<div class="input-group">
|
|
<span class="input-group-addon">Priority</span>
|
|
<input type="text" id="gen2_dlpriority" name="gen2_dlpriority" value="${lazylibrarian.CONFIG['GEN2_DLPRIORITY']}" class="form-control" placeholder="0">
|
|
<span class="input-group-addon">
|
|
<button role="testprov" class="button btn btn-xs btn-warning btn-primary" type="button" value="GEN2"> Test</button>
|
|
</span>
|
|
</div>
|
|
<span class="help-block">
|
|
Search Examples: search.php or foreignfiction/index.php
|
|
</span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<button class="button btn btn-sm btn-warning btn-primary" type="button" value="showblocked" id="showblocked"> Blocked Providers</button>
|
|
<br>
|
|
<br>
|
|
</div>
|
|
</div>
|
|
<div role="tabpanel" class="tab-pane" id="searchprocessing">
|
|
<div class="configtable">
|
|
<div class="row">
|
|
<div class="col-md-4">
|
|
<fieldset>
|
|
<legend>Intervals</legend>
|
|
<div class="form-group">
|
|
<label for="search_bookinterval" class="control-label">Book Search Interval:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="search_bookinterval" name="search_bookinterval" value="${lazylibrarian.CONFIG['SEARCH_BOOKINTERVAL']}" class="form-control" placeholder="Book search interval (mins)">
|
|
<span class="input-group-addon">Minutes</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="search_maginterval" class="control-label">Magazine Search Interval:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="search_maginterval" name="search_maginterval" value="${lazylibrarian.CONFIG['SEARCH_MAGINTERVAL']}" class="form-control" placeholder="Magazine 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.CONFIG['SEARCHRSS_INTERVAL']}" class="form-control" placeholder="RSS search interval (mins)">
|
|
<span class="input-group-addon">Minutes</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="wishlist_interval" class="control-label">Wishlist Search Interval:</label>
|
|
<div class="input-group">
|
|
<input type="text" id="wishlist_interval" name="wishlist_interval" value="${lazylibrarian.CONFIG['WISHLIST_INTERVAL']}" class="form-control" placeholder="Wishlist search interval (hours)">
|
|
<span class="input-group-addon">Hours</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.CONFIG['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.CONFIG['VERSIONCHECK_INTERVAL']}" class="form-control" placeholder="Version check interval (hours)" >
|
|
<span class="input-group-addon">Hours</span>
|
|
</div>
|
|
<%
|
|
if lazylibrarian.CONFIG['AUTO_UPDATE'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="auto_update" class="control-label">
|
|
<input type="checkbox" id="auto_update" name="auto_update" value="1" ${checked} />
|
|
Auto Update when new version found</label>
|
|
<span class="help-block">This will auto update if the task finds a new version. Does not apply to manual version checks</span>
|
|
</div>
|
|
<div class="help-block">Setting a scan interval to zero disables the task</div>
|
|
</fieldset>
|
|
<legend>Status</legend>
|
|
<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.CONFIG['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.CONFIG['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="newaudio_status">New AudioBook Status:</label>
|
|
<select id="newaudio_status" name="newaudio_status" class="form-control">
|
|
%for nb_status in config['status_list']:
|
|
<%
|
|
selected = ''
|
|
if nb_status == lazylibrarian.CONFIG['NEWAUDIO_STATUS']:
|
|
selected = 'selected="selected"'
|
|
%>
|
|
<option value="${nb_status}" ${selected}>${nb_status}</option>
|
|
%endfor
|
|
</select>
|
|
<span class="help-block">Status for new audiobooks by existing authors</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="newauthor_status">New Authors eBook Status:</label>
|
|
<select id="newauthor_status" name="newauthor_status" class="form-control">
|
|
%for na_status in config['status_list']:
|
|
<%
|
|
selected = ''
|
|
if na_status == lazylibrarian.CONFIG['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>
|
|
<div class="form-group">
|
|
<label for="newauthor_audio">New Authors AudioBook Status:</label>
|
|
<select id="newauthor_audio" name="newauthor_audio" class="form-control">
|
|
%for na_status in config['status_list']:
|
|
<%
|
|
selected = ''
|
|
if na_status == lazylibrarian.CONFIG['NEWAUTHOR_AUDIO']:
|
|
selected = 'selected="selected"'
|
|
%>
|
|
<option value="${na_status}" ${selected}>${na_status}</option>
|
|
%endfor
|
|
</select>
|
|
<span class="help-block">Status for audiobooks by new authors</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="found_status">New Found Status:</label>
|
|
<select id="found_status" name="found_status" class="form-control">
|
|
%for na_status in ['Open', 'Have']:
|
|
<%
|
|
selected = ''
|
|
if na_status == lazylibrarian.CONFIG['FOUND_STATUS']:
|
|
selected = 'selected="selected"'
|
|
%>
|
|
<option value="${na_status}" ${selected}>${na_status}</option>
|
|
%endfor
|
|
</select>
|
|
<span class="help-block">Status for new downloads and items found on scan</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['NEWAUTHOR_BOOKS'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="newauthor_books" class="control-label">
|
|
<input type="checkbox" id="newauthor_books" name="newauthor_books" value="1" ${checked} />
|
|
Include other books by new authors</label>
|
|
<span class="help-block">This will include details for other books by new authors found in wishlists or csv files,<br>
|
|
or when manually importing a book by a new author</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="imp_preprocess">PreProcessor program:</label>
|
|
<input type="text" id="imp_preprocess" name="imp_preprocess" value="${lazylibrarian.CONFIG['IMP_PREPROCESS']}" class="form-control">
|
|
<span class="help-block">Path to preprocessor to run before importing books into the library</span>
|
|
<input type="button" value="Test preprocessor" id="testpreprocessor" class="btn btn-default" />
|
|
</div>
|
|
<legend>Calibre</legend>
|
|
<fieldset>
|
|
<div class="form-group">
|
|
<label for="imp_calibredb">Calibredb import program:</label>
|
|
<input type="text" id="imp_calibredb" name="imp_calibredb" value="${lazylibrarian.CONFIG['IMP_CALIBREDB']}" class="form-control">
|
|
<span class="help-block">Path to "calibredb" to import books into the library</span>
|
|
<input type="button" value="Test calibredb" id="testCalibredb" class="btn btn-default" />
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['CALIBRE_USE_SERVER'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="calibre_use_server" class="control-label">
|
|
<input type="checkbox" id="calibre_use_server" name="calibre_use_server" value="1" ${checked} />
|
|
Use Calibre Content Server</label>
|
|
</div>
|
|
<fieldset id="calibre_options">
|
|
<div class="form-group">
|
|
<label for="calibre_server">Calibre Server:</label>
|
|
<input type="text" id="calibre_server" name="calibre_server" value="${lazylibrarian.CONFIG['CALIBRE_SERVER']}" class="form-control">
|
|
<span class="help-block">eg http://my_calibre_server:9000</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="calibre_user">Calibre Username:</label>
|
|
<input type="text" id="calibre_user" name="calibre_user" value="${lazylibrarian.CONFIG['CALIBRE_USER']}" class="form-control">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="calibre_pass">Calibre Password:</label>
|
|
<input type="password" id="calibre_pass" name="calibre_pass" value="${lazylibrarian.CONFIG['CALIBRE_PASS']}" class="form-control">
|
|
</div>
|
|
</fieldset>
|
|
<fieldset>
|
|
<div class="form-group">
|
|
<label for="imp_autoadd">Calibre Books Auto Add Directory:</label>
|
|
<input type="text" id="imp_autoadd" name="imp_autoadd" value="${lazylibrarian.CONFIG['IMP_AUTOADD']}" class="form-control">
|
|
<span class="help-block">Directory for a copy to be placed for auto add process</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['IMP_AUTOADD_BOOKONLY'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="imp_autoadd_bookonly">
|
|
<input type="checkbox" id="imp_autoadd_bookonly" name="imp_autoadd_bookonly" value="1" ${checked} />
|
|
Only add eBook, not opf or jpg</label>
|
|
</div>
|
|
</fieldset>
|
|
<fieldset>
|
|
<div class="form-group">
|
|
<label for="imp_autoadd">Calibre Magazines Auto Add Directory:</label>
|
|
<input type="text" id="imp_autoaddmag" name="imp_autoaddmag" value="${lazylibrarian.CONFIG['IMP_AUTOADDMAG']}" class="form-control">
|
|
<span class="help-block">Directory for a copy to be placed for auto add process</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['IMP_AUTOADD_MAGONLY'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="imp_autoadd_magonly">
|
|
<input type="checkbox" id="imp_autoadd_magonly" name="imp_autoadd_magonly" value="1" ${checked} />
|
|
Only add magazine, not opf or jpg</label>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<fieldset>
|
|
<legend>Folders</legend>
|
|
<div class="form-group">
|
|
<label for="download_dir" class="control-label">Download Directories:</label>
|
|
<input type="text" id="download_dir" name="download_dir" value="${lazylibrarian.CONFIG['DOWNLOAD_DIR']}" class="form-control" placeholder="Download Directory">
|
|
<span class="help-block">Comma separated list of folders where downloaders place books</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="ebook_dir" class="control-label">eBook Library Folder:</label>
|
|
<input type="text" id="ebook_dir" name="ebook_dir" value="${lazylibrarian.CONFIG['EBOOK_DIR']}" class="form-control" placeholder="eBook Library Folder">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="audio_dir" class="control-label">AudioBook Library Folder:</label>
|
|
<input type="text" id="audio_dir" name="audio_dir" value="${lazylibrarian.CONFIG['AUDIO_DIR']}" class="form-control" placeholder="AudioBook Library Folder">
|
|
</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.CONFIG['ALTERNATE_DIR']}" class="form-control" placeholder="Alternate Directory">
|
|
<span class="help-block">Directory for wishlists and manually importing books<br>
|
|
<strong>If "keep original files" is not set, LazyLibrarian can delete this folder after import</strong></span>
|
|
</div>
|
|
<legend>Name Formatting</legend>
|
|
<span class="help-block">Note: Calibre may override ebook folder and filename patterns</span>
|
|
<div class="form-group">
|
|
<label for="fmt_series">Series Pattern: ($Series variable)</label>
|
|
<input type="text" id="fmt_series" name="fmt_series" value="${lazylibrarian.CONFIG['FMT_SERIES']}" class="form-control" placeholder="eg ($SerName #$SerNum)">
|
|
<span class="help-block">Options: $SerName, $FmtName, $SerNum, $FmtNum, $PadNum, $PubYear, $SerYear, $$, any string.</span>
|
|
<small>Example: <mark>${config['namevars']['Series']}</mark></small>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="fmt_sername">Series Name Pattern: ($FmtName variable)</label>
|
|
<input type="text" id="fmt_sername" name="fmt_sername" value="${lazylibrarian.CONFIG['FMT_SERNAME']}" class="form-control" placeholder="eg $SerName">
|
|
<span class="help-block">Options: $SerName, $PubYear, $SerYear, $$, any string.</span>
|
|
<small>Example: <mark>${config['namevars']['FmtName']}</mark></small>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="fmt_sernum">Series Number Pattern: ($FmtNum variable)</label>
|
|
<input type="text" id="fmt_sernum" name="fmt_sernum" value="${lazylibrarian.CONFIG['FMT_SERNUM']}" class="form-control" placeholder="eg Book #$SerNum">
|
|
<span class="help-block">Options: $SerNum, $PadNum, $PubYear, $SerYear, $$, any string.</span>
|
|
<small>Example: <mark>${config['namevars']['FmtNum']}</mark></small>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="ebook_dest_folder">eBook/AudioBook Foldername Pattern:</label>
|
|
<input type="text" id="ebook_dest_folder" name="ebook_dest_folder" value="${lazylibrarian.CONFIG['EBOOK_DEST_FOLDER']}" class="form-control" placeholder="eBook Destination Folder">
|
|
<span class="help-block">Options: $Author, $Title, $Series, $SerName, $SerNum, $FmtName, $FmtNum, $PadNum, $PubYear, $SerYear, $Abridged, $$, any string.<br/>
|
|
<strong>Current limitation: Each title has to be in unique subfolder</strong></span>
|
|
<small>Example: <mark>${config['namevars']['FolderName']}</mark></small>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="ebook_dest_file">eBook Filename Pattern:</label>
|
|
<input type="text" id="ebook_dest_file" name="ebook_dest_file" value="${lazylibrarian.CONFIG['EBOOK_DEST_FILE']}" class="form-control" placeholder="eBook Destination File">
|
|
<span class="help-block">Options: $Author, $Title, $Series, $SerName, $SerNum, $FmtName, $FmtNum, $PadNum, $PubYear, $SerYear, $Abridged, $$, any string.<br/>
|
|
<strong>Current limitation: Each title has to be in unique subfolder</strong></span>
|
|
<small>Example: <mark>${config['namevars']['BookFile']}</mark></small>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="audiobook_dest_file">AudioBook Filename Pattern:</label>
|
|
<input type="text" id="audiobook_dest_file" name="audiobook_dest_file" value="${lazylibrarian.CONFIG['AUDIOBOOK_DEST_FILE']}" class="form-control" placeholder="audioBook Destination File">
|
|
<span class="help-block">Options: $Author, $Title, $Series, $SerName, $SerNum, $FmtName, $FmtNum, $PadNum, $PubYear, $SerYear, $Abridged, $Part, $Total, $$, any string.<br/>
|
|
<strong>Current limitation: Has to include $Title and $Part</strong></span>
|
|
<small>Example: <mark>${config['namevars']['AudioFile']}</mark></small>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['ONE_FORMAT'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="one_format">
|
|
<input type="checkbox" id="one_format" name="one_format" value="1" ${checked} />
|
|
Only import one format of an ebook if multiple formats downloaded</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="mag_dest_folder">Magazine Foldername Pattern:</label>
|
|
<input type="text" id="mag_dest_folder" name="mag_dest_folder" value="${lazylibrarian.CONFIG['MAG_DEST_FOLDER']}" class="form-control" placeholder="Magazines Destination Folder">
|
|
<span class="help-block">Absolute path, or inside book folder</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="mag_dest_file">Magazine Filename Pattern:</label>
|
|
<input type="text" id="mag_dest_file" name="mag_dest_file" value="${lazylibrarian.CONFIG['MAG_DEST_FILE']}" class="form-control" placeholder="Magazine Issue Filename">
|
|
<span class="help-block">Options: $Title, $IssueDate, any string
|
|
<BR><strong>Current limitations: Issue Filename must contain IssueDate
|
|
<BR>If Issue Filename does not contain Title, Foldername is used as Title</strong></span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['MAG_SINGLE'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="mag_single" class="control-label">
|
|
<input type="checkbox" id="mag_single" name="mag_single" value="1" ${checked} />
|
|
Quick open single issues of magazines</label>
|
|
<span class="help-block">If only one issue available, open it</span>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['DLOAD_RATIO']}" class="form-control" placeholder="Download Match Ratio (percent)">
|
|
<span class="input-group-addon">%</span>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="max_pages">Maximum Search Pages:</label>
|
|
<input type="text" id="max_pages" name="max_pages" value="${lazylibrarian.CONFIG['MAX_PAGES']}" class="form-control" placeholder="Use zero to download all pages">
|
|
<span class="help-block">Maximum pages of search results to load</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="max_bookpages">Maximum Author Pages:</label>
|
|
<input type="text" id="max_bookpages" name="max_bookpages" value="${lazylibrarian.CONFIG['MAX_BOOKPAGES']}" class="form-control" placeholder="Use zero to download all pages">
|
|
<span class="help-block">Maximum pages of books by an author to load</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="dload_ratio">Maximum Coverwall Images:</label>
|
|
<input type="text" id="max_wall" name="max_wall" value="${lazylibrarian.CONFIG['MAX_WALL']}" class="form-control" placeholder="Use zero for no limit">
|
|
<span class="help-block">Maximum results to show on coverwall</span>
|
|
</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.CONFIG['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.CONFIG['IMP_CONVERT']}" class="form-control">
|
|
<span class="help-block">Program for creating magazine covers (see wiki for details) Leave blank to use a local copy of ghostscript, or PythonMagick or Wand interfaces to ImageMagick</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['IMP_MAGCOVER'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="imp_magcover" class="control-label">
|
|
<input type="checkbox" id="imp_magcover" name="imp_magcover" value="1" ${checked} />
|
|
Create cover files for magazines</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['IMP_MAGOPF'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="imp_magopf" class="control-label">
|
|
<input type="checkbox" id="imp_magopf" name="imp_magopf" value="1" ${checked} />
|
|
Create opf files for magazines</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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 database entries for ebooks not found in the download location</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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} />
|
|
Import one book per directory</label>
|
|
<span class="help-block">Tick this if you keep multiple formats of the same book in the same directory</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['IMP_RENAME'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="imp_rename" class="control-label">
|
|
<input type="checkbox" id="imp_rename" name="imp_rename" value="1" ${checked} />
|
|
Rename existing books on libraryscan</label>
|
|
<span class="help-block">This renames existing files to match eBook/AudioBook Filename Patterns</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['MAG_RENAME'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="mag_rename" class="control-label">
|
|
<input type="checkbox" id="mag_rename" name="mag_rename" value="1" ${checked} />
|
|
Rename existing magazines on libraryscan</label>
|
|
<span class="help-block">This renames existing files to match Magazine Filename Pattern</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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 allow new authors to be added</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['ADD_SERIES'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="add_series" class="control-label">
|
|
<input type="checkbox" id="add_series" name="add_series" value="1" ${checked} />
|
|
Add Series</label>
|
|
<span class="help-block">This will allow new series info to be added</span>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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. Leave unticked to search for them later.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
</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.CONFIG['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.CONFIG['TWITTER_NOTIFY_ONSNATCH'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="twitter_notify_onsnatch" class="control-label">
|
|
<input type="checkbox" id="twitter_notify_onsnatch" name="twitter_notify_onsnatch" value="1" ${checked} />
|
|
Notify on snatch</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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" />
|
|
<span class="help-block">Enter the key from the twitter authorization page here, DO NOT press Enter or save the config. The key is single-use and will not be saved. Press [Verify Key] to complete authorization.</span>
|
|
</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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['BOXCAR_TOKEN']}" placeholder="Boxcar token" class="form-control">
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Boxcar" id="testBoxcar" class="btn btn-default">
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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 class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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" name="pushover_device" value="${lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['USE_PROWL'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_prowl" class="control-label">
|
|
<input type="checkbox" name="use_prowl" id="use_prowl" value="1" ${checked} />
|
|
Enable Prowl</label>
|
|
</div>
|
|
<div id="prowloptions">
|
|
<fieldset>
|
|
<legend>Prowl</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['PROWL_ONSNATCH'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="prowl_onsnatch" class="control-label">
|
|
<input type="checkbox" id="prowl_onsnatch" name="prowl_onsnatch" value="1" ${checked} />
|
|
Notify on snatch?</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['PROWL_ONDOWNLOAD'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="prowl_ondownload" class="control-label">
|
|
<input type="checkbox" id="prowl_ondownload" name="prowl_ondownload" value="1" ${checked} />
|
|
Notify on download?</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="prowl_apikey" class="control-label">Prowl API Key</label>
|
|
<input type="text" id="prowl_apikey" name="prowl_apikey" value="${lazylibrarian.CONFIG['PROWL_APIKEY']}" class="form-control" placeholder="Prowl API Key">
|
|
<span class="help-block">Separate multiple api keys with commas</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="prowl_priority" class="control-label">Priority</label>
|
|
<select id="prowl_priority" name="prowl_priority" class="form-control">
|
|
%for x in [-2,-1,0,1,2]:
|
|
<%
|
|
if lazylibrarian.CONFIG['PROWL_PRIORITY'] == x:
|
|
prowl_priority_selected = 'selected'
|
|
else:
|
|
prowl_priority_selected = ''
|
|
|
|
if x == -2:
|
|
prowl_priority_value = 'Very Low'
|
|
elif x == -1:
|
|
prowl_priority_value = 'Moderate'
|
|
elif x == 0:
|
|
prowl_priority_value = 'Normal'
|
|
elif x == 1:
|
|
prowl_priority_value = 'High'
|
|
else:
|
|
prowl_priority_value = 'Emergency'
|
|
%>
|
|
<option value="${x}" ${prowl_priority_selected}>${prowl_priority_value}</option>
|
|
%endfor
|
|
</select>
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Prowl" id="testProwl" class="btn btn-default" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['USE_GROWL'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_growl" class="control-label">
|
|
<input type="checkbox" name="use_growl" id="use_growl" value="1" ${checked} />
|
|
Enable Growl</label>
|
|
</div>
|
|
<div id="growloptions">
|
|
<fieldset>
|
|
<legend>Growl</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['GROWL_ONSNATCH'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="growl_onsnatch" class="control-label">
|
|
<input type="checkbox" id="growl_onsnatch" name="growl_onsnatch" value="1" ${checked} />
|
|
Notify on snatch?</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['GROWL_ONDOWNLOAD'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="growl_ondownload" class="control-label">
|
|
<input type="checkbox" id="growl_ondownload" name="growl_ondownload" value="1" ${checked} />
|
|
Notify on download?</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="growl_host" class="control-label">Growl Host</label>
|
|
<input type="text" id="growl_host" name="growl_host" value="${lazylibrarian.CONFIG['GROWL_HOST']}" class="form-control" placeholder="eg localhost:23053">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="growl_password" class="control-label">Growl Password</label>
|
|
<input type="text" id="growl_password" name="growl_password" value="${lazylibrarian.CONFIG['GROWL_PASSWORD']}" class="form-control" placeholder="none">
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Growl" id="testGrowl" class="btn btn-default" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['USE_TELEGRAM'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_telegram" class="control-label">
|
|
<input type="checkbox" name="use_telegram" id="use_telegram" value="1" ${checked} />
|
|
Enable Telegram</label>
|
|
</div>
|
|
<div id="telegramoptions">
|
|
<fieldset>
|
|
<legend>Telegram</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['TELEGRAM_ONSNATCH'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="telegram_onsnatch" class="control-label">
|
|
<input type="checkbox" id="telegram_onsnatch" name="telegram_onsnatch" value="1" ${checked} />
|
|
Notify on snatch?</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['TELEGRAM_ONDOWNLOAD'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="telegram_ondownload" class="control-label">
|
|
<input type="checkbox" id="telegram_ondownload" name="telegram_ondownload" value="1" ${checked} />
|
|
Notify on download?</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="telegram_token" class="control-label">Telegram Token</label>
|
|
<input type="text" id="telegram_token" name="telegram_token" value="${lazylibrarian.CONFIG['TELEGRAM_TOKEN']}" class="form-control" placeholder="Telegram Token"><small>Contact <a href="http://telegram.me/BotFather">@BotFather</a> to create a bot and get its token
|
|
<br>After creating the bot, send it a message from telegram to activate it</small>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="telegram_userid" class="control-label">Telegram UserID</label>
|
|
<input type="text" id="telegram_userid" name="telegram_userid" value="${lazylibrarian.CONFIG['TELEGRAM_USERID']}" class="form-control" placeholder="Telegram UserID"><small>Contact <a href="http://telegram.me/myidbot">@myidbot</a> to get your user ID</small>
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Telegram" id="testTelegram" class="btn btn-default" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['USE_NMA'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_nma" class="control-label">
|
|
<input type="checkbox" name="use_nma" id="use_nma" value="1" ${checked} />
|
|
Enable NotifyMyAndroid</label>
|
|
</div>
|
|
<div id="nmaoptions">
|
|
<fieldset>
|
|
<legend>NotifyMyAndroid</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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_url">Slack Webhook URL (usually https://hooks.slack.com/services/)</label>
|
|
<input type="text" id="slack_url" name="slack_url" value="${lazylibrarian.CONFIG['SLACK_URL']}" class="form-control" placeholder="Slack Webhook URL">
|
|
</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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['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="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['EMAIL_SENDFILE_ONDOWNLOAD'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="email_sendfile_ondownload">
|
|
<input type="checkbox" id="email_sendfile_ondownload" name="email_sendfile_ondownload" value="1" ${checked} />
|
|
Attach book 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.CONFIG['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.CONFIG['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.CONFIG['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.CONFIG['EMAIL_SMTP_USER']}" class="form-control" placeholder="SMTP User">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="email_smtp_password">SMTP Password</label>
|
|
<input type="password" id="email_smtp_password" name="email_smtp_password" value="${lazylibrarian.CONFIG['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.CONFIG['EMAIL_SMTP_PORT']}" class="form-control" placeholder="SMTP Port">
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['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.CONFIG['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 class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['USE_CUSTOM'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="use_custom" class="control-label">
|
|
<input type="checkbox" id="use_custom" name="use_custom" value="1" ${checked} />
|
|
Enable Custom Notifications</label>
|
|
</div>
|
|
<div id="customoptions">
|
|
<fieldset>
|
|
<legend>Custom</legend>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['CUSTOM_NOTIFY_ONSNATCH'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="custom_notify_onsnatch">
|
|
<input type="checkbox" id="custom_notify_onsnatch" name="custom_notify_onsnatch" value="1" ${checked} />
|
|
Notify on snatch</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<%
|
|
if lazylibrarian.CONFIG['CUSTOM_NOTIFY_ONDOWNLOAD'] == True:
|
|
checked = 'checked="checked"'
|
|
else:
|
|
checked = ''
|
|
%>
|
|
<label for="custom_notify_ondownload">
|
|
<input type="checkbox" id="custom_notify_ondownload" name="custom_notify_ondownload" value="1" ${checked} />
|
|
Notify on download</label>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="custom_script">Custom script to run</label>
|
|
<input type="text" id="custom_script" name="custom_script" value="${lazylibrarian.CONFIG['CUSTOM_SCRIPT']}" class="form-control" placeholder="Custom Script">
|
|
</div>
|
|
<div class="form-group">
|
|
<input type="button" value="Test Custom" id="testCustom" class="btn btn-default">
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div role="tabpanel" class="tab-pane" id="capabilities">
|
|
<div class="configtable">
|
|
<div>
|
|
You only need to alter category 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. API limit is not read from the provider and is not affected by lock.
|
|
</div>
|
|
<div class="row">
|
|
%for provider in lazylibrarian.NEWZNAB_PROV:
|
|
<%
|
|
if provider['HOST'] == "":
|
|
hidden = 'hidden="hidden"'
|
|
else:
|
|
hidden = ''
|
|
%>
|
|
<%
|
|
if 'APILIMIT' in provider:
|
|
apilimit = provider['APILIMIT']
|
|
else:
|
|
apilimit = 0
|
|
%>
|
|
<div class="col-md-6">
|
|
<legend ${hidden}>${provider['DISPNAME']}</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>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="newznab_${loop.index}_audiosearch" class="control-label">AudioBook Search:</label>
|
|
<input type="text" placeholder="AudioBook Search" id="newznab_${loop.index}_audiosearch" name="newznab_${loop.index}_audiosearch" value="${provider['AUDIOSEARCH']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="newznab_${loop.index}_audiocat" class="control-label">AudioBook Categories:</label>
|
|
<input type="text" placeholder="AudioBook Categories" id="newznab_${loop.index}_audiocat" name="newznab_${loop.index}_audiocat" value="${provider['AUDIOCAT']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="newznab_${loop.index}_apilimit" class="control-label">Daily API Limit: (used ${provider['APICOUNT']} today)</label>
|
|
<input type="text" placeholder="API Limit" id="newznab_${loop.index}_apilimit" name="newznab_${loop.index}_apilimit" value="${provider['APILIMIT']}" class="form-control">
|
|
</div>
|
|
</div>
|
|
%endfor
|
|
</div>
|
|
<div class="row">
|
|
%for provider in lazylibrarian.TORZNAB_PROV:
|
|
<%
|
|
if provider['HOST'] == "":
|
|
hidden = 'hidden="hidden"'
|
|
else:
|
|
hidden = ''
|
|
%>
|
|
<div class="col-md-6">
|
|
<legend ${hidden}>${provider['DISPNAME']}</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 lock settings</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>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="torznab_${loop.index}_audiosearch" class="control-label">AudioBook Search:</label>
|
|
<input type="text" placeholder="AudioBook Search" id="torznab_${loop.index}_audiosearch" name="torznab_${loop.index}_audiosearch" value="${provider['AUDIOSEARCH']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="torznab_${loop.index}_audiocat" class="control-label">AudioBook Categories:</label>
|
|
<input type="text" placeholder="AudioBook Categories" id="torznab_${loop.index}_audiocat" name="torznab_${loop.index}_audiocat" value="${provider['AUDIOCAT']}" class="form-control">
|
|
</div>
|
|
<div class="form-group col-md-6" ${hidden}>
|
|
<label for="torznab_${loop.index}_apilimit" class="control-label">Daily API Limit: (used ${provider['APICOUNT']} today)</label>
|
|
<input type="text" placeholder="API Limit" id="torznab_${loop.index}_apilimit" name="torznab_${loop.index}_apilimit" value="${provider['APILIMIT']}" class="form-control">
|
|
</div>
|
|
</div>
|
|
%endfor
|
|
</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>
|
|
<div class="form-group">
|
|
<input type="text" id="reject_words" name="reject_words" value="${lazylibrarian.CONFIG['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 or filenames<br>
|
|
(where available) will be ignored<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<legend>AudioBook Reject List</legend>
|
|
<div class="form-group">
|
|
<input type="text" id="reject_audio" name="reject_audio" value="${lazylibrarian.CONFIG['REJECT_AUDIO']}" 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 or filenames<br>
|
|
(where available) will be ignored<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<legend>Magazine Reject List (all titles)</legend>
|
|
<div class="form-group">
|
|
<input type="text" id="reject_mags" name="reject_mags" value="${lazylibrarian.CONFIG['REJECT_MAGS']}" 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 or filenames<br>
|
|
(where available) will be ignored<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<legend>Extension Reject List (all types)</legend>
|
|
<div class="form-group">
|
|
<input type="text" id="banned_ext" name="banned_ext" value="${lazylibrarian.CONFIG['BANNED_EXT']}" class="form-control" placeholder="Reject extensions list">
|
|
<span class="help-block">Comma separated list of extensions to reject:<br/>
|
|
Results with any of these extensions in the filenames will be rejected<br/>
|
|
(where info is available)<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<legend>Book Size Limits</legend>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<input type="text" id="reject_maxsize" name="reject_maxsize" value="${lazylibrarian.CONFIG['REJECT_MAXSIZE']}" class="form-control" placeholder="Reject maximum size">
|
|
<span class="help-block">Book maximum size (Mb):<br/>
|
|
Search results larger than this will be rejected, set to 0 to disable<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<input type="text" id="reject_minsize" name="reject_minsize" value="${lazylibrarian.CONFIG['REJECT_MINSIZE']}" class="form-control" placeholder="Reject minimum size">
|
|
<span class="help-block">Book minimum size (Mb):<br/>
|
|
Search results smaller than this will be rejected, set to 0 to disable<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<legend>AudioBook Size Limits</legend>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<input type="text" id="reject_maxaudio" name="reject_maxaudio" value="${lazylibrarian.CONFIG['REJECT_MAXAUDIO']}" class="form-control" placeholder="Reject maximum size">
|
|
<span class="help-block">AudioBook maximum size (Mb):<br/>
|
|
Search results larger than this will be rejected, set to 0 to disable<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<input type="text" id="reject_minaudio" name="reject_minaudio" value="${lazylibrarian.CONFIG['REJECT_MINAUDIO']}" class="form-control" placeholder="Reject minimum size">
|
|
<span class="help-block">AudioBook minimum size (Mb):<br/>
|
|
Search results smaller than this will be rejected, set to 0 to disable<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<legend>Magazine Size Limits</legend>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<input type="text" id="reject_magsize" name="reject_magsize" value="${lazylibrarian.CONFIG['REJECT_MAGSIZE']}" class="form-control" placeholder="Reject maximum size">
|
|
<span class="help-block">Magazine maximum size (Mb):<br/>
|
|
Search results larger than this will be rejected, set to 0 to disable<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<input type="text" id="reject_magmin" name="reject_magmin" value="${lazylibrarian.CONFIG['REJECT_MAGMIN']}" class="form-control" placeholder="Reject minimum size">
|
|
<span class="help-block">Magazine minimum size (Mb):<br/>
|
|
Search results smaller than this will be rejected, set to 0 to disable<br/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<legend>Magazine Reject Lists (per title)</legend>
|
|
</div>
|
|
%for mag in config['magazines_list']:
|
|
<div class="col-md-6">
|
|
<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">
|
|
<input type="text" id="datetype[${mag['Title']}]" name="datetype[${mag['Title']}]" value="${mag['DateType']}" class="form-control" placeholder="Date Style (leave empty for auto detect)">
|
|
</div>
|
|
%endfor
|
|
<div class="col-md-6">
|
|
<label>Settings:</label><br>
|
|
<input type="button" value="Export Filters" id="savefilters" class="btn btn-default" />
|
|
<input type="button" value="Import Filters" id="loadfilters" class="btn btn-default" />
|
|
</div>
|
|
</div>
|
|
<br>
|
|
</div>
|
|
</div>
|
|
<!-- tabs content -->
|
|
</div>
|
|
<!-- tabs -->
|
|
<p> </p>
|
|
<p style="text-align:center;color:grey">Repo: https://github.com/${lazylibrarian.CONFIG['GIT_USER']}/${lazylibrarian.CONFIG['GIT_REPO']} : Branch: ${lazylibrarian.CONFIG['GIT_BRANCH']} : Updated: ${config['updated']}<br>
|
|
Current Version: ${lazylibrarian.CONFIG['CURRENT_VERSION']} : Latest Version: ${lazylibrarian.CONFIG['LATEST_VERSION']}</p>
|
|
</div>
|
|
<!-- form -->
|
|
</form>
|
|
</%def>
|
|
<%def name="javascriptIncludes()">
|
|
<script type="text/javascript">
|
|
function initThisPage()
|
|
|
|
{
|
|
"use strict";
|
|
|
|
if ($("#calibre_use_server").is(":checked"))
|
|
{
|
|
$("#calibre_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#calibre_options").hide();
|
|
}
|
|
$("#calibre_use_server").click(function(){
|
|
if ($("#calibre_use_server").is(":checked"))
|
|
{
|
|
$("#calibre_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#calibre_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#gr_sync").is(":checked"))
|
|
{
|
|
$("#grsync_options").show();
|
|
}
|
|
else
|
|
{
|
|
$("#grsync_options").hide();
|
|
}
|
|
|
|
$("#gr_sync").click(function(){
|
|
if ($("#gr_sync").is(":checked"))
|
|
{
|
|
$("#grsync_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#grsync_options").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#user_accounts").is(":checked"))
|
|
{
|
|
$("#admin_options").show();
|
|
$("#webserver_options").hide();
|
|
}
|
|
else
|
|
{
|
|
$("#webserver_options").show();
|
|
$("#admin_options").hide();
|
|
}
|
|
|
|
$("#user_accounts").click(function(){
|
|
if ($("#user_accounts").is(":checked"))
|
|
{
|
|
$("#webserver_options").slideUp();
|
|
$("#admin_options").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#admin_options").slideUp();
|
|
$("#webserver_options").slideDown();
|
|
}
|
|
});
|
|
|
|
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) { });
|
|
});
|
|
|
|
$('#showblocked').on('click', function(e) {
|
|
$.get('showblocked', function(data) {
|
|
bootbox.dialog({
|
|
title: 'Provider Status',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
prompt: {
|
|
label: "Clear Blocklist",
|
|
className: 'btn-danger',
|
|
callback: function(result){ $.get("clearblocked", function(e) {}); }
|
|
},
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
if ($("#opds_enabled").is(":checked"))
|
|
{
|
|
$("#opdsoptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#opdsoptions").hide();
|
|
}
|
|
|
|
$("#opds_enabled").click(function(){
|
|
if ($("#opds_enabled").is(":checked"))
|
|
{
|
|
$("#opdsoptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#opdsoptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#opds_authentication").is(":checked"))
|
|
{
|
|
$("#opdscredentials").show();
|
|
}
|
|
else
|
|
{
|
|
$("#opdscredentials").hide();
|
|
}
|
|
|
|
$("#opds_authentication").click(function(){
|
|
if ($("#opds_authentication").is(":checked"))
|
|
{
|
|
$("#opdscredentials").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#opdscredentials").slideUp();
|
|
}
|
|
});
|
|
|
|
$("button[role='testprov']").on('click', function(e) {
|
|
var prov = $(this).val();
|
|
var host = ""
|
|
var api = ""
|
|
if ( 'KAT TPB WWT ZOO TDL LIME GEN GEN2'.indexOf(prov) >= 0 ) {
|
|
var host = $("#" + prov.toLowerCase() + "_host").val();
|
|
}
|
|
if ( 'GEN GEN2'.indexOf(prov) >= 0 ) {
|
|
var api = $("#" + prov.toLowerCase() + "_search").val();
|
|
}
|
|
if ( prov.indexOf('newznab_') == 0 ) {
|
|
var host = $("#" + prov.toLowerCase() + "_host").val();
|
|
var api = $("#" + prov.toLowerCase() + "_api").val();
|
|
}
|
|
if ( prov.indexOf('torznab_') == 0 ) {
|
|
var host = $("#" + prov.toLowerCase() + "_host").val();
|
|
var api = $("#" + prov.toLowerCase() + "_api").val();
|
|
}
|
|
if ( prov.indexOf('rss_') == 0 ) {
|
|
var host = $("#" + prov.toLowerCase() + "_host").val();
|
|
}
|
|
$("#myAlert").removeClass('hidden');
|
|
$.get('testprovider', {'name': prov, 'host': host, 'api': api},
|
|
function(data) {
|
|
$("#myAlert").addClass('hidden');
|
|
bootbox.dialog({
|
|
title: 'Test Result',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#show_Jobs').on('click', function(e) {
|
|
$.get('show_Jobs', function(data) {
|
|
bootbox.dialog({
|
|
title: 'Job Status',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
stopit: {
|
|
label: "<i class=\"fa fa-ban\"></i> Stop Jobs",
|
|
className: 'btn-warning',
|
|
callback: function(result){ $.get("stop_Jobs", function(e) {}); }
|
|
},
|
|
restart: {
|
|
label: "<i class=\"fa fa-sync\"></i> Restart Jobs",
|
|
className: 'btn-info',
|
|
callback: function(result){ $.get("restart_Jobs", function(e) {}); }
|
|
},
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testSABnzbd').on('click', function() {
|
|
var host = $.trim($("#sab_host").val());
|
|
var port = $.trim($("#sab_port").val());
|
|
var user = $.trim($("#sab_user").val());
|
|
var pwd = $.trim($("#sab_pass").val());
|
|
var api = $.trim($("#sab_api").val());
|
|
var cat = $.trim($("#sab_cat").val());
|
|
var subdir = $.trim($("#sab_subdir").val());
|
|
$.get("testSABnzbd", {'host': host, 'port': port, 'user': user, 'pwd': pwd, 'api': api, 'cat': cat, 'subdir': subdir},
|
|
function(data) {
|
|
bootbox.dialog({
|
|
title: 'SABnzbd Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testNZBget').on('click', function(e) {
|
|
var host = $.trim($("#nzbget_host").val());
|
|
var port = $.trim($("#nzbget_port").val());
|
|
var user = $.trim($("#nzbget_user").val());
|
|
var pwd = $.trim($("#nzbget_pass").val());
|
|
var cat = $.trim($("#nzbget_category").val());
|
|
var pri = $.trim($("#nzbget_priority").val());
|
|
$.get('testNZBget', {'host': host, 'port': port, 'user': user, 'pwd': pwd, 'cat': cat, 'pri': pri},
|
|
function(data) {
|
|
bootbox.dialog({
|
|
title: 'NZBget Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testSynology').on('click', function(e) {
|
|
var host = $.trim($("#synology_host").val());
|
|
var port = $.trim($("#synology_port").val());
|
|
var user = $.trim($("#synology_user").val());
|
|
var pwd = $.trim($("#synology_pass").val());
|
|
var dir = $.trim($("#synology_dir").val());
|
|
$.get('testSynology', {'host': host, 'port': port, 'user': user, 'pwd': pwd, 'dir': dir},
|
|
function(data) {
|
|
bootbox.dialog({
|
|
title: 'Synology Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testDeluge').on('click', function() {
|
|
var host = $.trim($("#deluge_host").val());
|
|
var cert = $.trim($("#deluge_cert").val());
|
|
var port = $.trim($("#deluge_port").val());
|
|
var user = $.trim($("#deluge_user").val());
|
|
var pwd = $.trim($("#deluge_pass").val());
|
|
var label = $.trim($("#deluge_label").val());
|
|
$.get("testDeluge", {'host': host, 'port': port, 'cert': cert, 'user': user, 'pwd': pwd, 'label': label},
|
|
function(data) {
|
|
bootbox.dialog({
|
|
title: 'Deluge Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testTransmission').on('click', function(e) {
|
|
var host = $.trim($("#transmission_host").val());
|
|
var port = $.trim($("#transmission_port").val());
|
|
var user = $.trim($("#transmission_user").val());
|
|
var pwd = $.trim($("#transmission_pass").val());
|
|
$.get('testTransmission', {'host': host, 'port': port, 'user': user, 'pwd': pwd},
|
|
function(data) {
|
|
bootbox.dialog({
|
|
title: 'Transmission Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testqBittorrent').on('click', function() {
|
|
var host = $.trim($("#qbittorrent_host").val());
|
|
var port = $.trim($("#qbittorrent_port").val());
|
|
var user = $.trim($("#qbittorrent_user").val());
|
|
var pwd = $.trim($("#qbittorrent_pass").val());
|
|
var label = $.trim($("#qbittorrent_label").val());
|
|
$.get('testqBittorrent', {'host': host, 'port': port, 'user': user, 'pwd': pwd, 'label': label},
|
|
function(data) {
|
|
bootbox.dialog({
|
|
title: 'qBittorrent Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testuTorrent').on('click', function(e) {
|
|
var host = $.trim($("#utorrent_host").val());
|
|
var port = $.trim($("#utorrent_port").val());
|
|
var user = $.trim($("#utorrent_user").val());
|
|
var pwd = $.trim($("#utorrent_pass").val());
|
|
var label = $.trim($("#utorrent_label").val());
|
|
$.get('testuTorrent', {'host': host, 'port': port, 'user': user, 'pwd': pwd, 'label': label},
|
|
function(data) {
|
|
bootbox.dialog({
|
|
title: 'uTorrent Connection',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testrTorrent').on('click', function(e) {
|
|
var host = $.trim($("#rtorrent_host").val());
|
|
var dir = $.trim($("#rtorrent_dir").val());
|
|
var user = $.trim($("#rtorrent_user").val());
|
|
var pwd = $.trim($("#rtorrent_pass").val());
|
|
var label = $.trim($("#rtorrent_label").val());
|
|
$.get('testrTorrent', {'host': host, 'dir': dir, 'user': user, 'pwd': pwd, 'label': label},
|
|
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();
|
|
}
|
|
});
|
|
|
|
$("#use_prowl").click(function(){
|
|
if ($("#use_prowl").is(":checked"))
|
|
{
|
|
$("#prowloptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#prowloptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#use_prowl").is(":checked"))
|
|
{
|
|
$("#prowloptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#prowloptions").hide();
|
|
}
|
|
|
|
$("#use_growl").click(function(){
|
|
if ($("#use_growl").is(":checked"))
|
|
{
|
|
$("#growloptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#growloptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#use_growl").is(":checked"))
|
|
{
|
|
$("#growloptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#growloptions").hide();
|
|
}
|
|
|
|
$("#use_telegram").click(function(){
|
|
if ($("#use_telegram").is(":checked"))
|
|
{
|
|
$("#telegramoptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#telegramoptions").slideUp();
|
|
}
|
|
});
|
|
|
|
if ($("#use_telegram").is(":checked"))
|
|
{
|
|
$("#telegramoptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#telegramoptions").hide();
|
|
}
|
|
|
|
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_custom").is(":checked"))
|
|
{
|
|
$("#customoptions").show();
|
|
}
|
|
else
|
|
{
|
|
$("#customoptions").hide();
|
|
}
|
|
|
|
$("#use_custom").click(function(){
|
|
if ($("#use_custom").is(":checked"))
|
|
{
|
|
$("#customoptions").slideDown();
|
|
}
|
|
else
|
|
{
|
|
$("#customoptions").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();
|
|
}
|
|
});
|
|
|
|
$('#sysinfo').on('click', function(e) {
|
|
$.get('logHeader', function(data) {
|
|
bootbox.dialog({
|
|
title: 'System Info',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#savefilters').on('click', function(e) {
|
|
$.get('saveFilters', function(data) {
|
|
bootbox.dialog({
|
|
title: 'Export Filters',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#loadfilters').on('click', function(e) {
|
|
$.get('loadFilters', function(data) {
|
|
bootbox.dialog({
|
|
title: 'Import Filters',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
$('#testgrauth').click(function () {
|
|
var gr_api = $.trim($("#gr_api").val());
|
|
var gr_secret = $.trim($("#gr_secret").val());
|
|
var oauth_token = $.trim($("#gr_oauth_token").val());
|
|
var oauth_secret = $.trim($("#gr_oauth_secret").val());
|
|
$.get("testGRAuth", {'gr_api': gr_api, 'gr_secret': gr_secret, 'oauth_token': oauth_token, 'oauth_secret': oauth_secret},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'GoodReads Auth',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#grauthStep1').click(function () {
|
|
var gr_api = $.trim($("#gr_api").val());
|
|
var gr_secret = $.trim($("#gr_secret").val());
|
|
$.get("grauthStep1", {'gr_api': gr_api, 'gr_secret': gr_secret},
|
|
function (data) {
|
|
if ( data.substr(0, 4) == 'http') { bootbox.dialog({
|
|
title: 'GoodReads Auth',
|
|
message: '<pre>When you click [OK] a new page will open to authorise lazylibrarian. Follow the prompts, then go back to LazyLibrarian and request oAuth2\nIf the page does not open, visit this link...\n'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
}); window.open(data);
|
|
}
|
|
else { bootbox.dialog({
|
|
title: 'GoodReads Response',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
}
|
|
})
|
|
});
|
|
|
|
$('#grauthStep2').click(function () {
|
|
$.get("grauthStep2", {},
|
|
function (data) { bootbox.dialog({
|
|
title: 'GoodReads Confirm',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary',
|
|
callback: function(){ document.location.reload(true); }
|
|
}
|
|
}
|
|
});
|
|
})
|
|
});
|
|
|
|
|
|
$('#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) {
|
|
bootbox.dialog({
|
|
title: 'Twitter Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testBoxcar').click(function () {
|
|
var token = $.trim($("#boxcar_token").val());
|
|
$.get("testBoxcar", {'token': token},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'Boxcar Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testPushbullet').click(function () {
|
|
var token = $.trim($("#pushbullet_token").val());
|
|
var device = $.trim($("#pushbullet_deviceid").val());
|
|
$.get("testPushbullet", {'token': token, 'device': device},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'Pushbullet Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testPushover').click(function () {
|
|
var token = $.trim($("#pushover_apitoken").val());
|
|
var keys = $.trim($("#pushover_keys").val());
|
|
var priority = $.trim($("#pushover_priority").val());
|
|
var device = $.trim($("#pushover_device").val());
|
|
$.get("testPushover", {'apitoken': token, 'keys': keys, 'priority': priority, 'device': device},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'Pushover Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testProwl').click(function () {
|
|
var apikey = $.trim($("#prowl_apikey").val());
|
|
var priority = $.trim($("#prowl_priority").val());
|
|
$.get("testProwl", {'apikey': apikey, 'priority': priority},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'Prowl Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testGrowl').click(function () {
|
|
var host = $.trim($("#growl_host").val());
|
|
var password = $.trim($("#growl_password").val());
|
|
$.get("testGrowl", {'host': host, 'password': password},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'Growl Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testTelegram').click(function () {
|
|
var token = $.trim($("#telegram_token").val());
|
|
var userid = $.trim($("#telegram_userid").val());
|
|
$.get("testTelegram", {'token': token, 'userid': userid},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'Telegram Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testNMA').click(function () {
|
|
var apikey = $.trim($("#nma_apikey").val());
|
|
var priority = $.trim($("#nma_priority").val());
|
|
$.get("testNMA", {'apikey': apikey, 'priority': priority},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'NMA Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testSlack').click(function () {
|
|
var token = $.trim($("#slack_token").val());
|
|
var url = $.trim($("#slack_url").val());
|
|
$.get("testSlack", {'token': token, 'url': url},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'Slack Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testCustom').click(function () {
|
|
var script = $.trim($("#custom_script").val());
|
|
$.get("testCustom", {'script': script},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'Custom Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testEmail').click(function () {
|
|
var tls = ($("#email_tls").prop('checked') == true) ? 'True' : 'False';
|
|
var ssl = ($("#email_ssl").prop('checked') == true) ? 'True' : 'False';
|
|
var sendfile = ($("#email_sendfile_ondownload").prop('checked') == true) ? 'True' : 'False';
|
|
var emailfrom = $.trim($("#email_from").val());
|
|
var emailto = $.trim($("#email_to").val());
|
|
var server = $.trim($("#email_smtp_server").val());
|
|
var user = $.trim($("#email_smtp_user").val());
|
|
var password = $.trim($("#email_smtp_password").val());
|
|
var port = $.trim($("#email_smtp_port").val());
|
|
$.get("testEmail", {'tls': tls, 'ssl': ssl, 'emailfrom': emailfrom, 'emailto': emailto, 'server': server, 'user': user, 'password': password, 'port': port, 'sendfile': sendfile},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'Email Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$("#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},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'Android Notifier',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testCalibredb').click(function () {
|
|
var prg = $.trim($("#imp_calibredb").val());
|
|
$.get("testCalibredb", { 'prg': prg},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'CalibreDB',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#testpreprocessor').click(function () {
|
|
var prg = $.trim($("#imp_preprocessor").val());
|
|
$.get("testPreProcessor", { 'prg': prg},
|
|
function (data) {
|
|
bootbox.dialog({
|
|
title: 'PreProcessor',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary'
|
|
}
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
$('#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);
|
|
});
|
|
|
|
|
|
$('#checkforupdates').on('click', function(e) {
|
|
eraseCookie("ignoreUpdate");
|
|
$("#myAlert").removeClass('hidden');
|
|
$.get('checkForUpdates', function(data) {
|
|
$("#myAlert").addClass('hidden');
|
|
bootbox.dialog({
|
|
title: 'Check Version',
|
|
message: '<pre>'+data+'</pre>',
|
|
buttons: {
|
|
primary: {
|
|
label: "Close",
|
|
className: 'btn-primary',
|
|
callback: function(){ location.reload(true); }
|
|
},
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
} // End Init
|
|
|
|
$(document).ready(function() {
|
|
initThisPage();
|
|
});
|
|
</script>
|
|
</%def>
|
|
<html><head></head><body></body></html>
|