MTurk Service Status

Adds MTurk Service Health RSS feed to your dashboard

当前为 2014-10-29 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name MTurk Service Status
  3. // @namespace localhost
  4. // @description Adds MTurk Service Health RSS feed to your dashboard
  5. // @author ThirdClassInternationalMasterTurker
  6. // @include https://www.mturk.com/mturk/dashboard
  7. // @version 1.2
  8. // ==/UserScript==
  9.  
  10. // 2012-11-11 First public release by ThirdClassInternationalMasterTurker
  11. //
  12. // 2012-11-15 1.1: Colour changes
  13. //
  14. // 2012-12-02 1.2: Added @downloadURL and @updateURL
  15. //
  16.  
  17. var ret = GM_xmlhttpRequest({
  18. method: "GET",
  19. url: "http://status.aws.amazon.com/rss/mturk-worker.rss",
  20. onload: function(res) {
  21. add_rss(res.responseText);
  22. }
  23. });
  24.  
  25.  
  26.  
  27. function add_rss(rss)
  28. {
  29. var page_xml = document.createElement('div');
  30. page_xml.innerHTML = rss;
  31. var footer = document.getElementsByClassName('footer_separator')[0];
  32. if (footer == null)
  33. return;
  34. var extra_table = document.createElement('table');
  35. extra_table.width = '700';
  36. extra_table.style.boder = '1px solid black';
  37. extra_table.align = 'center';
  38. extra_table.cellSpacing = '0px';
  39. extra_table.cellPadding = '0px';
  40.  
  41. var row1 = document.createElement('tr');
  42. var row2 = document.createElement('tr');
  43. var td1 = document.createElement('td');
  44. var content_td = document.createElement('td');
  45. var whatsthis = document.createElement('a');
  46.  
  47. row1.style.height = '25px';
  48. td1.setAttribute('class', 'white_text_14_bold');
  49. td1.style.backgroundColor = '#7fb448';//'#7fb4cf';
  50. td1.style.paddingLeft = '10px';
  51. td1.innerHTML = 'MTurk Status Feed ';
  52. td1.title = 'Current service status feed for Amazon Mechanical Turk (Worker)';
  53. content_td.setAttribute('class', 'container-content');
  54. whatsthis.href = 'http://status.aws.amazon.com/';
  55. whatsthis.title = 'Go to AWS Service Health Dashboard';
  56. whatsthis.setAttribute('class', 'whatis');
  57. whatsthis.textContent = '(AWS Service Health Dashboard)';
  58. extra_table.appendChild(row1);
  59. row1.appendChild(td1);
  60. td1.appendChild(whatsthis);
  61. extra_table.appendChild(row2);
  62. row2.appendChild(content_td);
  63. var colors = ['#000000','#222222','#333333','#444444','#555555'];
  64. var items = page_xml.getElementsByTagName('item');
  65. if (items == null)
  66. {
  67. content_td.innerHTML = 'Error loading <a href="http://status.aws.amazon.com/rss/mturk-worker.rss">http://status.aws.amazon.com/rss/mturk-worker.rss</a>';
  68. }
  69. else
  70. {
  71. for (var i=0; i<items.length; i++)
  72. {
  73. var c = colors[i] || '#666666';
  74. var title = items[i].getElementsByTagName('title')[0].textContent;
  75. //var link = items[i].getElementsByTagName('link')[0].textContent;
  76. var date = items[i].getElementsByTagName('pubDate')[0].textContent;
  77. //var guid = items[i].getElementsByTagName('guid')[0].textContent;
  78. var description = items[i].getElementsByTagName('description')[0].textContent;
  79.  
  80. content_td.innerHTML += '<span style="color: ' + c + '" title="' + description + '"><b>' + date + '</b>: ' + title + '</span><br>';
  81. }
  82. }
  83.  
  84. footer.parentNode.insertBefore(extra_table, footer);
  85. }