fix timezone representation for TWINT tweets

This commit is contained in:
msk
2022-10-04 04:01:01 -07:00
parent ebd49e9c8c
commit 2fdb44cef9
3 changed files with 36 additions and 17 deletions
+16
View File
@@ -2,6 +2,7 @@
# Continuously listen for cross-company interactions.
import asyncio
import traceback
import tweepy
from talenttweet import TalentTweet
@@ -10,6 +11,8 @@ import ttweetqueue as ttq
import api_secrets
import talent_lists as tl
errors_encountered = 0
def on_response(resp):
ttweet = TalentTweet.create_from_v2api_response(resp)
@@ -21,6 +24,9 @@ def on_response(resp):
print(f'Tweet {ttweet.tweet_id} is not cross-company.')
def run():
global errors_encountered
while True:
try:
sc = tweepy.StreamingClient(api_secrets.bearer_token())
# clear rules
@@ -38,3 +44,13 @@ def run():
media_fields=TwAPI.TWEET_MEDIA_FIELDS,
tweet_fields=TwAPI.TWEET_FIELDS
)
except KeyboardInterrupt:
print('Interrupt signal received. Exiting listen mode.')
print(f'{errors_encountered} errors encountered throughout session.')
break
except:
errors_encountered += 1
print('Ran into an error while in listen mode.')
traceback.print_exc()
print('Re-running listen mode...')
print(f'(Had {errors_encountered} errors so far.)')
+1 -1
View File
@@ -71,7 +71,7 @@ async def async_main():
print('RUNNING IN CATCH UP MODE')
if await catchup.run(PROGRAM_ARGS) and PROGRAM_ARGS.auto_listen:
print('CATCH UP MODE DONE, GOING INTO LISTEN MODE')
await listen.run()
listen.run()
elif mode in ['d', 'delete-all']:
print('WARNING: SELF-DESTRUCT MODE')
await self_destruct()
+5 -2
View File
@@ -1,4 +1,5 @@
import datetime
from zoneinfo import ZoneInfo
import platform
import pytz
@@ -69,9 +70,11 @@ class TalentTweet:
if quoted_id == -1:
quoted_id = util.get_user_id_online(quoted_username)
# FIXME: resultant tweets don't show timezone properly
# NOTE: strptime doesn't attach timezone info.
# tweet's datetime will be in local time
date_time = datetime.datetime.strptime(tweet.datetime, '%Y-%m-%d %H:%M:%S %Z')
print(date_time)
LOCAL_TIMEZONE = datetime.datetime.now().astimezone().tzinfo
date_time = date_time.replace(tzinfo=LOCAL_TIMEZONE) # attach system local timezone
return TalentTweet(tweet_id=tweet.id, author_id=tweet.user_id, date_time=date_time, mrq=(mentions, reply_to, quoted_id))
@staticmethod