def save_user_followers(user): try: c = Cursor(api.followers,user.user_id) except TweepError: print "tweep breaks!" print TweepError.message while(True): try: print 'taking a rest before move to next page' sleep(10) page = c.pages().next() print "start a new page of user ", user.scrn_name, \ 'page', c.pages().count except TweepError: print "tweep breaks!" print TweepError.message continue except StopIteration: print "Move to next unscanned" break for tweepy_user in page: print "follower -----", tweepy_user.screen_name, "----- found......" if TwitterUser.get_by_id(tweepy_user.id) or \ is_in_no_chn(tweepy_user.id): print 'ALREADY in DB!!, skip' continue try: if not tweepy_user.protected or \ (tweepy_user.protected and tweepy_user.following): if is_chn(tweepy_user): print "and speaks Chinese! Saving...." TwitterUser.save_tweepy_user(tweepy_user) else: save_non_chn(tweepy_user.id) print "pitty, s/he is not Chinese Speaker, next..." continue except TweepError: print "tweep breaks!" print TweepError.message try: print "the remaining hit is ", \ api.rate_limit_status()['remaining_hits'] except TweepError: print "tweep breaks!" print TweepError.message page =[] user.update_scanned()
def init(): db.init() first_user = api.me() TwitterUser.save_tweepy_user(first_user)