major refactor cont'd (broken)

This commit is contained in:
Collin M. Barrett 2017-02-06 15:43:30 -06:00
parent d9ebad81fa
commit 40a4b6db6d
5 changed files with 58 additions and 61 deletions

View file

@ -1,41 +1,36 @@
var filScoreWeight = [
["sumUniqueDailyVisitorsLast30", "1"]
];
function refreshFilScores() {
var sheetNameData = typeSheetPrefix[ss.getName()] + "Data";
var sheetData = ss.getSheetByName(sheetNameData);
var sheetNameScores = typeSheetPrefix[ss.getName()] + "Scores";
var sheetScores = ss.getSheetByName(sheetNameScores);
var sheetNamePublic = typeSheetPrefix[ss.getName()] + "Public";
var sheetPublic = ss.getSheetByName(sheetNamePublic);
copyListNamesAndViewUrlsToScore(sheetData, sheetScores);
var colHeader = findColumnHeader(sheetScores, "sumUniqueDailyVisitorsLast30");
if (colHeader) {
var rangeFull = sheetScores.getRange(colHeader + "2:" + colHeader);
rangeFull.clearContent();
var numLists = getNumLists(sheetScores);
for (i = 2; i <= numLists + 1; i++) {
var cellCur = sheetScores.getRange(colHeader + i);
cellCur.setValue("=ImportJson(CONCATENATE(\"" + piwikUrl + "?module=API&method=Actions.getDownload&downloadUrl=\",EncodeUrl(B" + i + "),\"&idSite=3&date=last30&period=range&format=json&token_auth=" + piwikApiToken + "\"), \"/sum_daily_nb_uniq_visitors\", \"noHeaders\")");
}
var data = rangeFull.getDisplayValues();
rangeFull.clearContent();
rangeFull.setValues(data);
for (i = 2; i <= numLists + 1; i++) {
var sumUniqueDailyVisitorsLast30 = sheetScores.getRange(colHeader + i).getValue();
if (sumUniqueDailyVisitorsLast30 == "#REF!") {
var cellCur = sheetScores.getRange(colHeader + i);
cellCur.setValue("=ImportJson(CONCATENATE(\"" + piwikUrl + "?module=API&method=Actions.getOutlink&outlinkUrl=\",EncodeUrl(B" + i + "),\"&idSite=3&date=last30&period=range&format=json&token_auth=" + piwikApiToken + "\"), \"/sum_daily_nb_uniq_visitors\", \"noHeaders\")");
}
}
var data = rangeFull.getDisplayValues();
rangeFull.clearContent();
rangeFull.setValues(data);
for (i = 2; i <= numLists + 1; i++) {
var sumUniqueDailyVisitorsLast30 = sheetScores.getRange(colHeader + i).getValue();
if (sumUniqueDailyVisitorsLast30 == "#REF!") {
var cellCur = sheetScores.getRange(colHeader + i);
cellCur.setValue(0);
}
}
}
var columnIndexListData = getColumnIndex(sData, "list");
var columnIndexListFilScore = getColumnIndex(sFilScore, "list");
copyRange(sData, columnIndexListData + "2:" + columnIndexListData, sFilScore, columnIndexListFilScore + "2:" + columnIndexListFilScore);
var columnIndexViewUrlData = getColumnIndex(sData, "viewUrl");
var columnIndexViewUrlFilScore = getColumnIndex(sFilScore, "viewUrl");
copyRange(sData, columnIndexViewUrlData + "2:" + columnIndexViewUrlData, sFilScore, columnIndexViewUrlFilScore + "2:" + columnIndexViewUrlFilScore);
getSumUniqueDailyVisitorsLast30();
/*calculateFilScore();
var columnIndexFilScoreFilScore = getColumnIndex(sFilScore, "filScore");
var columnIndexFilScorePublic = getColumnIndex(sPublic, "filScore");
copyRange(sFilScore, columnIndexFilScoreFilScore + "2:" + columnIndexFilScoreFilScore, sPublic, columnIndexFilScorePublic + "2:" + columnIndexFilScorePublic);*/
}
function getSumUniqueDailyVisitorsLast30() {
var columnDataSudvPiwikApiTempRange = sPiwikApiTemp.getRange("A2:A");
var columnDataSudvPiwikApiTempTopCell = sPiwikApiTemp.getRange("A2");
columnDataSudvPiwikApiTempRange.clearContent();
columnDataSudvPiwikApiTempTopCell.setValue("=ImportJson(CONCATENATE(\"" + piwikUrl + "?module=API&method=Actions.getDownloads&idSite=3&period=range&date=last30&flat=1&format=json&token_auth=" + piwikApiToken + "\"), \"/url,/sum_daily_nb_uniq_visitors\", \"noHeaders\")");
var columnData = columnDataSudvPiwikApiTempRange.getDisplayValues();
columnDataSudvPiwikApiTempRange.clearContent();
columnDataSudvPiwikApiTempRange.setValues(columnData);
moveColumn(sPiwikApiTemp, 1, 2);
//var columnIndexSudvFilScore = getColumnIndex(sFilScore, "sumUniqueDailyVisitorsLast30");
//var columnDataSudvFilScoreTopCell = sFilScore.getRange(columnIndexSudvFilScore + "2");
//columnDataSudvFilScoreTopCell.setValue();
}
function calculateFilScore() {
var colHeader = findColumnHeader(sheetScores, "score");
var colHeaderVisitors = findColumnHeader(sheetScores, "sumUniqueDailyVisitorsLast30");
if (colHeader) {
@ -50,26 +45,4 @@ function refreshFilScores() {
rangeFull.clearContent();
rangeFull.setValues(data);
}
copyScoresToPublic(sheetScores, sheetPublic);
}
function copyListNamesAndViewUrlsToScore(sheetData, sheetScores) {
var sourceRangeListNames = sheetData.getRange("A1:A");
var targetRangeListNames = sheetScores.getRange("A1:A");
targetRangeListNames.clearContent();
sourceRangeListNames.copyTo(targetRangeListNames);
var viewUrlColumn = findColumnHeader(sheetData, "viewUrl");
var sourceRangeScores = sheetData.getRange(viewUrlColumn + "1:" + viewUrlColumn);
var targetRangeScores = sheetScores.getRange("B1:B");
targetRangeScores.clearContent();
sourceRangeScores.copyTo(targetRangeScores);
}
function copyScoresToPublic(sheetScores, sheetPublic) {
var colHeaderSource = findColumnHeader(sheetScores, "score");
var colHeaderTarget = findColumnHeader(sheetPublic, "FilScore");
var sourceRangeListNames = sheetScores.getRange(colHeaderSource + "2:" + colHeaderSource);
var targetRangeListNames = sheetPublic.getRange(colHeaderTarget + "2:" + colHeaderTarget);
targetRangeListNames.clearContent();
sourceRangeListNames.copyTo(targetRangeListNames);
}

View file

@ -36,7 +36,7 @@ function refreshHttpResponses(triggerNum) {
var sheetData = ss.getSheetByName(sheetNameData);
var sheetNameStatuses = typeSheetPrefix[ss.getName()] + "UrlStatuses";
var sheetStatuses = ss.getSheetByName(sheetNameStatuses);
copyListNamesToStatuses(sheetData, sheetStatuses);
copyRange(sData, "A2:A", sHttpResponse, "A2:A");
var listDataMax = getNumLists(sheetData)
var urlHeaders = findUrlColumnHeaders(sheetData);
if (urlHeaders.length >= triggerNum) {

View file

@ -1,5 +1,6 @@
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sData = ss.getSheetByName("Data");
var sPiwikApiTemp = ss.getSheetByName("PiwikApiTemp");
var sFilScore = ss.getSheetByName("FilScore");
var sHttpResponse = ss.getSheetByName("HttpResponse");
var sParsed = ss.getSheetByName("Parsed");
@ -7,7 +8,7 @@ var sPublic = ss.getSheetByName("Public");
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Refresh').addItem('Refresh All', 'refreshAll').addSeparator().addItem('Refresh Data', 'refreshData').addItem('Refresh FilScores', 'refreshFilScores').addToUi();
ui.createMenu('Refresh').addItem('Refresh All', 'refreshAll').addSeparator().addItem('Refresh Data', 'refreshData').addItem('Refresh FilScore', 'refreshFilScores').addToUi();
}
function refreshAll() {

View file

@ -85,4 +85,27 @@ function getNumLists(sheetData) {
return i - 1;
}
}
}
function copyRange(sheetSource, rangeSource, sheetTarget, rangeTarget) {
var sourceRangeListNames = sheetSource.getRange(rangeSource);
var targetRangeListNames = sheetTarget.getRange(rangeTarget);
targetRangeListNames.clearContent();
sourceRangeListNames.copyTo(targetRangeListNames);
}
// https://stackoverflow.com/questions/21145080/moving-a-column-in-google-spreadsheet/21152273#21152273
function moveColumn(sheet, iniCol, finCol) {
var dataRange = sheet.getDataRange();
var data = arrayMoveColumn(dataRange.getValues(), iniCol - 1, finCol - 1);
dataRange.setValues(data);
}
function arrayMoveColumn(data, from, to) {
if (!(data instanceof Array && data[0] instanceof Array)) throw new TypeError('need 2d array');
if (from >= data[0].length || to >= data[0].length) throw new Error('index out of bounds');
for (var row = 0; row < data.length; row++) {
var temp = data[row].splice(from, 1);
data[row].splice(to, 0, temp[0]);
}
return data;
}