From 3fe20352e8b55fb97ded49324dbcdd1dd1b6b5ec Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Wed, 1 Feb 2017 09:14:04 -0600 Subject: [PATCH] FilScore first commit --- gs/type/RefreshData.gs | 75 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 4 deletions(-) diff --git a/gs/type/RefreshData.gs b/gs/type/RefreshData.gs index b504e1b93..b776a4bce 100644 --- a/gs/type/RefreshData.gs +++ b/gs/type/RefreshData.gs @@ -421,7 +421,7 @@ function refreshHttpResponses(triggerNum) { var sheetData = ss.getSheetByName(sheetNameData); var sheetNameStatuses = typeSheetPrefix[ss.getName()] + "UrlStatuses"; var sheetStatuses = ss.getSheetByName(sheetNameStatuses); - copyListNames(sheetData, sheetStatuses); + copyListNamesToStatuses(sheetData, sheetStatuses); var listDataMax = getNumLists(sheetData) var urlHeaders = findUrlColumnHeaders(sheetData); if (urlHeaders.length >= triggerNum) { @@ -439,18 +439,18 @@ function refreshHttpResponses(triggerNum) { var urlStatus = UrlFetchApp.fetch(url).getResponseCode(); rangeStatus.setValue(urlStatus); if (urlStatus != 200) { - MailApp.sendEmail("cb+flnotice" + "@collinmbarrett.com", urlStatus + ": " + url, urlStatus + ": " + url); + MailApp.sendEmail(noticeEmailAddress, urlStatus + ": " + url, urlStatus + ": " + url); } } catch (err) { rangeStatus.setValue(err.message); - MailApp.sendEmail("cb+flnotice" + "@collinmbarrett.com", "Error: " + url, "Error: " + url + "
" + err.message); + MailApp.sendEmail(noticeEmailAddress, "Error: " + url, "Error: " + url + "
" + err.message); } } } } } -function copyListNames(sheetData, sheetStatuses) { +function copyListNamesToStatuses(sheetData, sheetStatuses) { var sourceRange = sheetData.getRange("A1:A"); var targetRange = sheetStatuses.getRange("A1:A"); targetRange.clearContent(); @@ -465,4 +465,71 @@ function getNumLists(sheetData) { return i - 1; } } +} + +function refreshScores() { + 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(0); + } + } + } + var colHeader = findColumnHeader(sheetScores, "score"); + var colHeaderVisitors = 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("=ROUND((100-0)/(MAX($" + colHeaderVisitors + "$2:$" + colHeaderVisitors + ")-MIN($" + colHeaderVisitors + "$2:$" + colHeaderVisitors + "))*($" + colHeaderVisitors + i + "-MAX($" + colHeaderVisitors + "$2:$" + colHeaderVisitors + "))+100)"); + } + var data = rangeFull.getDisplayValues(); + 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, "Score"); + var sourceRangeListNames = sheetScores.getRange(colHeaderSource + "2:" + colHeaderSource); + var targetRangeListNames = sheetPublic.getRange(colHeaderTarget + "2:" + colHeaderTarget); + targetRangeListNames.clearContent(); + sourceRangeListNames.copyTo(targetRangeListNames); } \ No newline at end of file