mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
bug fixes, fixed major Piwik downloads api bug
This commit is contained in:
parent
52abeac809
commit
7dabf8d1da
4 changed files with 29 additions and 32 deletions
12
gs/data.gs
12
gs/data.gs
|
|
@ -24,8 +24,7 @@ function concatNamelessComboLists() {
|
|||
|
||||
function refreshParsed() {
|
||||
var urlTypes = ["viewUrl", "addUrl", "homeUrl", "forumUrl", "issuesUrl", "email", "donateUrl"];
|
||||
for (var i = 0,
|
||||
var urlTypesLength = urlTypes.length; i < urlTypesLength; i++) {
|
||||
for (var i = 0, urlTypesLength = urlTypes.length; i < urlTypesLength; i++) {
|
||||
var colIndexParsedUrlType = getColIndex(sParsed, urlTypes[i]);
|
||||
var colRangeParsedUrlType = sParsed.getRange(colIndexParsedUrlType + "2:" + colIndexParsedUrlType);
|
||||
colRangeParsedUrlType.clearContent();
|
||||
|
|
@ -55,15 +54,15 @@ function refreshParsed() {
|
|||
break;
|
||||
default:
|
||||
}
|
||||
var colDataParsedUrlType = colRangeParsedUrlType.getDisplayValues();
|
||||
colRangeParsedUrlType.clearContent();
|
||||
colRangeParsedUrlType.setValues(colRangeParsedUrlType.getDisplayValues());
|
||||
colRangeParsedUrlType.setValues(colDataParsedUrlType);
|
||||
}
|
||||
}
|
||||
|
||||
function refreshPublic() {
|
||||
var publicFields = ["list", "tags", "description", "links", "related"];
|
||||
for (var i = 0,
|
||||
var publicFieldsLength = publicFields.length; i < publicFieldsLength; i++) {
|
||||
for (var i = 0, publicFieldsLength = publicFields.length; i < publicFieldsLength; i++) {
|
||||
var colIndexPublicPublicField = getColIndex(sPublic, publicFields[i]);
|
||||
var colRangePublicPublicField = sPublic.getRange(colIndexPublicPublicField + "2:" + colIndexPublicPublicField);
|
||||
colRangePublicPublicField.clearContent();
|
||||
|
|
@ -90,7 +89,8 @@ function refreshPublic() {
|
|||
break;
|
||||
default:
|
||||
}
|
||||
var colDataPublicPublicField = colRangePublicPublicField.getDisplayValues();
|
||||
colRangePublicPublicField.clearContent();
|
||||
colRangePublicPublicField.setValues(colRangePublicPublicField.getDisplayValues());
|
||||
colRangePublicPublicField.setValues(colDataPublicPublicField);
|
||||
}
|
||||
}
|
||||
|
|
@ -25,16 +25,17 @@ function copyViewUrlToFilScore() {
|
|||
|
||||
function getSumUniqueDailyVisitorsLast30() {
|
||||
getDownloadsFromPiwikApi();
|
||||
moveColumn(sPiwikApiTemp, 1, 2);
|
||||
moveColumn(sPiwikApiTemp, 10, 11);
|
||||
copyPiwikDownloadsToFilScore();
|
||||
}
|
||||
|
||||
function getDownloadsFromPiwikApi() {
|
||||
var colRangePiwikApiTemp = sPiwikApiTemp.getRange("A2:B");
|
||||
var colRangePiwikApiTemp = sPiwikApiTemp.getRange("A1:K");
|
||||
colRangePiwikApiTemp.clearContent();
|
||||
sPiwikApiTemp.getRange("A2").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\")");
|
||||
sPiwikApiTemp.getRange("A1").setValue("=ImportJson(CONCATENATE(\"" + piwikUrl + "?module=API&method=Actions.getDownloads&idSite=3&period=range&date=last30&expanded=1&format=json&token_auth=" + piwikApiToken + "\"), \"\", \"\")");
|
||||
var colDataPiwikApiTemp = colRangePiwikApiTemp.getDisplayValues()
|
||||
colRangePiwikApiTemp.clearContent();
|
||||
colRangePiwikApiTemp.setValues(colRangePiwikApiTemp.getDisplayValues());
|
||||
colRangePiwikApiTemp.setValues(colDataPiwikApiTemp);
|
||||
}
|
||||
|
||||
function copyPiwikDownloadsToFilScore() {
|
||||
|
|
@ -42,9 +43,12 @@ function copyPiwikDownloadsToFilScore() {
|
|||
var colTopFilScoreSudv = sFilScore.getRange(colIndexFilScoreSudv + "2");
|
||||
var colRangeFilScoreSudv = sFilScore.getRange(colIndexFilScoreSudv + "2:" + colIndexFilScoreSudv);
|
||||
colRangeFilScoreSudv.clearContent();
|
||||
colTopFilScoreSudv.setValue("=ARRAYFORMULA(IF(ISBLANK($B2:B),\"\",IFERROR(VLOOKUP($B2:B,PiwikApiTemp!$A$2:$B,2,FALSE),0)))");
|
||||
var colIndexPiwikApiTempSudv = getColIndex(sPiwikApiTemp, "Subtablesumdailynbuniqvisitors");
|
||||
var colIndexPiwikApiTempViewUrl = getColIndex(sPiwikApiTemp, "Subtableurl");
|
||||
colTopFilScoreSudv.setValue("=ARRAYFORMULA(IF(ISBLANK($B2:B),\"\",IFERROR(VLOOKUP($B2:B,PiwikApiTemp!$" + colIndexPiwikApiTempSudv + "$2:$" + colIndexPiwikApiTempViewUrl + ",2,FALSE),0)))");
|
||||
var colDataFilScoreSudv = colRangeFilScoreSudv.getDisplayValues();
|
||||
colRangeFilScoreSudv.clearContent();
|
||||
colRangeFilScoreSudv.setValues(colRangeFilScoreSudv.getDisplayValues());
|
||||
colRangeFilScoreSudv.setValues(colDataFilScoreSudv);
|
||||
}
|
||||
|
||||
function calculateSumUniqueDailyVisitorsLast30Score() {
|
||||
|
|
@ -53,14 +57,14 @@ function calculateSumUniqueDailyVisitorsLast30Score() {
|
|||
colRangeFilScoreSudvScore.clearContent();
|
||||
var colIndexFilScoreSudv = getColIndex(sFilScore, "sumUniqueDailyVisitorsLast30");
|
||||
sFilScore.getRange(colIndexFilScoreSudvScore + "2").setValue("=ARRAYFORMULA(IF(ISBLANK($" + colIndexFilScoreSudv + "2:" + colIndexFilScoreSudv + "),\"\",PERCENTRANK($" + colIndexFilScoreSudv + "$2:$" + colIndexFilScoreSudv + ",$" + colIndexFilScoreSudv + "2:$" + colIndexFilScoreSudv + ")))");
|
||||
var colDataFilScoreSudvScore = colRangeFilScoreSudvScore.getDisplayValues();
|
||||
colRangeFilScoreSudvScore.clearContent();
|
||||
colRangeFilScoreSudvScore.setValues(colRangeFilScoreSudvScore.getDisplayValues());
|
||||
colRangeFilScoreSudvScore.setValues(colDataFilScoreSudvScore);
|
||||
}
|
||||
|
||||
function calculateFilScore() {
|
||||
var filScoreArrayFormula = "=ARRAYFORMULA(";
|
||||
for (var i = 0,
|
||||
var filScoreWeightLength = filScoreWeight.length; i < filScoreWeightLength; i++) {
|
||||
for (var i = 0, filScoreWeightLength = filScoreWeight.length; i < filScoreWeightLength; i++) {
|
||||
var colIndex = getColIndex(sFilScore, filScoreWeight[i][0] + "Score");
|
||||
if (i > 0) {
|
||||
filScoreArrayFormula += "*";
|
||||
|
|
@ -76,8 +80,9 @@ function updateFilScoreArrayFormula(filScoreArrayFormula) {
|
|||
var colRangeFilScoreFilScore = sFilScore.getRange(colIndexFilScoreFilScore + "2:" + colIndexFilScoreFilScore);
|
||||
colRangeFilScoreFilScore.clearContent();
|
||||
sFilScore.getRange(colIndexFilScoreFilScore + "2").setValue(filScoreArrayFormula);
|
||||
var colDataFilScoreFilScore = colRangeFilScoreFilScore.getDisplayValues();
|
||||
colRangeFilScoreFilScore.clearContent();
|
||||
colRangeFilScoreFilScore.setValues(colRangeFilScoreFilScore.getDisplayValues());
|
||||
colRangeFilScoreFilScore.setValues(colDataFilScoreFilScore);
|
||||
}
|
||||
|
||||
function copyFilScoreToPublic() {
|
||||
|
|
|
|||
|
|
@ -64,8 +64,7 @@ function createHtmlArrayRelatedLists(related) {
|
|||
} else {
|
||||
var relatedArray = related.split(',');
|
||||
var relatedHtml = "<ul>";
|
||||
for (var i = 0,
|
||||
var relatedArrayLength = relatedArray.length; i < relatedArrayLength; i++) {
|
||||
for (var i = 0, relatedArrayLength = relatedArray.length; i < relatedArrayLength; i++) {
|
||||
relatedHtml += "<li><a href=\"#" + trimUrlSlugArray(relatedArray[i]) + "\">" + relatedArray[i] + "</a></li>";
|
||||
}
|
||||
relatedHtml += "</ul>";
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
function fill2dJsonArrayWithNulls(array2d) {
|
||||
for (var i = 0,
|
||||
var array2dLength = array2d.length; i < array2dLength; i++) {
|
||||
for (var j = 0,
|
||||
var array2dLength2 = array2d[0].length; j < array2dLength2; j++) {
|
||||
for (var i = 0, array2dLength = array2d.length; i < array2dLength; i++) {
|
||||
for (var j = 0, array2dLength2 = array2d[0].length; j < array2dLength2; j++) {
|
||||
if (array2d[i][j] == null) {
|
||||
array2d[i][j] = "";
|
||||
}
|
||||
|
|
@ -13,8 +11,7 @@ function fill2dJsonArrayWithNulls(array2d) {
|
|||
|
||||
function getColIndex(sheet, colHeader) {
|
||||
var headerData = sheet.getRange("A1:1").getValues();
|
||||
for (var i = 0,
|
||||
var headerDataLength = headerData[0].length; i < headerDataLength; i++) {
|
||||
for (var i = 0, headerDataLength = headerData[0].length; i < headerDataLength; i++) {
|
||||
if (headerData[0][i] == colHeader) {
|
||||
return String.fromCharCode(65 + i);
|
||||
}
|
||||
|
|
@ -24,8 +21,7 @@ function getColIndex(sheet, colHeader) {
|
|||
|
||||
function getColIndexNum(sheet, colHeader) {
|
||||
var headerData = sheet.getRange("A1:1").getValues();
|
||||
for (var i = 0,
|
||||
var headerDataLength = headerData[0].length; i < headerDataLength; i++) {
|
||||
for (var i = 0, headerDataLength = headerData[0].length; i < headerDataLength; i++) {
|
||||
if (headerData[0][i] == colHeader) {
|
||||
return i + 1;
|
||||
}
|
||||
|
|
@ -57,8 +53,7 @@ function trimUrlSlugArray(slugArray) {
|
|||
} else {
|
||||
if (slugArray) {
|
||||
var trimCharacters = [" ", "\"", ":", "'", "+", "(", ")", "."];
|
||||
for (var i = 0,
|
||||
var trimCharactersLength = trimCharacters.length; i < trimCharactersLength; i++) {
|
||||
for (var i = 0, trimCharactersLength = trimCharacters.length; i < trimCharactersLength; i++) {
|
||||
slugArray = slugArray.split(trimCharacters[i]).join("");
|
||||
}
|
||||
return slugArray;
|
||||
|
|
@ -71,8 +66,7 @@ function trimUrlSlugArray(slugArray) {
|
|||
function getNumLists(sheetData) {
|
||||
var colIndexDataViewUrl = getColIndex(sData, "viewUrl");
|
||||
var colRangeDataViewUrl = sheetData.getRange(colIndexDataViewUrl + "2:" + colIndexDataViewUrl);
|
||||
for (var i = 1,
|
||||
var colRangeDataViewUrlLength = colRangeDataViewUrl.getNumRows(); i <= colRangeDataViewUrlLength; i++) {
|
||||
for (var i = 1, colRangeDataViewUrlLength = colRangeDataViewUrl.getNumRows(); i <= colRangeDataViewUrlLength; i++) {
|
||||
if (!colRangeDataViewUrl.getCell(i, 1).getValue()) {
|
||||
return i - 1;
|
||||
}
|
||||
|
|
@ -94,8 +88,7 @@ function moveColumn(sheet, iniCol, finCol) {
|
|||
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,
|
||||
var dataLength = data.length; row < dataLength; row++) {
|
||||
for (var row = 0, dataLength = data.length; row < dataLength; row++) {
|
||||
var temp = data[row].splice(from, 1);
|
||||
data[row].splice(to, 0, temp[0]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue