Twitter Battle |
---|
require("Rook") library("ROAuth") library("twitteR") setwd("C:/Blag/R_Scripts/Important_Scripts") load("credentials.RData") Get_Percentages<-function(p_one,p_two,flag){ if(p_one > p_two){ if(flag == 0){ OneFollowPercent<-100 TwoFollowPercent<-round((p_two * 100) / p_one) }else{ TwoFollowPercent<-100 - (round((p_two * 100) / p_one)) if(TwoFollowPercent <= 49){ OneFollowPercent<-50 + TwoFollowPercent TwoFollowPercent<-100 - OneFollowPercent flag<-0 }else{ OneFollowPercent<-50 + TwoFollowPercent TwoFollowPercent<-100 - TwoFollowPercent TwoFollowPercent<-100 - round((round(TwoFollowPercent * 100) / OneFollowPercent)) OneFollowPercent<-TwoFollowPercent TwoFollowPercent<-100 - OneFollowPercent flag<-1 } } } if(p_one < p_two){ if(flag == 0){ OneFollowPercent<-round((p_one * 100) / p_two) TwoFollowPercent<-100 }else{ OneFollowPercent<-100 - (round((p_one * 100) / p_two)) if(OneFollowPercent <= 49){ TwoFollowPercent<-50 + OneFollowPercent OneFollowPercent<-100 - TwoFollowPercent flag<-0 }else{ TwoFollowPercent<-50 + OneFollowPercent OneFollowPercent<-100 - OneFollowPercent OneFollowPercent<-100 - round((round(OneFollowPercent * 100) / TwoFollowPercent)) TwoFollowPercent<-OneFollowPercent OneFollowPercent<-100 - TwoFollowPercent flag<-1 } } } if(p_one == p_two){ OneFollowPercent<- 50 TwoFollowPercent<- 50 } percents<-c(OneFollowPercent,TwoFollowPercent,flag) return(percents) } newapp<-function(env){ req<-Rook::Request$new(env) res<-Rook::Response$new() res$write('<form method="POST">\n') res$write('Enter your Twitter username: <input type="text" name="YourUserName">') res$write('</BR>') res$write('Enter your his/her Twitter username: <input type="text" name="HisHerUserName">') res$write('</BR>') res$write('<input type="submit" name="Start the Battle!">') res$write('</form>') if (!is.null(req$POST())) { YourUserName = paste("@",req$POST()[["YourUserName"]],sep="") HisHerUserName = paste("@",req$POST()[["HisHerUserName"]],sep="") reg<-registerTwitterOAuth(credentials) GetYourUser<-getUser(YourUserName,cainfo="cacert.pem") GetHisHerUser<-getUser(HisHerUserName,cainfo="cacert.pem") GetYourFollowers<-GetYourUser$followersCount GetYourLists<-GetYourUser$listedCount GetHisHerFollowers<-GetHisHerUser$followersCount GetHisHerLists<-GetHisHerUser$listedCount FollowPercents<-Get_Percentages(GetYourFollowers,GetHisHerFollowers,0) ListPercents<-Get_Percentages(GetYourLists,GetHisHerLists,0) YourPercents<-FollowPercents[1] + ListPercents[1] HisHerPercents<-FollowPercents[2] + ListPercents[2] FinalPercents<-Get_Percentages(YourPercents,HisHerPercents,1) YourPercents<-FinalPercents[1] HisHerPercents<-FinalPercents[2] if(FinalPercents[3] == 0){ DiffPercent<-abs(YourPercents - 50) }else{ DiffPercent<-FinalPercents[1] } if(YourPercents > HisHerPercents){ message<-paste(req$POST()[["YourUserName"]],"is",DiffPercent, " % more important on Twitter than",req$POST()[["HisHerUserName"]],sep=" ") res$write(paste('<H1>',message,'</H1>')) } if(YourPercents < HisHerPercents){ message<-paste(req$POST()[["YourUserName"]],"is",DiffPercent, " % less important on Twitter than",req$POST()[["HisHerUserName"]],sep=" ") res$write(paste('<H1>',message,'</H1>')) } if(YourPercents == HisHerPercents){ message<-paste(req$POST()[["YourUserName"]], "is equally important on Twitter as",req$POST()[["HisHerUserName"]],sep=" ") res$write(paste('<H1>',message,'</H1>')) } pieValues<-c(YourPercents,HisHerPercents) pieNames<-c(paste(req$POST()[["YourUserName"]],YourPercents,"%"), paste(req$POST()[["HisHerUserName"]],HisHerPercents,"%")) png("Twitter_Battle.png",width=1000,height=700) pie(pieValues,labels=pieNames,main="Twitter Battle") dev.off() res$write("<div align='center'>") res$write(paste("<img src='", server$full_url("pic"), "/", "Twitter_Battle.png'", "/>", sep = "")) res$write("</div>") } res$finish() } server = Rhttpd$new() server$add(app = newapp, name = "Twitter_Battle") server$add(app = File$new("C:/Blag/R_Scripts/Important_Scripts"), name = "pic") server$start() server$browse("Twitter_Battle") |
When we execute it...we're going to have some interesting results...
Have fun with it -;)
Greetings,
Blag.
No hay comentarios:
Publicar un comentario