mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
major refactor cont'd (broken)
This commit is contained in:
parent
d9ebad81fa
commit
40a4b6db6d
5 changed files with 58 additions and 61 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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) {
|
||||
3
gs/ui.gs
3
gs/ui.gs
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
Loading…
Reference in a new issue