def twitter_1(id): log.write(10, id, 1) with closing(database.session()) as session: handle = session.query(models.handle).get(id) log.write(10, handle.screen_name, 1) tweets = [] for tweet in twitter.get_tweets('from:%(screen_name)s' % { 'screen_name': handle.screen_name, }): tweets.append(tweet) for tweet in twitter.get_tweets('@%(screen_name)s' % { 'screen_name': handle.screen_name, }): tweets.append(tweet) seven_days_ago = datetime.now() - timedelta(days=7) for tweet in tweets: if tweet['text'].startswith('@'): continue if tweet['text'].startswith('I posted'): continue if utilities.is_retweet(tweet['text']): continue if tweet['created_at'] <= seven_days_ago: continue instance = session.query(models.tweet).get(tweet['id']) if not instance: instance = models.tweet(**{ 'id': tweet['id'], }) instance.created_at = tweet['created_at'] instance.favorites = tweet['favorites'] instance.media = tweet['media'] instance.retweets = tweet['retweets'] instance.text = tweet['text'] instance.user_name = tweet['user_name'] instance.user_profile_image_url = tweet['user_profile_image_url'] instance.user_screen_name = tweet['user_screen_name'] session.add(instance) session.commit() session.refresh(handle) log.write(10, len(tweets), 2)
def twitter_2(): pprint(twitter.get_tweets('from:NashFoodTrucks'))