Plex-IMDB

Add IMDB link and ratings to Plex movies

目前为 2015-02-13 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Plex-IMDB
  3. // @namespace plex.tv
  4. // @description Add IMDB link and ratings to Plex movies
  5. // @author John Woods
  6. // @include http://127.0.0.1:32400/web/index.html#!/server/*
  7. // @require http://code.jquery.com/jquery-1.11.0.min.js
  8. // @require https://greasyfork.org/scripts/1003-wait-for-key-elements/code/Wait%20for%20key%20elements.js?version=2765
  9. // @version 0.0.1
  10. // @grant GM_xmlhttpRequest
  11. // ==/UserScript==
  12.  
  13. waitForKeyElements(".metadata-right", run);
  14.  
  15. // var loadingImg = "data:image/gif;base64,R0lGODlhEAAQAPQAAPbx7pmZmfPu662sq8jGxJqamqampefj4NXS0KCfn8PAv727uuvn5NDNy+Dc2rKxsLi2tQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAAFUCAgjmRpnqUwFGwhKoRgqq2YFMaRGjWA8AbZiIBbjQQ8AmmFUJEQhQGJhaKOrCksgEla+KIkYvC6SJKQOISoNSYdeIk1ayA8ExTyeR3F749CACH5BAkKAAAALAAAAAAQABAAAAVoICCKR9KMaCoaxeCoqEAkRX3AwMHWxQIIjJSAZWgUEgzBwCBAEQpMwIDwY1FHgwJCtOW2UDWYIDyqNVVkUbYr6CK+o2eUMKgWrqKhj0FrEM8jQQALPFA3MAc8CQSAMA5ZBjgqDQmHIyEAIfkECQoAAAAsAAAAABAAEAAABWAgII4j85Ao2hRIKgrEUBQJLaSHMe8zgQo6Q8sxS7RIhILhBkgumCTZsXkACBC+0cwF2GoLLoFXREDcDlkAojBICRaFLDCOQtQKjmsQSubtDFU/NXcDBHwkaw1cKQ8MiyEAIfkECQoAAAAsAAAAABAAEAAABVIgII5kaZ6AIJQCMRTFQKiDQx4GrBfGa4uCnAEhQuRgPwCBtwK+kCNFgjh6QlFYgGO7baJ2CxIioSDpwqNggWCGDVVGphly3BkOpXDrKfNm/4AhACH5BAkKAAAALAAAAAAQABAAAAVgICCOZGmeqEAMRTEQwskYbV0Yx7kYSIzQhtgoBxCKBDQCIOcoLBimRiFhSABYU5gIgW01pLUBYkRItAYAqrlhYiwKjiWAcDMWY8QjsCf4DewiBzQ2N1AmKlgvgCiMjSQhACH5BAkKAAAALAAAAAAQABAAAAVfICCOZGmeqEgUxUAIpkA0AMKyxkEiSZEIsJqhYAg+boUFSTAkiBiNHks3sg1ILAfBiS10gyqCg0UaFBCkwy3RYKiIYMAC+RAxiQgYsJdAjw5DN2gILzEEZgVcKYuMJiEAOwAAAAAAAAAAAA==";
  16. var loadingImg = "data:image/gif;base64,R0lGODlhEAAQAPIAAP////////7+/v7+/v////7+/v7+/v7+/iH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==";
  17. var targetPopup = 'imdb';
  18. var running = false;
  19.  
  20. function processImdbInfo(content, title) {
  21. var movieInfo = content;
  22. var imdbUrl = 'http://www.imdb.com/title/'+movieInfo.imdbID;
  23. if (content.code == 404) {
  24. $('#loading_image').html('<em>Could not find <a style="color:#dd0000;" href="http://www.imdb.com/find?q='+title+'&s=tt&ttype=ft" target="'+targetPopup+'">IMDB</a> info</em>');
  25. } else {
  26. $('#loading_image').html('&raquo;&nbsp;<a href="'+imdbUrl+
  27. '" target="'+targetPopup+'">IMDB: </a>'+movieInfo.imdbRating);
  28. }
  29. }
  30.  
  31. function getImdbInfo(title, year) {
  32. if (title === '') {
  33. return null;
  34. }
  35. var t = title.replace(/\s/g, '+');
  36. var url = 'http://omdbapi.com/?t='+t+'&y='+year;
  37. GM_xmlhttpRequest({
  38. method: "GET",
  39. url: url,
  40. onload: function(response) {
  41. // We've received a response from the API
  42. var data = JSON.parse(response.responseText);
  43. processImdbInfo(data, title);
  44. },
  45. onerror: function(response) {
  46. var data = JSON.parse(response.responseText);
  47. console.log('error:'+data);
  48. $('#loading_image').html('<em>IMDB Error</em>');
  49. }
  50. });
  51. }
  52.  
  53. function run(jNode) {
  54. var div = $(".metadata-right");
  55. var movieTitle = $(".item-title").text();
  56. var movieYear = $(".item-year").text();
  57. div.append("<span id='loading_image'><img src='" + loadingImg + "' alt='Loading...'></span>");
  58. getImdbInfo(movieTitle, movieYear);
  59. }