def process_2(): with closing(database.session()) as session: session.query( models.tweet, ).filter( models.tweet.created_at <= datetime.now() - timedelta(days=7), ).delete( synchronize_session=False, ) session.commit()
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 process_1(): with closing(database.session()) as session: for handle in session.query(models.handle).order_by('id ASC').all(): twitter_1.delay(handle.id)
def before_request(): g.mysql = database.session() g.year = datetime.now().strftime('%Y') session.permanent = True