133947df0a
* Querying when request has failed * Added a maximum consecutive query parameter to limit query when server has shutdown * By default I've put it to -1 (no maximum), it can be modified * Stopping with an error when too many failed query * Removing log message in torrents.js
57 lignes
Pas d'EOL
2 Kio
JavaScript
57 lignes
Pas d'EOL
2 Kio
JavaScript
var Torrents = {
|
|
CanRefresh: false,
|
|
timeout: undefined,
|
|
Seconds: 300, // Every five minutes, can be overridden directly in home.html (not here is better)
|
|
SearchURL: "/api/search",
|
|
Method: "prepend",
|
|
LastID: 0,
|
|
StopRefresh: function() {
|
|
clearTimeout(this.timeout)
|
|
this.timeout = undefined
|
|
this.CanRefresh = false
|
|
},
|
|
Refresh: function() {
|
|
if (this.CanRefresh) {
|
|
this.timeout = setTimeout(function() {
|
|
var searchArgs = (window.location.search != "") ? window.location.search.substr(1) : ""
|
|
searchArgs = (Torrents.LastID > 0) ? "?fromID="+Torrents.LastID+"&"+searchArgs : "?"+searchArgs
|
|
Query.Get(Torrents.SearchURL+searchArgs,
|
|
Templates.ApplyItemListRenderer({
|
|
templateName: "torrents.item", method: "prepend", element: document.getElementById("torrentListResults")
|
|
}), function(torrents) {
|
|
for (var i =0; i < torrents.length; i++) { if (Torrents.LastID < torrents[i].id) Torrents.LastID = torrents[i].id; }
|
|
parseAllDates();
|
|
Torrents.Refresh()
|
|
});
|
|
}, this.Seconds*1000);
|
|
}
|
|
},
|
|
StartRefresh: function() {
|
|
this.CanRefresh = true;
|
|
this.Refresh()
|
|
}
|
|
}
|
|
|
|
document.addEventListener("DOMContentLoaded", function() { // if Torrents.CanRefresh is enabled, refresh is automatically done (no need to start it anually)
|
|
if (Torrents.CanRefresh) {
|
|
Torrents.StartRefresh()
|
|
}
|
|
})
|
|
|
|
|
|
// Credits to mpen (StackOverflow)
|
|
function humanFileSize(bytes, si) {
|
|
var thresh = si ? 1000 : 1024;
|
|
if(Math.abs(bytes) < thresh) {
|
|
return bytes + ' B';
|
|
}
|
|
var units = si
|
|
? ['kB','MB','GB','TB','PB','EB','ZB','YB']
|
|
: ['KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB'];
|
|
var u = -1;
|
|
do {
|
|
bytes /= thresh;
|
|
++u;
|
|
} while(Math.abs(bytes) >= thresh && u < units.length - 1);
|
|
return bytes.toFixed(1)+' '+units[u];
|
|
} |