User:Technical 13/SandBox/getPageViews.js: Difference between revisions

Content deleted Content added
Technical 13 (talk | contribs)
fix some links
Technical 13 (talk | contribs)
Okay, now I just need to deal with the synchronous/asynchronous issue...
Line 1:
// TODO -- make a [[User:AzaToth/morebits.js]] version of this input sequence
var lang = /*promptmw.config.get("Get results in what language?wgPageContentLanguage", */"en"/*)*/;
if(typeof(lang) === "undefined"){
var pageNames = /*prompt("Page names to get results for?", /*"Augustus Pablo|Avian Java|Bentley Java|Chrysler Java|Coffee|Coffee County, Alabama|HMS Java|Java|Java, Alabama|Java, New York|Java, Ohio|Java, South Dakota|Java, São Tomé and Príncipe|Java, Virginia|Java-eiland|JavaScript|Java (Martin Mystère)|Java (band)|Java (board game)|Java (chicken)|Java (cigarette)|Java (composition)|Java (dance)|Java (programming language)|Java (software platform)|Java (town)|Java District|Java Joel|Java Man|Java Road|Java Sea|Java Trench|Java class cruiser|Java coffee|Java virtual machine|Javanese (disambiguation)|Javanese alphabet|List of The Tribe characters|Metamorpho|SS Java|USS Java (1815)"*/"foo"/*)*/;
lang = prompt("Get results in what language?", "en");
var relatedTopic = mw.config.get("wgTitle").substr(0, mw.config.get("wgTitle").indexOf("/"));
if(typeof(relatedTopic) === "undefined"){
relatedTopic = prompt("What are these pages related to?", "{{PAGENAME}}");
}
var pageNames = /*prompt("Page names to get results for?", /*"Augustus Pablo|Avian Java|Bentley Java|Chrysler Java|Coffee|Coffee County, Alabama|HMS Java|Java|Java, Alabama|Java, New York|Java, Ohio|Java, South Dakota|Java, São Tomé and Príncipe|Java, Virginia|Java-eiland|JavaScript|Java (Martin Mystère)|Java (band)|Java (board game)|Java (chicken)|Java (cigarette)|Java (composition)|Java (dance)|Java (programming language)|Java (software platform)|Java (town)|Java District|Java Joel|Java Man|Java Road|Java Sea|Java Trench|Java class cruiser|Java coffee|Java virtual machine|Javanese (disambiguation)|Javanese alphabet|List of The Tribe characters|Metamorpho|SS Java|USS Java (1815)"*/"foo"/*)*/;
if (pageNames.indexOf("|") === -1) {
pageNames = new Array(pageNames);
Line 7 ⟶ 14:
pageNames = pageNames.split("|");
}
var pageName = 0;
var rangeToGet = new Array(30, 60, 90);
var visitRank = 0;
var pageHits = 0;
var table = "{| class=\"collapsible collapsed sortable\" width=\"95%\" border=\"1\"";
var hits30 = 0;
table += "\n|-\n! colspan=\"5\"| Pageview stats for pages related to {{{PAGENAME}}}" + relatedTopic;
var hits60 = 0;
table += "\n|-\n! Page Name !! width=\"155%\"| Hits in 30 daysRank !! width=\"15%\"| Hits in 6030 days !! width=\"15%\"| Hits in 9060 days !! width=\"515%\"| RankHits in 90 days";
var hits90 = 0;
for(var pageName in pageNames){
var fullResults = [];
table += "\n|- style=\"text-align: center;\"";
 
table += "\n| style=\"text-align: left; font-weight: bold;\" | [[" + pageNames[pageName] + "]] ";
function displayAnswer(){
// for(var daysToGet in rangeToGet){
var table = "{| class=\"collapsible collapsed sortable\" width=\"95%\" border=\"1\"";
table += "\n|-\n! colspan=\"5\"| Pageview stats for pages related to {{{PAGENAME}}}";
table += "\n|-\n! Page Name !! width=\"15%\"| Hits in 30 days !! width=\"15%\"| Hits in 60 days !! width=\"15%\"| Hits in 90 days !! width=\"5%\"| Rank";
for(var pageName in pageNames){
table += "\n|- style=\"text-align: center;\"";
table += "\n| style=\"text-align: left; font-weight: bold;\" | [[" + pageNames[pageName] + "]] ";
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest30/" + encodeURIComponent(pageNames[pageName]) + "|name=" + fullResults[pageName].hits30 + "}} ";
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest60/" + encodeURIComponent(pageNames[pageName]) + "|name=" + fullResults[pageName].hits60 + "}} ";
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest90/" + encodeURIComponent(pageNames[pageName]) + "|name=" + fullResults[pageName].hits90 + "}} ";
table += "|| " + fullResults[pageName].rank;
}
table += "\n|}";
alert(table);
 
/* temp set to only pull hits30 for debugging */
var daysToGet = 0;
var rangeToGet = [];
rangeToGet[daysToGet] = 30;
/* temp set to only pull [[foo]] for debugging */
var pageName = 0;
 
//for(var pageName in pageNames){
// for(var daysToGet in rangeToGet){
console.info("Attempting to get data from: http://stats.grok.se/json/" + lang + "/latest" + rangeToGet[daysToGet] + "/" + encodeURIComponent(pageNames[pageName]));
$.ajax({
url: 'http://stats.grok.se/jsonjsonp/' + lang + '/latest' + rangeToGet[daysToGet] + '/' + encodeURIComponent(pageNames[pageName]),
dataType: 'jsonjsonp',
jsonpCallback: 'pageviewsCallback',
success: function(getStats){
for(var date in getStats.daily_views){
pageHits += getStats.daily_views[date];
}
console.log("Going to try to assign " + pageHits + " to hits" + rangeToGet[daysToGet]);
switch(rangeToGet[daysToGet]){
case 30:
visitRankif(getStats.rank =< 1 || getStats.rank; > 1000){
hits30 table += pageHits"|| Not in the top 1,000";
} else {
table += "|| " + fullResults[pageName]getStats.rank;
}
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest30/" + encodeURIComponent(pageNames[pageName]) + "|name={{SUBST:formatnumber:" + fullResults[pageName].hits30pageHits + "}}}} ";
break;
case 60:
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest60/" + encodeURIComponent(pageNames[pageName]) + "|name={{SUBST:formatnumber:" + fullResults[pageName].hits60pageHits + "}}}} ";
hits60 = pageHits;
break;
case 90:
table += "|| {{Plainlinks|url=http://stats.grok.se/" + lang + "/latest90/" + encodeURIComponent(pageNames[pageName]) + "|name={{SUBST:formatnumber:" + fullResults[pageName].hits90pageHits + "}}}} ";
hits90 = pageHits;
break;
default:
Line 66 ⟶ 53:
},
fail: function(errorMsg){
alert("Failed to get results for: http://stats.grok.se/jsonjsonp/" + lang + "/latest" + rangeToGet[daysToGet] + "/" + encodeURIComponent(pageNames[pageName]) + "\nInstead received:" + errorMsg);
}
});
// }
console.warn("Setting fullResults[" + pageName + "] = {\"rank\": " + visitRank + ", \"hits30\": " + hits30 + ", \"hits60\": " + hits60 + ", \"hits90\": " + hits90 + "};");
fullResults[pageName] = {"rank": visitRank, "hits30": hits30, "hits60": hits60, "hits90": hits90};
console.error("Results are %o", fullResults[pageName]);
visitRank = 0;
hits30 = 0;
hits60 = 0;
hits90 = 0;
if(pageName === (pageNames.length -1)){
table += "\n|}";
displayAnswer();
alert(table);
}
//}