script/utils/tweet_twitter_user.py
changeset 693 2ef837069108
parent 529 99215db3da25
child 888 6fc6637d8403
equal deleted inserted replaced
692:51072e5e6ea9 693:2ef837069108
    36     parser.add_option("-w", "--password", dest="password",
    36     parser.add_option("-w", "--password", dest="password",
    37                       help="password", metavar="PASSWORD")    
    37                       help="password", metavar="PASSWORD")    
    38     parser.add_option("-t", dest="token_filename", metavar="TOKEN_FILENAME", default=".oauth_token",
    38     parser.add_option("-t", dest="token_filename", metavar="TOKEN_FILENAME", default=".oauth_token",
    39                       help="Token file name")
    39                       help="Token file name")
    40     parser.add_option("-S", dest="simulate", metavar="SIMULATE", default=False, action="store_true", help="Simulate call to twitter. Do not change the database")
    40     parser.add_option("-S", dest="simulate", metavar="SIMULATE", default=False, action="store_true", help="Simulate call to twitter. Do not change the database")
       
    41     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)")
    41     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")
    42     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")
    42 
    43 
    43 
    44 
    44     set_logging_options(parser)
    45     set_logging_options(parser)
    45     
    46     
   107             t = twitter.Twitter(auth=twitter.OAuth(acess_token_key, access_token_secret, CONSUMER_KEY, CONSUMER_SECRET))
   108             t = twitter.Twitter(auth=twitter.OAuth(acess_token_key, access_token_secret, CONSUMER_KEY, CONSUMER_SECRET))
   108 
   109 
   109             for user in query_res:
   110             for user in query_res:
   110                 screen_name = user.screen_name
   111                 screen_name = user.screen_name
   111                 
   112                 
   112                 message = u"@%s: %s" % (screen_name, base_message)
   113                 if options.direct_message:
   113                 get_logger().debug("new status : " + message) #@UndefinedVariable
   114                     message = base_message
       
   115                 else:
       
   116                     message = u"@%s: %s" % (screen_name, base_message)
       
   117 
       
   118                 print("new message : " + message)
       
   119                 get_logger().debug("new message : " + message) #@UndefinedVariable
       
   120 
   114                 if not options.simulate:
   121                 if not options.simulate:
   115                     t.statuses.update(status=message)
   122                     if options.direct_message:
       
   123                         t.direct_messages.new(user_id=user.id, screen_name=screen_name, text=message)
       
   124                     else:
       
   125                         t.statuses.update(status=message)
   116                     user_message = UserMessage(user_id=user.id, message_id=message_obj.id)
   126                     user_message = UserMessage(user_id=user.id, message_id=message_obj.id)
   117                     session.add(user_message)
   127                     session.add(user_message)
   118                     session.flush()
   128                     session.flush()
   119         finally:
   129         finally:
   120             # if message created and simulate, do not
   130             # if message created and simulate, do not