Advertisement
Guest User

inelegant2

a guest
May 6th, 2010
1,042
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.00 KB | None | 0 0
  1. import urllib2, json
  2.  
  3. STREAM_URL ="http://chirpstream.twitter.com/2b/user.json"
  4. REST_URL = "http://api.twitter.com/1/"
  5.  
  6. class Client:
  7.         def __init__(self):
  8.                 self.friends = []
  9.                 self.buffer = ""
  10.                 self.userid = None
  11.                 password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
  12.                 handler = urllib2.HTTPBasicAuthHandler(password_mgr)
  13.                 opener = urllib2.build_opener(handler, self.on_receive)
  14.                 urllib2.install_opener(opener)
  15.                
  16.         def authenticate(self, username, password):
  17.                 password_mgr.add_password(None, REST_URL + "account/verify_credentials.json", username, password)
  18.                 password_mgr.add_password(None, STREAM_URL, username, password)
  19.                 password_mgr.add_password(None, REST_URL, username, password)
  20.                
  21.                 data = json.load(urlopen(REST_URL + "account/verify_credentials.json"))
  22.                 if "error" in data: return False
  23.                 self.userid = data["id"]
  24.                 return True
  25.  
  26.         def connect(self):
  27.                 urlopen(STREAM_URL, None, 45)
  28.  
  29.         def on_receive(self, data):
  30.                 self.buffer += data
  31.                 if data.endswith("\r\n") and self.buffer.strip():
  32.                         content = json.loads(self.buffer)
  33.                         self.buffer = ""
  34.  
  35.                 if "friends" in content:
  36.                         self.friends = content["friends"]
  37.  
  38.                 elif "text" in content:
  39.                         to = content["in_reply_to_user"]
  40.                         if to and to != self.userid and to not in self.friends: return
  41.                         if to == self.userid: print("(REPLY)"),
  42.                         print (content["user_name"],": ", content["text"])      
  43.                        
  44.  
  45. client = Client()
  46. if client.authenticate("BLKress", "lycos.gsv"):
  47.         client.connect()
  48. else:
  49.         print ("Login credentials are not valid!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement