def fetch_tweets_and_send_emails() -> None:
logging.info('-- starting fetching tweets and sending emails')
auth = tweepy.OAuthHandler(Settings.TWITTER_CONSUMER_KEY, Settings.TWITTER_CONSUMER_SECRET)
auth.set_access_token(Settings.TWITTER_ACCESS_TOKEN, Settings.TWITTER_ACCESS_TOKEN_SECRET)
twitter_api = tweepy.API(auth)
with smtp_server() as server:
for list_slug in LIST_SLUGS:
last_tweet_id = load_last_tweet_id(list_slug)
if last_tweet_id is None:
logging.warning('no last tweet id was found for list %s' % list_slug)
tweets = get_tweets(twitter_api, list_slug=list_slug, last_tweet_id=last_tweet_id)
for tweet in reversed(tweets):
kwargs = parse_tweet(tweet)
kwargs['msg_subject'] = '[{list_slug}] {subject}'.format(list_slug=list_slug,
subject=kwargs['msg_subject'])
send_email(server, **kwargs)
save_last_tweet_id(last_id=tweet.id_str, list_slug=list_slug)
评论列表
文章目录