script/utils/merge_tweets.py
changeset 888 6fc6637d8403
parent 886 1e110b03ae96
child 957 e4d0094f097b
--- a/script/utils/merge_tweets.py	Sun Apr 21 21:55:06 2013 +0200
+++ b/script/utils/merge_tweets.py	Tue May 07 18:57:54 2013 +0200
@@ -1,12 +1,15 @@
 #from models import setup_database
 from iri_tweet.models import setup_database, TweetSource, Tweet, TweetLog
-from iri_tweet.utils import TwitterProcessor, get_oauth_token, show_progress
+from iri_tweet.processor import TwitterProcessorStatus
+from iri_tweet.utils import get_oauth_token, show_progress
+import anyjson
 import argparse
-import sys
+import codecs
+import logging
 import re
-import anyjson
-import math
-import codecs
+import sys
+
+logger = logging.getLogger(__name__)
 
 def get_option():
     
@@ -16,6 +19,10 @@
                         help="log to file", metavar="LOG", default="stderr")
     parser.add_argument("-v", dest="verbose", action="count",
                         help="verbose", default=0)
+    parser.add_option("-k", "--key", dest="consumer_key",
+                      help="Twitter consumer key", metavar="CONSUMER_KEY")
+    parser.add_option("-s", "--secret", dest="consumer_secret",
+                      help="Twitter consumer secret", metavar="CONSUMER_SECRET")
     parser.add_argument("-q", dest="quiet", action="count",
                         help="quiet", default=0)
     parser.add_argument("--query-user", dest="query_user", action="store_true",
@@ -38,7 +45,7 @@
     
     access_token = None
     if options.query_user:
-        access_token = get_oauth_token(options.token_filename)
+        access_token = get_oauth_token(options.consumer_key, options.consumer_secret, options.token_filename)
     
     #open source
     src_conn_str = options.source[0].strip()
@@ -60,7 +67,7 @@
         session_src = Session_src()
         session_tgt = Session_tgt()
         
-        count_tw_query = Tweet.__table__.count()
+        count_tw_query = Tweet.__table__.count()  # @UndefinedVariable
         
         count_tw = engine_src.scalar(count_tw_query)
         
@@ -83,10 +90,10 @@
                                 
                 tweet_obj = anyjson.deserialize(tweet_source)
                 if 'text' not in tweet_obj:
-                    tweet_log = TweetLog(tweet_source_id=source_id, status=TweetLog.TWEET_STATUS['NOT_TWEET'])
+                    tweet_log = TweetLog(tweet_source_id=tweet.tweet_source.id, status=TweetLog.TWEET_STATUS['NOT_TWEET'])
                     session_tgt.add(tweet_log)
                 else:                
-                    tp = TwitterProcessor(None, tweet_source, None, session_tgt, access_token, options.token_filename, user_query_twitter=options.query_user)
+                    tp = TwitterProcessorStatus(None, tweet_source, None, session_tgt, access_token, options.token_filename, user_query_twitter=options.query_user, logger=logger)
                     tp.process()
                 
                 session_tgt.flush()
@@ -98,9 +105,13 @@
         print u"%d new tweet added" % (added)
         
     finally:
-        session_tgt.close() if session_tgt is not None else None
-        session_src.close() if session_src is not None else None
-        conn_tgt.close() if conn_tgt is not None else None
-        conn_src.close() if conn_src is not None else None
+        if session_tgt is not None:
+            session_tgt.close()
+        if session_src is not None:
+            session_src.close()
+        if conn_tgt is not None:
+            conn_tgt.close()
+        if conn_src is not None:
+            conn_src.close()
         
         
\ No newline at end of file