Add Support for xs Parameter in Magnet Links

This commit is contained in:
Leo Herzog
2020-06-23 22:04:35 -04:00
parent 1cec95b7b0
commit 7affaa6944
3 changed files with 35 additions and 17 deletions

View File

@@ -11947,19 +11947,28 @@ function parse(toLoad) {
console.info("Attempting parse"); console.info("Attempting parse");
parsed = parser(toLoad); parsed = parser(toLoad);
display(); display();
if (parsed.xs) {
console.log("Magnet includes xs, attempting remote parse");
parseRemote(parsed.xs);
}
} }
catch(e) { catch(e) {
console.warn(e); console.warn(e);
console.info("Attempting remote parse"); console.info("Attempting remote parse");
parseRemote(toLoad);
}
}
function parseRemote(toLoad) {
parser.remote(toLoad, function(err, result) { parser.remote(toLoad, function(err, result) {
if (err) { // TODO: Display error to user if (err) { // TODO: Display error to user
console.error(err); console.error(err);
display();
return; return;
} }
parsed = result; parsed = result;
display(); display();
}); });
}
} }
function display() { function display() {

View File

@@ -63,7 +63,7 @@
<div id="copyMagnet"> <div id="copyMagnet">
<span class="fa-stack fa-2x"> <span class="fa-stack fa-2x">
<span class="fas fa-circle fa-stack-2x"></span> <span class="fas fa-circle fa-stack-2x"></span>
<span class="fad fa-magnet fa-stack-1x fa-inverse" data-fa-transform="down-1"></span> <span class="fas fa-magnet fa-stack-1x fa-inverse" data-fa-transform="down-1"></span>
</span> </span>
</div> </div>
<div id="downloadTorrent"> <div id="downloadTorrent">

View File

@@ -61,19 +61,28 @@ function parse(toLoad) {
console.info("Attempting parse"); console.info("Attempting parse");
parsed = parser(toLoad); parsed = parser(toLoad);
display(); display();
if (parsed.xs) {
console.log("Magnet includes xs, attempting remote parse");
parseRemote(parsed.xs);
}
} }
catch(e) { catch(e) {
console.warn(e); console.warn(e);
console.info("Attempting remote parse"); console.info("Attempting remote parse");
parseRemote(toLoad);
}
}
function parseRemote(toLoad) {
parser.remote(toLoad, function(err, result) { parser.remote(toLoad, function(err, result) {
if (err) { // TODO: Display error to user if (err) { // TODO: Display error to user
console.error(err); console.error(err);
display();
return; return;
} }
parsed = result; parsed = result;
display(); display();
}); });
}
} }
function display() { function display() {