Changeset - 1ba04372cbe3
[Not reviewed]
0 1 0
Sarang Bharadwaj - 13 years ago 2012-05-29 14:32:47
sarang.bh@gmail.com
Added code to fetch user timeline
1 file changed with 32 insertions and 9 deletions:
0 comments (0 inline, 0 general)
backends/twitter/main.cpp
Show inline comments
 
@@ -105,17 +105,19 @@ class TwitterPlugin : public NetworkPlugin {
 
				std::string port = out.str();
 

	
 
				std::string puser = CONFIG_STRING(config,"proxy.user");
 
				std::string ppasswd = CONFIG_STRING(config,"proxy.password");
 

	
 
				LOG4CXX_INFO(logger, ip << " " << port << " " << puser << " " << ppasswd)
 

	
 
				sessions[user]->setProxyServerIp(ip);
 
		        sessions[user]->setProxyServerPort(port);
 
		        sessions[user]->setProxyUserName(puser);
 
		        sessions[user]->setProxyPassword(ppasswd);
 
				
 
				if(ip != "localhost" && port != "0") {
 
					sessions[user]->setProxyServerIp(ip);
 
		        	sessions[user]->setProxyServerPort(port);
 
		        	sessions[user]->setProxyUserName(puser);
 
		        	sessions[user]->setProxyPassword(ppasswd);
 
				}
 
			}
 

	
 
			connectionState[user] = NEW;			
 
			sessions[user]->setTwitterUsername(username);
 
			sessions[user]->setTwitterPassword(passwd); 
 
			sessions[user]->getOAuth().setConsumerKey(consumerKey);
 
@@ -170,19 +172,22 @@ class TwitterPlugin : public NetworkPlugin {
 
				std::string data = message.substr(message.find(':') + 1);
 
				
 
				handleMessage(user, "twitter-account", cmd + " " + data);
 

	
 
				if(cmd == "pin") {
 
					sessions[user]->getOAuth().setOAuthPin( data );
 
					sessions[user]->oAuthAccessToken();
 
					if (sessions[user]->oAuthAccessToken() == false) {
 
						LOG4CXX_ERROR(logger, "Error while exchanging PIN with AcessToken!")
 
						handleLogoutRequest(user, "");
 
						return;
 
					}
 
					
 
					std::string OAuthAccessTokenKey, OAuthAccessTokenSecret;
 
					sessions[user]->getOAuth().getOAuthTokenKey( OAuthAccessTokenKey );
 
					sessions[user]->getOAuth().getOAuthTokenSecret( OAuthAccessTokenSecret );
 

	
 

	
 
					//db->insert(UserData(user, OAuthAccessTokenKey, OAuthAccessTokenSecret));
 
					//registeredUsers.insert(user);
 
					UserInfo info;
 

	
 
				   	if(storagebackend->getUser(user, info) == false) {
 
						LOG4CXX_ERROR(logger, "Didn't find entry for " << user << " in the database!")
 
@@ -203,21 +208,39 @@ class TwitterPlugin : public NetworkPlugin {
 
						return;
 
					}
 

	
 
					std::string replyMsg; 
 
					if( sessions[user]->statusUpdate( data ) ) {
 
						sessions[user]->getLastWebResponse( replyMsg );
 
						LOG4CXX_INFO(logger, "twitterClient:: twitCurl::statusUpdate web response: " << replyMsg );
 
						LOG4CXX_INFO(logger, "twitCurl:statusUpdate web response: " << replyMsg );
 
					}
 
					else {
 
						sessions[user]->getLastCurlError( replyMsg );
 
						LOG4CXX_INFO(logger, "twitterClient:: twitCurl::statusUpdate error: " << replyMsg );
 
						LOG4CXX_INFO(logger, "twitCurl::statusUpdate error: " << replyMsg );
 
					}
 
					
 
					LOG4CXX_INFO(logger, "Updated status for " << user << ": " << data);
 
				}
 

	
 
				if(cmd == "#timeline") {
 
					if(connectionState[user] != CONNECTED) {
 
						LOG4CXX_ERROR(logger, "Trying to update status for " << user << " when not connected!");
 
						return;
 
					}
 
					
 
					std::string replyMsg; 
 
					if( sessions[user]->timelinePublicGet() ) {
 
						sessions[user]->getLastWebResponse( replyMsg );
 
						LOG4CXX_INFO(logger, "twitCurl::timeline web response: " << replyMsg );
 
						handleMessage(user, "twitter-account", replyMsg);
 
					} else {
 
						sessions[user]->getLastCurlError( replyMsg );
 
						LOG4CXX_INFO(logger, "twitCurl::timeline error: " << replyMsg );
 
					}
 

	
 
				}
 
			}
 
		}
 

	
 
		void handleBuddyUpdatedRequest(const std::string &user, const std::string &buddyName, const std::string &alias, const std::vector<std::string> &groups) {
 
			LOG4CXX_INFO(logger, user << ": Added buddy " << buddyName << ".");
 
			handleBuddyChanged(user, buddyName, alias, groups, pbnetwork::STATUS_ONLINE);
0 comments (0 inline, 0 general)