bug fixes, fixed major Piwik downloads api bug

This commit is contained in:
Collin M. Barrett 2017-02-08 16:07:04 -06:00
parent 52abeac809
commit 7dabf8d1da
4 changed files with 29 additions and 32 deletions

View file

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

View file

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

View file

@ -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>";

View file

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