All pastes #1028800 Raw Edit

Something

public javascript v1 · immutable
#1028800 ·published 2008-05-25 13:37 UTC
rendered paste body
// ==UserScript==// @name           add_buffer.js// @namespace      http://example.org// @description    adds information about your current buffer// @include        http://www.norbits.net/*// @include        http://norbits.net/*// @include        https://www.norbits.net/*// @include        https://norbits.net/*// ==/UserScript==(function(){        if(location.hostname.indexOf('norbits.net') == -1) {        return false;    }       function getNodes(expression, startElement) {       startElement = startElement || document;       var nodes = document.evaluate( expression, startElement, null,                                       XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );              return nodes;    }    function trim(str) {        return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');    }    function getGigaBytes(text){        var gigabytes, numbers, suffix;        text = trim(text);                if(text == 'Inf.' || text == '---') {            return 0;        }                var _tmp = text.split(' ');        numbers  = Number(_tmp[0]);        suffix   = _tmp[1];        //alert('suffix er: "' + suffix + "'")        switch(suffix){            case 'GB':                gigabytes =  numbers;                break;            case 'TB':                gigabytes = numbers*1024;                break;            case 'MB':                gigabytes = numbers*0.0009765625;                break;            case 'kB':                //no point in doing calculations with that low numbers                gigabytes = 0;                 break;            default:                gigabytes = 0;                break;        }        return gigabytes;    }        function _t(e) {       try {           var activeTorrentsNode = getNodes('//font[text()="Akt:"]').snapshotItem(0);           if(!activeTorrentsNode){ return;}           var uploadNode = getNodes('//font[text()="Opp:"]').snapshotItem(0);           if(!uploadNode){ return;}           var uploaded = getGigaBytes(uploadNode.nextSibling.textContent);//always in GB                                 var downloadNode = getNodes('//font[text()="Ned:"]').snapshotItem(0);           if(!downloadNode){ return;}           var downloaded = getGigaBytes(downloadNode.nextSibling.textContent);//always in GB                      var container = document.createElement('span');                      var labelContainer = document.createElement('span');           labelContainer.style.color='purple';           labelContainer.appendChild(document.createTextNode('Buffer: '));           container.appendChild(labelContainer);                      if(downloaded >= uploaded) {                container.appendChild(document.createTextNode('---'));           } else {                var buffer = (uploaded-downloaded).toFixed(2);///always in GB, two decimals                container.appendChild(document.createTextNode( buffer+ ' GB'));                      }           container.appendChild(document.createTextNode('  '));           //insert before activeTorrentsNode           activeTorrentsNode.parentNode.insertBefore(container, activeTorrentsNode);                  } catch(e) {            alert('feil: ' + e)       }    }       if(window.opera) {        window.addEventListener('DOMContentLoaded', _t, false);        } else {        window.addEventListener('load', _t, false);   }})();