mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
misc refactoring/cleanup
This commit is contained in:
parent
13204a9486
commit
641962885c
3 changed files with 54 additions and 30 deletions
12
gs/data.gs
12
gs/data.gs
|
|
@ -11,9 +11,9 @@ function refreshData() {
|
|||
|
||||
function concatenateNamelessComboLists() {
|
||||
var numLists = getNumLists(sData);
|
||||
var listColumnIndex = getColumnIndexNumber(sData, "list");
|
||||
var listColumnIndex = getColIndexNum(sData, "list");
|
||||
var listData = sData.getRange(2, listColumnIndex, numLists, 1).getValues();
|
||||
var relatedColumnIndex = getColumnIndexNumber(sData, "related");
|
||||
var relatedColumnIndex = getColIndexNum(sData, "related");
|
||||
var relatedData = sData.getRange(2, relatedColumnIndex, numLists, 1).getValues();
|
||||
for (var i = 0; i < numLists; i++) {
|
||||
if (!listData[i][0]) {
|
||||
|
|
@ -26,7 +26,7 @@ function concatenateNamelessComboLists() {
|
|||
function refreshParsed() {
|
||||
var urlTypes = ["viewUrl", "addUrl", "homeUrl", "forumUrl", "issuesUrl", "email", "donateUrl"];
|
||||
for (var i = 0, urlTypesLength = urlTypes.length; i < urlTypesLength; i++) {
|
||||
var columnIndex = getColumnIndex(sParsed, urlTypes[i]);
|
||||
var columnIndex = getColIndex(sParsed, urlTypes[i]);
|
||||
var columnDataRange = sParsed.getRange(columnIndex + "2:" + columnIndex);
|
||||
columnDataRange.clearContent();
|
||||
var columnDataTopCell = sParsed.getRange(columnIndex + "2");
|
||||
|
|
@ -35,7 +35,7 @@ function refreshParsed() {
|
|||
columnDataTopCell.setValue("=createHtmlViewLinkArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(" + columnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
break;
|
||||
case "addUrl":
|
||||
var viewUrlColumnIndex = getColumnIndex(sData, "viewUrl");
|
||||
var viewUrlColumnIndex = getColIndex(sData, "viewUrl");
|
||||
columnDataTopCell.setValue("=createHtmlAddLinkArray(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(Data!" + viewUrlColumnIndex + "1,Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(Data!" + viewUrlColumnIndex + "1,Data!A1:1,0),4),\"1\",\"\")),Data!A2:A)");
|
||||
break;
|
||||
case "homeUrl":
|
||||
|
|
@ -64,7 +64,7 @@ function refreshParsed() {
|
|||
function refreshPublic() {
|
||||
var publicFields = ["list", "tags", "description", "links", "related"];
|
||||
for (var i = 0, publicFieldsLength = publicFields.length; i < publicFieldsLength; i++) {
|
||||
var columnIndex = getColumnIndex(sPublic, publicFields[i]);
|
||||
var columnIndex = getColIndex(sPublic, publicFields[i]);
|
||||
var columnDataRange = sPublic.getRange(columnIndex + "2:" + columnIndex);
|
||||
columnDataRange.clearContent();
|
||||
var columnDataTopCell = sPublic.getRange(columnIndex + "2");
|
||||
|
|
@ -76,7 +76,7 @@ function refreshPublic() {
|
|||
columnDataTopCell.setValue("=ARRAYFORMULA(\"<span class=\"\"fl-tag lang\"\">\"&INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"tagLang\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"tagLang\",Data!A1:1,0),4),\"1\",\"\"))&\"</span>\")");
|
||||
break;
|
||||
case "description":
|
||||
if (getColumnIndex(sData, "descrSourceUrl")) {
|
||||
if (getColIndex(sData, "descrSourceUrl")) {
|
||||
columnDataTopCell.setValue("=ARRAYFORMULA(IF(ISBLANK(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descrSourceUrl\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descrSourceUrl\",Data!A1:1,0),4),\"1\",\"\"))),,\"<blockquote cite=\"\"\")&INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descrSourceUrl\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descrSourceUrl\",Data!A1:1,0),4),\"1\",\"\"))&IF(ISBLANK(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descrSourceUrl\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descrSourceUrl\",Data!A1:1,0),4),\"1\",\"\"))),,\"\"\">\")&INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descr\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descr\",Data!A1:1,0),4),\"1\",\"\"))&IF(ISBLANK(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descrSourceUrl\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descrSourceUrl\",Data!A1:1,0),4),\"1\",\"\"))),,\"</blockquote>\"))");
|
||||
} else {
|
||||
columnDataTopCell.setValue("=ARRAYFORMULA(INDIRECT(\"Data!\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descr\",Data!A1:1,0),4),\"1\",\"2\")&\":\"&SUBSTITUTE(ADDRESS(1,MATCH(\"descr\",Data!A1:1,0),4),\"1\",\"\")))");
|
||||
|
|
|
|||
|
|
@ -3,21 +3,33 @@ var filScoreWeight = [
|
|||
];
|
||||
|
||||
function refreshFilScores() {
|
||||
var colIndexDataList = getColumnIndex(sData, "list");
|
||||
var colIndexFilScoreList = getColumnIndex(sFilScore, "list");
|
||||
copyRange(sData, colIndexDataList + "2:" + colIndexDataList, sFilScore, colIndexFilScoreList + "2:" + colIndexFilScoreList);
|
||||
var colIndexDataViewUrl = getColumnIndex(sData, "viewUrl");
|
||||
var colIndexFilScoreViewUrl = getColumnIndex(sFilScore, "viewUrl");
|
||||
copyRange(sData, colIndexDataViewUrl + "2:" + colIndexDataViewUrl, sFilScore, colIndexFilScoreViewUrl + "2:" + colIndexFilScoreViewUrl);
|
||||
copyListToFilScore();
|
||||
copyViewUrlToFilScore();
|
||||
getSumUniqueDailyVisitorsLast30();
|
||||
calculateSumUniqueDailyVisitorsLast30Score();
|
||||
calculateFilScore();
|
||||
var colIndexFilScoreFilScore = getColumnIndex(sFilScore, "filScore");
|
||||
var colIndexFilScorePublic = getColumnIndex(sPublic, "filScore");
|
||||
copyRange(sFilScore, colIndexFilScoreFilScore + "2:" + colIndexFilScoreFilScore, sPublic, colIndexFilScorePublic + "2:" + colIndexFilScorePublic);
|
||||
copyFilScoreToPublic();
|
||||
}
|
||||
|
||||
function copyListToFilScore() {
|
||||
var colIndexDataList = getColIndex(sData, "list");
|
||||
var colIndexFilScoreList = getColIndex(sFilScore, "list");
|
||||
copyRange(sData, colIndexDataList + "2:" + colIndexDataList, sFilScore, colIndexFilScoreList + "2:" + colIndexFilScoreList);
|
||||
}
|
||||
|
||||
function copyViewUrlToFilScore() {
|
||||
var colIndexDataViewUrl = getColIndex(sData, "viewUrl");
|
||||
var colIndexFilScoreViewUrl = getColIndex(sFilScore, "viewUrl");
|
||||
copyRange(sData, colIndexDataViewUrl + "2:" + colIndexDataViewUrl, sFilScore, colIndexFilScoreViewUrl + "2:" + colIndexFilScoreViewUrl);
|
||||
}
|
||||
|
||||
function getSumUniqueDailyVisitorsLast30() {
|
||||
getDownloadsFromPiwikApi();
|
||||
moveColumn(sPiwikApiTemp, 1, 2);
|
||||
copyPiwikDownloadsToFilScore();
|
||||
}
|
||||
|
||||
function getDownloadsFromPiwikApi() {
|
||||
var colRangePiwikApiTemp = sPiwikApiTemp.getRange("A2:B");
|
||||
colRangePiwikApiTemp.clearContent();
|
||||
var colTopPiwikApiTempSudv = sPiwikApiTemp.getRange("A2");
|
||||
|
|
@ -25,8 +37,10 @@ function getSumUniqueDailyVisitorsLast30() {
|
|||
var colDataPiwikApiTemp = colRangePiwikApiTemp.getDisplayValues();
|
||||
colRangePiwikApiTemp.clearContent();
|
||||
colRangePiwikApiTemp.setValues(colDataPiwikApiTemp);
|
||||
moveColumn(sPiwikApiTemp, 1, 2);
|
||||
var colIndexFilScoreSudv = getColumnIndex(sFilScore, "sumUniqueDailyVisitorsLast30");
|
||||
}
|
||||
|
||||
function copyPiwikDownloadsToFilScore() {
|
||||
var colIndexFilScoreSudv = getColIndex(sFilScore, "sumUniqueDailyVisitorsLast30");
|
||||
var colTopFilScoreSudv = sFilScore.getRange(colIndexFilScoreSudv + "2");
|
||||
var colRangeFilScoreSudv = sFilScore.getRange(colIndexFilScoreSudv + "2:" + colIndexFilScoreSudv);
|
||||
colRangeFilScoreSudv.clearContent();
|
||||
|
|
@ -37,11 +51,11 @@ function getSumUniqueDailyVisitorsLast30() {
|
|||
}
|
||||
|
||||
function calculateSumUniqueDailyVisitorsLast30Score() {
|
||||
var colIndexFilScoreSudvScore = getColumnIndex(sFilScore, "sumUniqueDailyVisitorsLast30Score");
|
||||
var colIndexFilScoreSudvScore = getColIndex(sFilScore, "sumUniqueDailyVisitorsLast30Score");
|
||||
var colRangeFilScoreSudvScore = sFilScore.getRange(colIndexFilScoreSudvScore + "2:" + colIndexFilScoreSudvScore);
|
||||
colRangeFilScoreSudvScore.clearContent();
|
||||
var colTopFilScoreSudvScore = sFilScore.getRange(colIndexFilScoreSudvScore + "2");
|
||||
var colIndexFilScoreSudv = getColumnIndex(sFilScore, "sumUniqueDailyVisitorsLast30");
|
||||
var colIndexFilScoreSudv = getColIndex(sFilScore, "sumUniqueDailyVisitorsLast30");
|
||||
colTopFilScoreSudvScore.setValue("=ARRAYFORMULA(IF(ISBLANK($" + colIndexFilScoreSudv + "2:" + colIndexFilScoreSudv + "),\"\",PERCENTRANK($" + colIndexFilScoreSudv + "$2:$" + colIndexFilScoreSudv + ",$" + colIndexFilScoreSudv + "2:$" + colIndexFilScoreSudv + ")))");
|
||||
var colDataFilScoreSudvScore = colRangeFilScoreSudvScore.getDisplayValues();
|
||||
colRangeFilScoreSudvScore.clearContent();
|
||||
|
|
@ -49,21 +63,31 @@ function calculateSumUniqueDailyVisitorsLast30Score() {
|
|||
}
|
||||
|
||||
function calculateFilScore() {
|
||||
var filScoreFormula = "=ARRAYFORMULA(";
|
||||
var filScoreArrayFormula = "=ARRAYFORMULA(";
|
||||
for (var i = 0, filScoreWeightLength = filScoreWeight.length; i < filScoreWeightLength; i++) {
|
||||
var colIndex = getColumnIndex(sFilScore, filScoreWeight[i][0] + "Score");
|
||||
var colIndex = getColIndex(sFilScore, filScoreWeight[i][0] + "Score");
|
||||
if (i > 0) {
|
||||
filScoreFormula += "*";
|
||||
filScoreArrayFormula += "*";
|
||||
}
|
||||
filScoreFormula += "(IF(ISBLANK($" + colIndex + "2:$" + colIndex + "),\"\"," + filScoreWeight[i][1] + "*$" + colIndex + "2:$" + colIndex + "))";
|
||||
filScoreArrayFormula += "(IF(ISBLANK($" + colIndex + "2:$" + colIndex + "),\"\"," + filScoreWeight[i][1] + "*$" + colIndex + "2:$" + colIndex + "))";
|
||||
}
|
||||
filScoreFormula += ")";
|
||||
var colIndexFilScoreFilScore = getColumnIndex(sFilScore, "filScore");
|
||||
filScoreArrayFormula += ")";
|
||||
updateFilScoreArrayFormula(filScoreArrayFormula)
|
||||
}
|
||||
|
||||
function updateFilScoreArrayFormula(filScoreArrayFormula) {
|
||||
var colIndexFilScoreFilScore = getColIndex(sFilScore, "filScore");
|
||||
var colRangeFilScoreFilScore = sFilScore.getRange(colIndexFilScoreFilScore + "2:" + colIndexFilScoreFilScore);
|
||||
colRangeFilScoreFilScore.clearContent();
|
||||
var colTopFilScoreFilScore = sFilScore.getRange(colIndexFilScoreFilScore + "2");
|
||||
colTopFilScoreFilScore.setValue(filScoreFormula);
|
||||
colTopFilScoreFilScore.setValue(filScoreArrayFormula);
|
||||
var colDataFilScoreFilScore = colRangeFilScoreFilScore.getDisplayValues();
|
||||
colRangeFilScoreFilScore.clearContent();
|
||||
colRangeFilScoreFilScore.setValues(colDataFilScoreFilScore);
|
||||
}
|
||||
|
||||
function copyFilScoreToPublic() {
|
||||
var colIndexFilScoreFilScore = getColIndex(sFilScore, "filScore");
|
||||
var colIndexFilScorePublic = getColIndex(sPublic, "filScore");
|
||||
copyRange(sFilScore, colIndexFilScoreFilScore + "2:" + colIndexFilScoreFilScore, sPublic, colIndexFilScorePublic + "2:" + colIndexFilScorePublic);
|
||||
}
|
||||
|
|
@ -9,7 +9,7 @@ function fill2dJsonArrayWithNulls(array2d) {
|
|||
return array2d;
|
||||
}
|
||||
|
||||
function getColumnIndex(sheet, columnHeader) {
|
||||
function getColIndex(sheet, columnHeader) {
|
||||
var headerRange = sheet.getRange("A1:1");
|
||||
var headerData = headerRange.getValues();
|
||||
for (i = 0; i < headerData[0].length; i++) {
|
||||
|
|
@ -20,7 +20,7 @@ function getColumnIndex(sheet, columnHeader) {
|
|||
return null;
|
||||
}
|
||||
|
||||
function getColumnIndexNumber(sheet, columnHeader) {
|
||||
function getColIndexNum(sheet, columnHeader) {
|
||||
var headerRange = sheet.getRange("A1:1");
|
||||
var headerData = headerRange.getValues();
|
||||
for (i = 0; i < headerData[0].length; i++) {
|
||||
|
|
@ -31,7 +31,7 @@ function getColumnIndexNumber(sheet, columnHeader) {
|
|||
return null;
|
||||
}
|
||||
|
||||
function getColumnIndicesWithHeaderSubstring(sheet, columnHeaderSubstring) {
|
||||
function getColIndicesWithHeaderSubstring(sheet, columnHeaderSubstring) {
|
||||
var headerRange = sheet.getRange("A1:1");
|
||||
var headerData = headerRange.getValues();
|
||||
var columnIndices = new Array();
|
||||
|
|
@ -78,7 +78,7 @@ function trimUrlSlugArray(slugArray) {
|
|||
}
|
||||
|
||||
function getNumLists(sheetData) {
|
||||
var listHeaderData = getColumnIndex(sData, "viewUrl");
|
||||
var listHeaderData = getColIndex(sData, "viewUrl");
|
||||
var listData = sheetData.getRange(listHeaderData + "2:" + listHeaderData);
|
||||
for (i = 1; i <= listData.getNumRows(); i++) {
|
||||
if (!(listData.getCell(i, 1).getValue())) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue