script/stream/recorder_tweetstream.py
changeset 464 b9243ade95e2
parent 425 b346fd32fc34
child 528 7fb5a7b0d35c
--- a/script/stream/recorder_tweetstream.py	Tue Dec 20 16:26:34 2011 +0100
+++ b/script/stream/recorder_tweetstream.py	Sat Jan 07 16:12:44 2012 +0100
@@ -229,7 +229,7 @@
             self.stop_event.set()
 
 
-def process_tweet(tweet, source_id, session, access_token, logger):
+def process_tweet(tweet, source_id, session, access_token, twitter_query_user, logger):
     try:
         tweet_obj = anyjson.deserialize(tweet)
         if 'text' not in tweet_obj:
@@ -241,7 +241,7 @@
             screen_name = tweet_obj['user']['screen_name']
         logger.info(u"Process_tweet from %s : %s" % (screen_name, tweet_obj['text']))
         logger.debug(u"Process_tweet :" + repr(tweet))
-        processor = utils.TwitterProcessor(tweet_obj, tweet, source_id, session, access_token, None)
+        processor = utils.TwitterProcessor(tweet_obj, tweet, source_id, session, access_token, None, twitter_query_user)
         processor.process()
     except Exception as e:
         message = u"Error %s processing tweet %s" % (repr(e), tweet)
@@ -263,6 +263,7 @@
     
     def __init__(self, session_maker, queue, options, access_token, stop_event, logger_queue, parent_pid):
         super(TweetProcess, self).__init__(session_maker, queue, options, access_token, stop_event, logger_queue, parent_pid)
+        self.twitter_query_user = options.twitter_query_user
 
 
     def do_run(self):
@@ -277,7 +278,7 @@
                 except Exception as e:
                     self.logger.debug('Process tweet exception in loop : ' + repr(e))
                     continue
-                process_tweet(tweet_txt, source_id, session, self.access_token, self.logger)
+                process_tweet(tweet_txt, source_id, session, self.access_token, self.twitter_query_user, self.logger)
                 session.commit()
         finally:
             session.rollback()
@@ -345,6 +346,9 @@
                       help="number of process.\nIf 0, only the lefovers of the database are processed.\nIf 1, no postprocessing is done on the tweets.", metavar="PROCESS_NB", default=2, type='int')
     parser.add_option("--url", dest="url",
                       help="The twitter url to connect to.", metavar="URL", default=tweetstream.FilterStream.url)
+    parser.add_option("--query-user", dest="twitter_query_user", action="store_true",
+                      help="Query twitter for users", default=False, metavar="QUERY_USER")
+
 
 
     utils.set_logging_options(parser)