def refresh_posts(posts):
if not posts:
return posts
t = get_twitter_for_acc(posts[0].author)
if not t:
return
try:
tweets = t.statuses.lookup(
_id=",".join((post.twitter_id for post in posts)),
trim_user=True, tweet_mode='extended')
except (URLError, TwitterError) as e:
handle_error(e)
refreshed_posts = list()
for post in posts:
tweet = next(
(tweet for tweet in tweets if tweet['id_str'] == post.twitter_id),
None)
if not tweet:
db.session.delete(post)
else:
post = db.session.merge(post_from_api_tweet_object(tweet))
refreshed_posts.append(post)
return refreshed_posts
评论列表
文章目录