first
This commit is contained in:
@ -1,3 +1,6 @@
|
||||
<script type="text/javascript">
|
||||
var JQapp_BASE_PATH = '/__static/js/app';
|
||||
</script>
|
||||
<link rel="stylesheet" href="/__static-modules/jquery-ui/dist/themes/smoothness/jquery-ui.css">
|
||||
|
||||
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
|
||||
@ -6,6 +9,10 @@
|
||||
<script src="/__static-modules/moment/min/moment-with-locales.min.js"></script>
|
||||
<script src="/__static-modules/jquery-ui/dist/jquery-ui.min.js"></script>
|
||||
<script src="/__static/js/app.js"></script>
|
||||
<script>
|
||||
console.log("here", app)
|
||||
app.include('/torrent.js');
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
.ui-dialog .ui-dialog-title{
|
||||
@ -353,128 +360,4 @@
|
||||
}
|
||||
}
|
||||
|
||||
app.torrent = (function(app){
|
||||
let isDown = false;
|
||||
|
||||
$( document ).on( "ajaxSend", function(event, ajax, res, ...args) {
|
||||
console.log('right?', res.url, res.url.startsWith('/__api/torrent'), app.torrent.isDown)
|
||||
if(res.url.startsWith('/__api/torrent') && isDown){
|
||||
ajax.abort()
|
||||
}
|
||||
// $( ".log" ).text( "Triggered ajaxStart handler." );
|
||||
// throw new Error('go')
|
||||
} );
|
||||
|
||||
statusMap = [
|
||||
'Inactive', // 0
|
||||
'CHECK_WAIT', // 1
|
||||
'Verifying', // 2
|
||||
'DOWNLOAD_WAIT', // 3
|
||||
'Downloading', // 4
|
||||
'SEED_WAIT', // 5
|
||||
'Seeding', // 6
|
||||
'ISOLATED', // 7
|
||||
'Unknown', // 8
|
||||
];
|
||||
|
||||
|
||||
function list(callback, username) {
|
||||
app.api.get('torrent', function(error, data){
|
||||
if(error) return;
|
||||
callback(null, data)
|
||||
});
|
||||
}
|
||||
|
||||
function get(callback, id, forceUpdate){
|
||||
app.api.get(`torrent/${id}?${forceUpdate ? 'latest': '' }`, function(error, data){
|
||||
if(error) return;
|
||||
callback(null, data)
|
||||
});
|
||||
}
|
||||
|
||||
function start(id, callback){
|
||||
app.api.post(`torrent/${id}/start`, function(error, data){
|
||||
if(error) return;
|
||||
callback(null, data)
|
||||
});
|
||||
}
|
||||
|
||||
function stop(id, callback){
|
||||
app.api.post(`torrent/${id}/stop`, function(error, data){
|
||||
if(error) return;
|
||||
callback(null, data)
|
||||
});
|
||||
}
|
||||
|
||||
function destroy(id, callback){
|
||||
app.api.delete(`torrent/${id}`, function(error, data){
|
||||
if(error) return;
|
||||
callback(null, data)
|
||||
});
|
||||
}
|
||||
|
||||
function parseServerStatus(data){
|
||||
return {
|
||||
...data,
|
||||
"downloadSpeed": humanFileSize(data.downloadSpeed)+'/s',
|
||||
"uploadSpeed": humanFileSize(data.uploadSpeed)+'/s',
|
||||
/* "activeTorrentCount": 11,
|
||||
"cumulative-stats": {
|
||||
"downloadedBytes": 2925927098021,
|
||||
"filesAdded": 80609,
|
||||
"secondsActive": 12136579,
|
||||
"sessionCount": 21,
|
||||
"uploadedBytes": 107123787853
|
||||
},
|
||||
"current-stats": {
|
||||
"downloadedBytes": 48440590262,
|
||||
"filesAdded": 544,
|
||||
"secondsActive": 111907,
|
||||
"sessionCount": 1,
|
||||
"uploadedBytes": 461874022
|
||||
},
|
||||
"pausedTorrentCount": 462,
|
||||
"torrentCount": 473,
|
||||
"__noSocket": true*/
|
||||
}
|
||||
}
|
||||
|
||||
function parseTorrnetItem(torrent){
|
||||
let percentDone = (torrent.percentDone || 0)*100;
|
||||
return {
|
||||
...torrent,
|
||||
"eta": torrent.eta > 0 ? moment().seconds(torrent.eta).fromNow() : 'Unknown',
|
||||
"rateDownload": `${humanFileSize(torrent.rateDownload)}/s`,
|
||||
"sizeWhenDone": humanFileSize(torrent.sizeWhenDone),
|
||||
"percentDone": percentDone,
|
||||
"statusText": statusMap[torrent.status],
|
||||
"isActive": [3, 4, 5, 6].includes(torrent.status), // DOWNLOAD_WAIT ,DOWNLOAD, SEED_WAIT, SEED
|
||||
"isFinished": torrent.isFinished || percentDone === 100,
|
||||
"createdAtString": moment(torrent.createdAt).fromNow(),
|
||||
|
||||
// "isFinished": false,
|
||||
// "isStalled": false,
|
||||
// "name": "reacher.s02e06.1080p.web.h264-successfulcrab[EZTVx.to].mkv",
|
||||
// "hashString": "4794a0915cada6c491eb5c910e1f4a0da727cac8",
|
||||
// "status": 4,
|
||||
// "id": 1,
|
||||
|
||||
// "peersConnected": 50,
|
||||
// "added_by": "wmantly",
|
||||
// "errorString": "",
|
||||
|
||||
// "downloadDir": "/media/torrents",
|
||||
// "files": [],
|
||||
// "peers": [],
|
||||
// "magnetLink": "magnet:?xt=urn:btih:4794A0915CADA6C491EB5C910E1F4A0DA727CAC8&dn=Reacher+S02E06+1080p+WEB+H264-SuccessfulCrab&tr=http%3A%2F%2Fp4p.arenabg.com%3A1337%2Fannounce&tr=udp%3A%2F%2F47.ip-51-68-199.eu%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2780%2Fannounce&tr=udp%3A%2F%2F9.rarbg.to%3A2710%2Fannounce&tr=udp%3A%2F%2F9.rarbg.to%3A2730%2Fannounce&tr=udp%3A%2F%2F9.rarbg.to%3A2920%2Fannounce&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce&tr=udp%3A%2F%2Fopentracker.i2p.rocks%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.cyberia.is%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.dler.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.pirateparty.gr%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.tiny-vps.com%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce",
|
||||
// "isPrivate": false,
|
||||
// "createdAt": "2024-01-05T21:18:30.607Z",
|
||||
// "updatedAt": "2024-01-05T21:32:54.493Z"
|
||||
// "torrent_id": "454",
|
||||
}
|
||||
}
|
||||
|
||||
return {list, get, start, stop, destroy, parseTorrnetItem, parseServerStatus, isDown};
|
||||
})(app);
|
||||
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user