script/rest/search_twitter.py
changeset 914 43876221071f
parent 891 8628c590f608
child 916 5dce89631093
--- a/script/rest/search_twitter.py	Fri May 31 11:20:24 2013 +0200
+++ b/script/rest/search_twitter.py	Sat Jun 01 00:20:41 2013 +0200
@@ -1,4 +1,4 @@
-from iri_tweet import models, processor
+from iri_tweet import models, processor, utils
 from optparse import OptionParser
 import anyjson
 import re
@@ -21,16 +21,27 @@
                       help="Result per page")
     parser.add_option("-t", dest="token_filename", metavar="TOKEN_FILENAME", default=".oauth_token",
                       help="Token file name")
+    parser.add_argument("-k", "--key", dest="consumer_key",
+                        help="Twitter consumer key", metavar="CONSUMER_KEY", required=True)
+    parser.add_argument("-s", "--secret", dest="consumer_secret",
+                        help="Twitter consumer secret", metavar="CONSUMER_SECRET", required=True)
     
+    return parser.parse_args()
 
-    return parser.parse_args()
+def get_auth(options, access_token):
+    consumer_key = options.consumer_key
+    consumer_secret = options.consumer_secret
+    auth = twitter.OAuth(token=access_token[0], token_secret=access_token[1], consumer_key=consumer_key, consumer_secret=consumer_secret)
+    return auth
 
 if __name__ == "__main__":
 
     (options, args) = get_option()
+    
+    access_token = utils.get_oauth_token(consumer_key=options.consumer_key, consumer_secret=options.consumer_secret, token_file_path=options.token_filename)
+    auth = get_auth(options, access_token)
 
-    t = twitter.Twitter(domain="search.twitter.com")
-    t.secure = False
+    t = twitter.Twitter(domain="api.twitter.com",api_version="1.1",secure=True, auth=auth)
     
     conn_str = args[0].strip()
     if not re.match("^\w+://.+", conn_str):
@@ -51,7 +62,7 @@
         print options.query
         
         while page <= int(1500/int(options.rpp)) and  ( results is None  or len(results) > 0):
-            results = t.search(q=options.query, rpp=options.rpp, page=page, include_entities=True)
+            results = t.search.tweets(q=options.query, rpp=options.rpp, page=page, include_entities=True)
             
             for tweet in results["results"]:
                 print tweet