i coder i coder - 3 months ago 17
Python Question

error with python thread

I try to use

thread
in my script but i get this error:


Unhandled exception in thread started by sys.excepthook is missing
lost sys.stderr


My script:

# -*- coding: utf-8 -*-

import tweepy
import thread

consumer_key = ""
consumer_secret = ""
access_key = ""
access_secret = ""


def deleteThread(api, objectId):
try:
api.destroy_status(objectId)
print "Deleted:", objectId
except:
print "Failed to delete:", objectId

def oauth_login(consumer_key, consumer_secret):
"""Authenticate with twitter using OAuth"""

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()

verify_code = raw_input("Authenticate at %s and then enter you verification code here > " % auth_url)
auth.get_access_token(verify_code)

return tweepy.API(auth)

def batch_delete(api):
print "You are about to Delete all tweets from the account @%s." % api.verify_credentials().screen_name
print "Does this sound ok? There is no undo! Type yes to carry out this action."
do_delete = raw_input("> ")
if do_delete.lower() == 'yes':
for status in tweepy.Cursor(api.user_timeline).items():
try:
thread.start_new_thread( deleteThread, (api, status.id, ) )
except:
print "Failed to delete:", status.id

if __name__ == "__main__":
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
print "Authenticated as: %s" % api.me().screen_name

batch_delete(api)


How to solve this problem?

Answer

Update

I just solve my problem by adding time.sleep(1) before

thread.start_new_thread( deleteThread, (api, status.id, ) )

Comments