= Tests = == Tag amount Usage Statistics == {{{ var xy= []; var taggingService = Components.classes["@mozilla.org/browser/tagging-service;1"].getService(Components.interfaces.nsITaggingService); var historyService = Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsINavHistoryService); var ioService = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService); var options = historyService.getNewQueryOptions(); options.queryType=1; var query = historyService.getNewQuery(); var result = historyService.executeQuery(query, options); var rootNode = result.root; rootNode.containerOpen = true; for (var i = 0; i < rootNode.childCount; i ++) { var node = rootNode.getChild(i); var aURI = ioService.newURI(node.uri, null, null); var tagCount = { value : 0 }; taggingService.getTagsForURI(aURI, tagCount); xy[tagCount.value] = (xy[tagCount.value] != null) ? (xy[tagCount.value] + 1) : 1; } xy; }}} == Tag Saturation (monthly) == {{{ var pC = Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase).DBConnection; var stmt = pC.createStatement("SELECT dateAdded FROM moz_bookmarks WHERE parent=4 and type=2 ORDER BY dateAdded ASC"); var oldFirstOfMonth = 0; var xy = []; var i = -1; while (stmt.step()) { var dateAdded = stmt.getInt64(0); var dateAddedDate = new Date(dateAdded / 1000); var firstOfMonth = new Date(dateAddedDate.getFullYear(), dateAddedDate.getMonth() + 1, dateAddedDate.getDate()).getTime(); var diff = firstOfMonth - oldFirstOfMonth; if (diff > 0) { xy[i + 1] = (xy[i] != null) ? xy[i] + 1 : 1; i++; oldFirstOfMonth = firstOfMonth; } else { xy[i] = (xy[i] != null) ? (xy[i] + 1) : 1; } } xy; }}}