All pastes #1545650 Raw Edit

dom1n1k

public javascript v1 · immutable
#1545650 ·published 2009-08-28 10:27 UTC
rendered paste body
// ==UserScript==// @name           The Pirate Bay + IMDB Ratings// @description Uses IMDB movie ratings to resize the Pirate Bay's movie torrent links// @namespace  http://www.keyvan.net/2008/10/greasemonkey-jquery// @include        http://thepiratebay.org/top/201// @author         Keyvan Minoukadeh// @require        http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js// @require        http://tablesorter.com/jquery.tablesorter.js// ==/UserScript==// the three functions below have been borrowed from Julien Couvreur's // Inline IMDB Ratings: http://userscripts.org/scripts/review/11360function findImdbID(url) {  var m = url.match(/^http:\/\/(.*\.)?imdb.com\/title\/(tt\d*)/i);  if (m) return m[2];  return null;}function getMovieInfo(imdbUrl, index, callback) {  var url = imdbUrl;  GM_xmlhttpRequest({    method: "GET",    url: url,    onload: function(details) {      callback(extractMovieInfo(details.responseText, index, url));    }  });}function extractMovieInfo(content, index, url) {  // <b>User Rating:</b>   // <b>2.1/10</b>   var match = content.match(/<b>(\d.\d)\/10<\/b>/);  var title = content.match(/<title>([^<]+)<\/title>/);  return { rating: match[1], index: index, url: url, title: title[1] };}$(document).ready(function() {		var title, re, found, url1, url2, res;		$("#tableHead tr.header th").eq(0).html('<a id="sortButton" style="cursor: pointer;" title="sort by rating">IMDB</a>');		$("#sortButton").click(function() {			$("#searchResult").tablesorter({sortList: [[0,0],[5,0]]});		});		$("td.vertTh").text('...');		$(".detLink").each(function(i) {			$(this).parent().parent().attr('id', 'row'+i);			$(this).css('white-space', 'nowrap');			title = $(this).text();			// get rid of irrelevant text			re = /([^\(\[]+)/i;			found = title.match(re);			title = found[0].replace(/\./g, "+");			title = title.replace(/(PROPER|DVDSCR|unrated|XviD|screener|contempt|cam|kingben|bulldozer|FxM|aXXo|AKCPE|r3|dvdrip|PUKKA|r5|ltt|LINE Xvid)/gi, '');			title = title.replace(/ /g, "+");			url1 = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=' + title + '+site:imdb.com';						GM_xmlhttpRequest({			  method:"GET",			  index:i,			  url:url1,			  onload:function(details) {				  var res;				  res = eval('(' + details.responseText + ')');				  url2 = res.responseData.results[0].unescapedUrl;				  if (findImdbID(url2) != null) {					  getMovieInfo(url2, this.index, function(imdb) { 						$("#row"+imdb.index+" .detLink").css('color', 'red').animate({fontSize: (imdb.rating*20)+'%'}, 500);						$("#row"+imdb.index+" td.vertTh").html('<a href="'+imdb.url+'" title="'+imdb.title+'">'+imdb.rating+'</a>');					  });				  } else {					$("#row"+this.index+" td.vertTh").text(':(');				  }			  }			});		});});