mirror of
https://github.com/evilhero/mylar
synced 2025-02-13 01:34:35 +00:00
torrents will now properly hide torrent information, IMP: Specified daemon port for deluge as an on-screen tip for more detail, IMP: Added 100,200,ALL as viewable watchlist views, FIX: When viewing pullist and annual integration enabled, if annual was present would incorrectly link to invalid annual series instead of the actual series itself, IMP: Added more detail error messages to metatagging errors and better handling of stranded files during cleanup, IMP: Improved some handling for weekly pull-list one-off's and refactored the nzb/oneoff post-processing into a seperate function for future callables, Moved all the main url locations for public torrent sites to the init module so that it can be cascaded down for use in other modules instead as a global, IMP: Added a 'deep_search_32p' variable in the config.ini for specific usage with 32p, where if there is more than one result will dig deeper into each result to try and figure out if there are series matches, as opposed to the default where it will only use ref32p table if available or just the first hit in a multiple series search results and ignore the remainder, FIX:Fixed some unknown characters appearing in the pullist due to unicode-related conversion problems, FIX: fixed some special cases of file parsing errors due to Volume label being named different than expected, FIX: Added a 3s pause between experimental searches to try and not hit their frequency limitation, IMP: Weekly Pullist One-off's will now show status of Snatched/Downloaded as required, FIX: Fixed some deluge parameter problems when using auto-snatch torrent script/option, IMP: Changed the downlocation in the auto-snatch option to an env variable instead of being passed to avoid unicode-related problems, FIX: Fixed some magnet-related issues for torrents when using a watchdir + TPSE, FIX: Added more verbose error message for rtorrent connection issues, FIX: Could not connect to rtorrent client if no username/password were provided, IMP: Set the db updater to run every 5 minutes on the watchlist, automatically refreshing the oldest updated series each time that is more than 5 hours old (force db update from the activity/job schedulers page will run the db updater against the entire watchlist in sequence), IMP: Attempt to handle long paths in windows (ie. > 256c) by prepending the unicode windows api character to the import a directory path (windows only), IMP: When manual metatagging a series, will update the series after all the metatagging has been completed as opposed to after each issue, IMP: Will now display available inkdrops on Config/Search Providers tab when using 32P (future will utilize/indicate inkdrop threshold when downloading)
200 lines
11 KiB
HTML
Executable file
200 lines
11 KiB
HTML
Executable file
<%inherit file="base.html"/>
|
|
<%!
|
|
import mylar
|
|
from mylar import db
|
|
from mylar.helpers import checked
|
|
%>
|
|
|
|
<%def name="headerIncludes()">
|
|
<div id="subhead_container">
|
|
<div id="subhead_menu">
|
|
<a href="#" id="menu_link_refresh" onclick="doAjaxCall('pullist?week=${weekinfo['weeknumber']}&year=${weekinfo['year']}',$(this),'table')" data-success="Refresh submitted.">Refresh Pull-list</a>
|
|
<a id="menu_link_retry" href="pullrecreate">Recreate Pull-list</a>
|
|
<!--
|
|
<a href="#" id="menu_link_retry" onclick="doAjaxCall('create_readlist?weeknumber=${weekinfo['weeknumber']}&year=${weekinfo['year']}',$(this),'table')" data-success="Submitted request for reading-list generation for this week">Generate Reading-List</a>
|
|
-->
|
|
<a id="menu_link_scan" class="button">Download</a>
|
|
<a href="#" id="menu_link_refresh" onclick="doAjaxCall('pullSearch?week=${weekinfo['weeknumber']}&year=${weekinfo['year']}',$(this),'table')" data-success="Submitted background search request for new pull issues">Manually check for issues</a>
|
|
</div>
|
|
</div>
|
|
<a href="home" class="back">« Back to overview</a>
|
|
</%def>
|
|
|
|
<%def name="body()">
|
|
<div>
|
|
</br></br>
|
|
<table width="100%" align="center">
|
|
<tr>
|
|
<td style="vertical-align: middle; text-align: right"><a href="pullist?week=${weekinfo['prev_weeknumber']}&year=${weekinfo['prev_year']}" title="Previous Week (${weekinfo['prev_weeknumber']})"><img src="interfaces/default/images/prev.gif" width="16" height="18" Alt="Previous"/></td>
|
|
<td style="vertical-align: middle; text-align: center">
|
|
%if wantedcount == 0:
|
|
<h1><center>Weekly Pull list for week ${weekinfo['weeknumber']} :</br>${weekinfo['startweek']} - ${weekinfo['endweek']}</center></h1>
|
|
%else:
|
|
<h1><center>Weekly Pull list for week ${weekinfo['weeknumber']} :</br>${weekinfo['startweek']} - ${weekinfo['endweek']} (${wantedcount})</center></h1>
|
|
%endif
|
|
</td><td style="vertical-align: middle; text-align: left">
|
|
<a href="pullist?week=${weekinfo['next_weeknumber']}&year=${weekinfo['next_year']}" title="Next Week (${weekinfo['next_weeknumber']})"><img src="interfaces/default/images/next.gif" width="16" height="18" Alt="Next"/></a></td>
|
|
<tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div>
|
|
<form action="MassWeeklyDownload" method="GET" id="MassDownload">
|
|
<fieldset>
|
|
<div class="row checkbox left clearfix">
|
|
</br>
|
|
<input type="checkbox" name="weekfolder" id="weekfolder" value="1" ${checked(mylar.WEEKFOLDER)} /><label>Store in Weekly Directory (${weekfold})</label>
|
|
</div>
|
|
|
|
<input type="hidden" name="year" value="${weekinfo['year']}">
|
|
<input type="hidden" name="weeknumber" value="${weekinfo['weeknumber']}">
|
|
<input type="hidden" name="midweek" value="${weekinfo['midweek']}">
|
|
<input type="submit" style="display:none" />
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="table_wrapper">
|
|
|
|
<table class="display" id="pull_table">
|
|
<thead>
|
|
<tr>
|
|
<th id="publisher">Publisher</th>
|
|
<th id="comicname">Comic</th>
|
|
<th id="comicnumber">Number</th>
|
|
<th id="status">Status</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
%for weekly in weeklyresults:
|
|
<%
|
|
if weekly['STATUS'] == 'Skipped':
|
|
grade = 'Z'
|
|
elif weekly['STATUS'] == 'Wanted':
|
|
grade = 'X'
|
|
elif weekly['STATUS'] == 'Snatched':
|
|
grade = 'C'
|
|
elif weekly['STATUS'] == 'Downloaded':
|
|
grade = 'D'
|
|
else:
|
|
grade = 'A'
|
|
if weekly['AUTOWANT'] == True:
|
|
grade = 'H'
|
|
|
|
if weekly['HAVEIT'] == 'OneOff':
|
|
grade = 'H'
|
|
|
|
#if the comicid is present, but issue isn't marked as wanted.
|
|
if weekly['HAVEIT'] == 'Yes' and weekly['STATUS'] == 'Skipped':
|
|
grade = 'E'
|
|
|
|
%>
|
|
<tr class="grade${grade}">
|
|
%if pullfilter is True:
|
|
<td class="publisher">${weekly['PUBLISHER']}</td>
|
|
<td class="comicname">
|
|
%if any([weekly['HAVEIT'] == 'No', weekly['HAVEIT'] == 'OneOff']):
|
|
%if any([weekly['COMICID'] != '', weekly['COMICID'] is not None]):
|
|
<a href="${weekly['LINK']}" target="_blank">${weekly['COMIC']}</a>
|
|
%else:
|
|
${weekly['COMIC']}
|
|
%endif
|
|
%else:
|
|
<a href="comicDetails?ComicID=${weekly['HAVEIT']}">${weekly['COMIC']}</a>
|
|
%endif
|
|
</td>
|
|
<td class="comicnumber">${weekly['ISSUE']}</td>
|
|
%if weekly['AUTOWANT']:
|
|
<td class="status">Auto-Want
|
|
%else:
|
|
<td class="status">${weekly['STATUS']}
|
|
%if weekly['HAVEIT'] == 'OneOff':
|
|
%if weekly['STATUS'] == 'Snatched' or weekly['STATUS'] == 'Downloaded':
|
|
<a href="#" onclick="doAjaxCall('queueit?ComicName=${weekly['COMIC'] | u}&ComicID=${weekly['COMICID']}&IssueID=${weekly['ISSUEID']}&ComicIssue=${weekly['ISSUE']}&mode=pullwant&Publisher=${weekly['PUBLISHER']}&pullinfo=${weekinfo['midweek']}&pullweek=${weekinfo['weeknumber']}&pullyear=${weekinfo['year']}',$(this),'table')" data-success="Successfully submitted search request for ${weekly['COMIC']} #${weekly['ISSUE']}" title="Snatch issue again as a One-Off"><span class="ui-icon ui-icon-plus"></span>Retry</a>
|
|
%endif
|
|
%elif weekly['STATUS'] == 'Skipped':
|
|
%if weekly['COMICID'] != '' and weekly['COMICID'] is not None:
|
|
<a href="#" title="auto-add by ID available for this series" onclick="doAjaxCall('addbyid?comicid=${weekly['COMICID']}&calledby=True',$(this),'table')" data-success="${weekly['COMIC']} is now being added to your wachlist."><span class="ui-icon ui-icon-plus"></span>Add</a>
|
|
%else:
|
|
%if weekly['ISSUE'] == '1' or weekly['ISSUE'] == '0':
|
|
<a href="#" title="Watch for this series and auto-add when available" onclick="doAjaxCall('add2futurewatchlist?ComicName=${weekly['COMIC'] |u}&Issue=${weekly['ISSUE']}&Publisher=${weekly['PUBLISHER']}&ShipDate=${weekinfo['midweek']}&weeknumber=${weekinfo['weeknumber']}&year=${weekinfo['year']}',$(this),'table')" data-success="${weekly['COMIC']} is now on auto-watch/add."><span class="ui-icon ui-icon-plus"></span>Watch</a>
|
|
%endif
|
|
<a href="searchit?name=${weekly['COMIC'] | u}&issue=${weekly['ISSUE']}&mode=pullseries" title="Search for this series to add to your watchlist"><span class="ui-icon ui-icon-plus"></span>Search</a>
|
|
%endif
|
|
<a href="#" onclick="doAjaxCall('queueit?ComicName=${weekly['COMIC'] | u}&ComicID=${weekly['COMICID']}&IssueID=${weekly['ISSUEID']}&ComicIssue=${weekly['ISSUE']}&mode=pullwant&Publisher=${weekly['PUBLISHER']}&pullinfo=${weekinfo['midweek']}&pullweek=${weekinfo['weeknumber']}&pullyear=${weekinfo['year']}',$(this),'table')" data-success="Successfully submitted search request for ${weekly['COMIC']} #${weekly['ISSUE']}" title="Just grab it"><span class="ui-icon ui-icon-plus"></span>One-Off</a>
|
|
%endif
|
|
%endif
|
|
</td>
|
|
%endif
|
|
</tr>
|
|
%endfor
|
|
</tbody>
|
|
</table>
|
|
</br><small><center>last updated: ${weekinfo['last_update']}</center></small>
|
|
</div>
|
|
</%def>
|
|
|
|
<%def name="headIncludes()">
|
|
<link rel="stylesheet" href="interfaces/default/css/data_table.css">
|
|
</%def>
|
|
|
|
<%def name="javascriptIncludes()">
|
|
<script src="js/libs/jquery.dataTables.min.js"></script>
|
|
<script type="text/javascript">
|
|
function addAction() {
|
|
$('#weekfolder').append('<input type="hidden" name="filename" value=True />');
|
|
};
|
|
|
|
$("#menu_link_scan").click(function() {
|
|
addAction();
|
|
$('#MassDownload').submit();
|
|
return true;
|
|
});
|
|
</script>
|
|
|
|
<script>
|
|
|
|
function initThisPage() {
|
|
$("#weekfolder").click(function(){
|
|
if ($("#weekfolder").is(":checked"))
|
|
{
|
|
$("#MassDownload").submit();
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
$("#MassDownload").submit();
|
|
return true;
|
|
}
|
|
});
|
|
initActions();
|
|
$('#pull_table').dataTable (
|
|
{
|
|
"bDestroy": true,
|
|
//"aoColumnDefs": [
|
|
// { 'bSortable': false, 'aTargets': [ 2,3 ] }
|
|
//],
|
|
"aLengthMenu": [[10, 15, 25, 50, -1], [10, 15, 25, 50, 'All' ]],
|
|
"oLanguage": {
|
|
"sLengthMenu":"Show _MENU_ issues per page",
|
|
"sEmptyTable": "No issue information available",
|
|
"sInfo":"Showing _TOTAL_ issues",
|
|
"sInfoEmpty":"Showing 0 to 0 of 0 issues",
|
|
"sInfoFiltered":"(filtered from _MAX_ total issues)",
|
|
"sSearch": ""},
|
|
"bStateSave": true,
|
|
"iDisplayLength": 25,
|
|
"sPaginationType": "full_numbers",
|
|
"aaSorting": [[0, 'asc']]
|
|
});
|
|
resetFilters("weekly");
|
|
setTimeout(function(){
|
|
initFancybox();
|
|
},1500)
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
initThisPage();
|
|
});
|
|
</script>
|
|
</%def>
|