misc refactoring/cleanup

This commit is contained in:
Collin M. Barrett 2017-02-07 19:52:29 -06:00
parent 13204a9486
commit 641962885c
3 changed files with 54 additions and 30 deletions

View file

@ -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\",\"\")))");

View file

@ -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);
}

View file

@ -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())) {