mirror of
https://github.com/leoherzog/TorrentParts.git
synced 2026-01-24 04:08:04 -08:00
Add Files List
This commit is contained in:
52
parse.js
52
parse.js
@@ -1,12 +1,15 @@
|
||||
const parser = require('parse-torrent');
|
||||
const Buffer = require('Buffer');
|
||||
const size = require('filesize');
|
||||
const bytes = require('bytes');
|
||||
const mime = require('mime-types');
|
||||
|
||||
var name = document.getElementById('name');
|
||||
var creationDate = document.getElementById('creationDate');
|
||||
var createdBy = document.getElementById('createdBy');
|
||||
var comment = document.getElementById('comment');
|
||||
var hash = document.getElementById('hash');
|
||||
var files = document.getElementById('filesBody');
|
||||
var size = document.getElementById('torrentSize');
|
||||
var parsed;
|
||||
|
||||
document.addEventListener('DOMContentLoaded', start);
|
||||
@@ -42,7 +45,9 @@ function handleRemote(err, result) {
|
||||
}
|
||||
|
||||
function display() {
|
||||
|
||||
console.log(parsed);
|
||||
|
||||
name.value = parsed.name || "";
|
||||
if (parsed.created) {
|
||||
creationDate.disabled = false;
|
||||
@@ -54,4 +59,49 @@ function display() {
|
||||
createdBy.value = parsed.createdBy || "";
|
||||
comment.value = parsed.comment || "";
|
||||
hash.value = parsed.infoHash;
|
||||
|
||||
size.innerText = bytes.format(parsed.length, {"decimalPlaces": 1, "unitSeparator": " "});
|
||||
files.innerHTML = "";
|
||||
for (let file of parsed.files) {
|
||||
let row = document.createElement('tr');
|
||||
let iconcell = document.createElement('td');
|
||||
iconcell.innerHTML = '<span class="far fa-' + getFontAwesomeIconForMimetype(mime.lookup(file.name)) + '"></span>';
|
||||
row.appendChild(iconcell);
|
||||
let namecell = document.createElement('td');
|
||||
namecell.innerHTML = file.path;
|
||||
row.appendChild(namecell);
|
||||
let sizecell = document.createElement('td');
|
||||
sizecell.innerHTML = bytes.format(file.length, {"unitSeparator": " "});
|
||||
row.appendChild(sizecell);
|
||||
files.appendChild(row);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function getFontAwesomeIconForMimetype(mimetype) {
|
||||
if (!mimetype) return 'file';
|
||||
switch (true) {
|
||||
case mimetype.includes("7z-"):
|
||||
case mimetype.includes("iso9660"):
|
||||
case mimetype.includes("zip"):
|
||||
return 'file-archive';
|
||||
case mimetype.includes("audio"):
|
||||
return 'file-audio';
|
||||
case mimetype.includes("csv"):
|
||||
return 'file-csv';
|
||||
case mimetype.includes("font"):
|
||||
return 'file-contract';
|
||||
case mimetype.includes("image"):
|
||||
return 'file-image';
|
||||
case mimetype.includes("pdf"):
|
||||
return 'file-pdf';
|
||||
case mimetype.includes("text"):
|
||||
case mimetype.includes("subrip"):
|
||||
case mimetype.includes("vtt"):
|
||||
return 'file-alt';
|
||||
case mimetype.includes("video"):
|
||||
return 'file-video';
|
||||
default:
|
||||
return 'file';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user