mylar/data/interfaces/default/manage.html

226 lines
14 KiB
HTML
Executable File

<%inherit file="base.html" />
<%!
import mylar
from mylar.helpers import checked
%>
<%def name="headerIncludes()">
<div id="subhead_container">
<div id="subhead_menu">
<a id="menu_link_edit" href="manageComics">Manage Comics</a>
<a id="menu_link_edit" href="manageIssues?status=Wanted">Manage Issues</a>
<a id="menu_link_edit" href="manageFailed">Manage Failed Links</a>
</div>
</div>
</%def>
<%def name="body()">
<div id="paddingheader">
<h1 class="clearfix">Manage</h1>
</div>
<div id="tabs">
<ul>
<li><a href="#tabs-1">Scan Comic Library</a></li>
<li><a href="#tabs-2">Manual Post-Processing</a></li>
<li><a href="#tabs-3">Advanced Options</a></li>
</ul>
<div id="tabs-1" class="configtable">
<div style="float:right;position:absolute;right:0;top;0;margin-right:50px;">
<legend>Current Import Status</legend>
%if mylar.IMPORT_STATUS:
%if mylar.IMPORT_STATUS == 'Import completed.':
<input type="text" name="importstatus" id="importstatus" style="text-align:center; font-size:11px;" size="60" DISABLED /></br>
<script>
turnitoff();
</script>
%else:
<input type="text" name="importstatus" id="importstatus" style="text-align:center; font-size:11px;" size="60" DISABLED /></br>
<script>
turniton();
</script>
%endif
%else:
<script>
turnitoff();
</script>
<input type="text" name="importstatus" id="importstatus" style="text-align:center; font-size:11px;" size="60" value="Import is currently not running" DISABLED /></br>
%endif
<label>Number of valid files to process:&nbsp</label>${mylar.IMPORT_TOTALFILES}
%if int(mylar.IMPORT_FILES) != int(mylar.IMPORT_TOTALFILES):
/ ${mylar.IMPORT_FILES}
%endif
</br>
<label>Files with ComicID's present:&nbsp</label>${mylar.IMPORT_CID_COUNT}</br>
<label>Files that were parsed:&nbsp</label>${mylar.IMPORT_PARSED_COUNT}</br>
<label>Files that couldn't be parsed:&nbsp</label>${mylar.IMPORT_FAILURE_COUNT}</br>
%if mylar.IMPORTLOCK:
</br></br></br></br>
<div class="row checkbox">
<input type="checkbox" style="vertical-align: middle; margin: 3px; margin-top: -1px;" name="forcescan" id="forcescan" value="1"><label>Existing Import Running. Force this import?</label>
</div>
%endif
</div>
<form action="comicScan" method="GET" id="comicScan">
<legend>Scan Comic Library</legend>
<p><strong>Where are the comics you want scanned in located?</strong></p>
<p>You can put in any directory, and it will scan for comics</br>
in that folder (including all subdirectories). <br/>
<small>For example: '/Users/name/Comics'</small></p>
<p>
It may take a while depending on how many files you have.</br>
You can navigate away from the page as soon as you click 'Save changes'
</p>
<br/>
<div class="row">
<label for="">Path to directory</label>
%if mylar.COMIC_DIR:
<input type="text" value="${mylar.COMIC_DIR}" name="path" size="70" />
%else:
<input type="text" value="Enter a Comic Directory to scan" onfocus="if
(this.value==this.defaultValue) this.value='';" name="path" size="70" />
%endif
</div>
<div class="row checkbox">
<input type="checkbox" name="autoadd" id="autoadd" value="1" ${checked(mylar.ADD_COMICS)}><label>Auto-add new series</label>
</div>
<div class="row checkbox">
<input type="checkbox" style="vertical-align: middle; margin: 3px; margin-top: -1px;" name="imp_metadata" id="imp_metadata" value="1" ${checked(mylar.IMP_METADATA)}><label>Use existing Metadata</label>
<small>Use existing Metadata to better locate series for import</small>
</div>
<div class="row checkbox">
<input type="checkbox" style="vertical-align: middle; margin: 3px; margin-top: -1px;" name="imp_move" onclick="initConfigCheckbox($this));" id="imp_move" value="1" ${checked(mylar.IMP_MOVE)}><label>Move files into corresponding Series directory</label>
<small>Leaving this unchecked will not move anything, but will mark the issues as Archived</small>
</div>
<div class="config">
<input type="checkbox" style="vertical-align: middle; margin: 3px; margin-top: -1px;" name="imp_rename" id="imp_rename" value="1" ${checked(mylar.IMP_RENAME)}><label>Rename Files </label>
<small>Rename files to configuration settings</small>
</div>
<br/>
<input type="button" value="Save Changes and Scan" onclick="addScanAction();doAjaxCall('comicScan',$(this),'tabs',true);return true;" data-success="Import Scan now submitted." data-error="Unable to start the scan. Check the logs.">
<input type="button" value="Save Changes without Scanning Library" onclick="doAjaxCall('comicScan',$(this),'tabs',true);return false;" data-success="Changes Saved Successfully" data-error="Unable to save settings. Check the logs.">
%if mylar.IMPORTBUTTON:
<input type="button" value="Import Results Management" style="float: right;" onclick="location.href='importResults';" />
%endif
</form>
</div>
<div id="tabs-2" class="configtable">
<tr>
<td>
<form action="post_process" method="GET" id="post_process">
<fieldset>
<legend>Manual Run</legend>
<p><strong>Manual Post-Processing</strong></p>
<p>You can put in any directory, and it will scan for comic files in that folder
(including all subdirectories) that exist on your watchlist.
<br/><small>For example: '/Users/name/Comics'</small></p>
<p>
It may take a while depending on how many files you have. You can navigate away from this
as soon as you click 'Go'.
</p>
<br/>
<p><strong>Only series' that exist on your watchlist will be post-processed with your current
post-processing options.<br/> The remainder will not be moved from the given directory</strong></p>
<div class="row">
<label for="">Path to Manually Run</label>
%if mylar.CHECK_FOLDER:
<input type="text" value="${mylar.CHECK_FOLDER}" name="nzb_folder" size="70" />
%else:
<input type="text" value="Enter the full path to post-process" onfocus="if
(this.value==this.defaultValue) this.value='';" name="nzb_folder" size="70" />
%endif
<input type="hidden" name="nzb_name" value='Manual Run' />
</div>
<input type="button" value="Go Manual Run!" onclick="doAjaxCall('post_process',$(this),'tabs',true);return false;" data-success="Manual post-processing now running." data-error="Manual post-processing unable to run at this time.">
</fieldset>
</form>
</td>
</tr>
</div>
<div id="tabs-3">
<table summary="Advanced Options" class="configtable">
<tr>
<td>
<fieldset>
<div class="links">
<legend>Force Options</legend>
<a href="#" onclick="doAjaxCall('forceSearch',$(this))" data-success="Checking for wanted issues successful" data-error="Error checking wanted issues"><span class="ui-icon ui-icon-search"></span>Force Check for Wanted Issues</a>
<a href="#" onclick="doAjaxCall('forceUpdate',$(this))" data-success="Update active comics successful" data-error="Error forcing update Comics"><span class="ui-icon ui-icon-heart"></span>Force Update Active Comics</a>
<a href="#" onclick="doAjaxCall('checkGithub',$(this))" data-success="Checking for update successful" data-error="Error checking for update"><span class="ui-icon ui-icon-refresh"></span>Check for Mylar Updates</a>
</div>
</fieldset>
</td>
<td>
<fieldset>
<legend>Export</legend>
<div class="links">
<a href="#" onclick="doAjaxCall('wanted_Export?mode=Wanted',$(this))" data-sucess="Exported to Wanted list." data-error="Failed to export. Check logs"><span class="ui-icon ui-icon-refresh"></span>Export Wanted to CSV</a>
<a href="#" onclick="doAjaxCall('wanted_Export?mode=Downloaded',$(this))" data-sucess="Exported to Downloaded list." data-error="Failed to export. Check logs"><span class="ui-icon ui-icon-refresh"></span>Export Downloaded to CSV</a>
</div>
</fieldset>
</br>
<fieldset>
<legend>Additional Options</legend>
<div classs="links">
<a href="readlist">Reading List Management</a><br/>
<a href="storyarc_main">Story Arc Management</a><br/>
<a href="importResults">Import Results Management</a>
</div>
</fieldset>
</td>
</tr>
</table>
</div>
</div>
</%def>
<%def name="javascriptIncludes()">
<script>
var CheckEnabled = true;
function addScanAction() {
$('#autoadd').append('<input type="hidden" name="scan" value=1 />');
CheckEnabled = true;
statuscheck();
};
function statuscheck() {
if (CheckEnabled == true){
var ImportTimer = setInterval(function(){
$.get('Check_ImportStatus',
function(data){
if (data.error != undefined) {
alert(data.error);
return;
}
$('#importstatus').val(data);
if (data == 'Import completed.') {
CheckEnabled = false;
clearInterval(ImportTimer);
return;
}
});
}, 5000);
};
};
function turnitoff() {
CheckEnabled = false;
clearInterval(ImportTimer);
};
function turniton() {
if (CheckEnabled == false) {
CheckEnabled = true;
statuscheck();
}
};
function initThisPage() {
jQuery( "#tabs" ).tabs();
initActions();
initConfigCheckbox("#imp_move");
};
$(document).ready(function() {
initThisPage();
});
</script>
</%def>