script/utils/tweet_twitter_user.py
changeset 893 10a19dd4e1c9
parent 888 6fc6637d8403
child 1496 184372ec27e2
--- a/script/utils/tweet_twitter_user.py	Tue May 07 18:28:26 2013 +0200
+++ b/script/utils/tweet_twitter_user.py	Fri May 10 13:34:40 2013 +0200
@@ -38,6 +38,7 @@
     parser.add_option("-t", dest="token_filename", metavar="TOKEN_FILENAME", default=".oauth_token",
                       help="Token file name")
     parser.add_option("-S", dest="simulate", metavar="SIMULATE", default=False, action="store_true", help="Simulate call to twitter. Do not change the database")
+    parser.add_option("--direct-message", dest="direct_message", metavar="DIRECT_MESSAGE", default=False, action="store_true", help="send direc t message to the user, else create a status update mentioning the user (@username)")
     parser.add_option("-f", dest="force", metavar="FORCE", default=False, action="store_true", help="force sending message to all user even if it has already been sent")
 
 
@@ -103,16 +104,25 @@
                 
             query_res = query.all()
             
-            acess_token_key, access_token_secret = get_oauth_token(options.token_filename, application_name=APPLICATION_NAME, consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET)
+            acess_token_key, access_token_secret = get_oauth_token(consumer_key=CONSUMER_KEY, consumer_secret=CONSUMER_SECRET, token_file_path=options.token_filename, application_name=APPLICATION_NAME)
             t = twitter.Twitter(auth=twitter.OAuth(acess_token_key, access_token_secret, CONSUMER_KEY, CONSUMER_SECRET))
 
             for user in query_res:
                 screen_name = user.screen_name
                 
-                message = u"@%s: %s" % (screen_name, base_message)
-                get_logger().debug("new status : " + message) #@UndefinedVariable
+                if options.direct_message:
+                    message = base_message
+                else:
+                    message = u"@%s: %s" % (screen_name, base_message)
+
+                print("new message : " + message)
+                get_logger().debug("new message : " + message) #@UndefinedVariable
+
                 if not options.simulate:
-                    t.statuses.update(status=message)
+                    if options.direct_message:
+                        t.direct_messages.new(user_id=user.id, screen_name=screen_name, text=message)
+                    else:
+                        t.statuses.update(status=message)
                     user_message = UserMessage(user_id=user.id, message_id=message_obj.id)
                     session.add(user_message)
                     session.flush()