cfont / ellucian-ethos-twitter-py

This python app subscribes to Ellucian Ethos messages and uses that information in a tweet for all of your followers
BSD 2-Clause "Simplified" License
10 stars 1 forks source link

handle twitter errors better #1

Open cfont opened 5 years ago

cfont commented 5 years ago

when the app receives an error from Twitter after attempting to post a tweet, it seems to have just stopped running.

Received new or updated course section info for Study Skills with Section Code UNV-160-51 Traceback (most recent call last): File "colleague-ethos-twitter.py", line 120, in main() File "colleague-ethos-twitter.py", line 34, in main process_change_notifications(data) File "colleague-ethos-twitter.py", line 58, in process_change_notifications tweetNewCourseSection(d) File "colleague-ethos-twitter.py", line 86, in tweetNewCourseSection send_tweet('courseSection',d['content']['titles'][0]['value']) File "colleague-ethos-twitter.py", line 114, in send_tweet api.update_status(status=tweet) File "/u01/app/py36.env/lib64/python3.6/site-packages/tweepy/api.py", line 194, in update_status )(post_data=post_data, *args, **kwargs) File "/u01/app/py36.env/lib64/python3.6/site-packages/tweepy/binder.py", line 250, in _call return method.execute() File "/u01/app/py36.env/lib64/python3.6/site-packages/tweepy/binder.py", line 234, in execute raise TweepError(error_msg, resp, api_code=api_error_code) tweepy.error.TweepError: [{'code': 187, 'message': 'Status is a duplicate.'}]

cfont commented 5 years ago

as part of this fix, we should consider adding something like a date/timestamp to make sure the post isn't a duplicate... ever.