Skip to content

Commit

Permalink
Adding min threshold and storage of new licenses only
Browse files Browse the repository at this point in the history
  • Loading branch information
alandtse committed Jul 26, 2018
1 parent 2aeba0c commit 7fd838f
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 23 deletions.
43 changes: 22 additions & 21 deletions app/scripts/contentscript.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ var runningworkers = 0;
var workers = [];
var workqueue = [];
var unsorted = {};
var minpercentage = 25.0

createBubble();
loadList();
Expand Down Expand Up @@ -97,9 +98,9 @@ function workeronmessage(event) {
var spdxid = event.data.spdxid
console.log('Saving license', event.data);
chrome.storage.local.get([spdxid], function(result) {
if (result[spdxid] && externallicenselist.data[spdxid]){
if (result[spdxid] && externallicenselist.data && _.isEqual(result[spdxid], externallicenselist.data)){
var license = result[spdxid];
console.log('Existing license', spdxid);
console.log('Ignoring existing license', spdxid);
}else {
console.log('Saving new', spdxid);
var obj = {}
Expand Down Expand Up @@ -238,7 +239,7 @@ function renderBubble(mouseX, mouseY, selection) {
var bubbleDOMText = $('#bubble_text')[0];
bubbleDOMText.innerHTML = text;
}
function addSelectFormFromArray(id, arr, number=arr.length) {
function addSelectFormFromArray(id, arr, number=arr.length, minimum=0) {
if (form = document.getElementById(id))
form.outerHTML="";
if (!$('#license_form').length){
Expand All @@ -247,26 +248,25 @@ function renderBubble(mouseX, mouseY, selection) {
var form = bubbleDOM.insertBefore(document.createElement('form'), bubbleDOMText);
form.setAttribute('id',"license_form");
}
form = document.getElementById("license_form");
var select = form.appendChild(document.createElement('select'));
select.id = id;
for (var i=0; i < arr.length && i < number; i++){
var value = arr[i][0];
var percentage = arr[i][3]
var text = value + " : " + arr[i][1] + " ("+ percentage +"%)";
if (percentage == 0){ //No match at all
break;
}
var option = select.appendChild(document.createElement("option"));
option.value = value;
option.text = text;

form = document.getElementById("license_form");
var select = form.appendChild(document.createElement('select'));
select.id = id;
for (var i=0; i < arr.length && i < number; i++){
var value = arr[i][0];
var percentage = arr[i][3]
var text = value + " : " + arr[i][1] + " differences ("+ percentage +"% match)";
if (percentage <= minimum){ //No match at all
break;
}
var option = select.appendChild(document.createElement("option"));
option.value = value;
option.text = text;
}
}
function processLicenses(sortable, showBest, processTime=0){
if (sortable && sortable.length == 0){
if (sortable && (sortable.length == 0 || sortable[0][3] <= minpercentage)){
console.log("No results to display");
displayDiff(data, selection, processTime);
displayDiff(null, selection, processTime);
return
}
var data = sortable[0][2];
Expand All @@ -281,7 +281,7 @@ function renderBubble(mouseX, mouseY, selection) {
console.log(license+ ": " + distance + " (" + percentage+ "%)");
}
}
addSelectFormFromArray("licenses", sortable, showBest)
addSelectFormFromArray("licenses", sortable, showBest, minpercentage)
displayDiff(data, selection, processTime);
var el = document.getElementById("licenses").addEventListener("change", function () {
if (this.value != selectedLicense){
Expand Down Expand Up @@ -382,7 +382,8 @@ function renderBubble(mouseX, mouseY, selection) {
console.log('%s succesfully loaded from storage', license);
list.license[license] = result[license];
}else {
console.log('%s not found in storage', license);
console.log('%s not found in storage; requesting update', license);
updateList()
}
});
}
Expand Down
2 changes: 1 addition & 1 deletion app/scripts/worker.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ function comparelicense(selection, spdxid, license) {
};
function sortlicenses(licenses) {
postMessage({"command": "progressbarmax","value": Object.keys(licenses).length, "stage":"Sorting licenses","id":id});
console.log(id, "Sorting " + Object.keys(licenses).length + " licenses.");
console.log(id, "Sorting " + Object.keys(licenses).length + " licenses");
var sortable = [];
for (var license in licenses) {
sortable.push([
Expand Down
5 changes: 5 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
"fast-levenshtein": "^2.0.6",
"jquery": "^3.2.1",
"md5-jkmyers": "^0.0.1",
"npm": "^6.1.0"
"npm": "^6.1.0",
"underscore": "^1.9.1"
}
}
4 changes: 4 additions & 0 deletions tasks/scripts.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ gulp.task('scripts', (cb) => {
$: 'jquery',
jQuery: 'jquery'
}),
new webpack.ProvidePlugin({
_: 'underscore',
underscore: 'underscore'
}),
new webpack.ProvidePlugin({
Levenshtein: 'fast-levenshtein'
}),
Expand Down

0 comments on commit 7fd838f

Please sign in to comment.