Add content ratings to Yify listings and replace torrent urls with magnet links.
目前為
// ==UserScript==
// @name Fix Yify
// @namespace yts.to
// @description Add content ratings to Yify listings and replace torrent urls with magnet links.
//
// @include https://yts.re/browse-movie*
// @include http://yts.re/browse-movie*
// @include https://yts.to/browse-movie*
// @include http://yts.to/browse-movie*
// @require http://code.jquery.com/jquery-1.11.0.min.js
// @version 0.1.1
// @grant GM_xmlhttpRequest
// ==/UserScript==
function addMpaaRating(dom, div) {
$(".icon-eye", $(dom)).each(function(i) {
var rating = $(this).parent().text().trim();
// console.log("mpaa: "+rating);
var star = div.find('.icon-star');
star.replaceWith('<h4 class="rating">'+rating+'</h4>');
});
}
function is1080magnet(url) {
var index = url.search("1080p");
return (index > -1);
}
function replaceOriginalTorrentLinks(dom, div) {
$(".magnet", $(dom)).each(function(i) {
var url = $(this).attr('href');
// console.log("mag: "+url);
var orig1080tor = null;
var orig720tor = null;
var links = div.find('.browse-movie-tags a');
$(links).each(function(i) {
// console.log("test: "+$(this).text());
if ($(this).text().indexOf("1080p") >= 0) {
// 1080
orig1080tor = $(this);
} else {
// 720
orig720tor = $(this);
}
});
if (is1080magnet(url)) {
// replace 1080 link
orig1080tor.replaceWith('<a href="'+url+'">1080p</a>');
// console.log("replaced 1080");
} else {
// replace 720 link
orig720tor.replaceWith('<a href="'+url+'">720p</a>');
// console.log("replaced 720");
}
});
}
function imposeMyWill(url, div) {
var data = null;
// console.log("DIV: "+ div);
GM_xmlhttpRequest({
method: "GET",
url: url,
onload: function(response) {
// We've received a response
data = $.parseHTML(response.responseText);
// console.log("DATA: "+ data);
replaceOriginalTorrentLinks(data, div);
addMpaaRating(data, div);
return;
},
onerror: function(response) {
data = JSON.parse(response.responseText);
console.log('ERROR: '+data);
// $('#yts-options').html('<p>ERROR! Failed to connect to the YTS website.</p>');
}
});
}
$(document).ready(function() {
var divs = $(".col-lg-4");
var link = null;
var url = null;
$(divs).each(function(i) {
link = $(this).find('.browse-movie-link');
url = link.attr('href');
// console.log("URL: "+url);
imposeMyWill(url, $(this));
});
});