From a46f9997eade59eb86fdc47e3a9f2a0144586a8d Mon Sep 17 00:00:00 2001 From: Patrick Robertson Date: Tue, 31 Dec 2024 09:28:08 +0100 Subject: [PATCH] Better logging when there's a timestamp parse error --- src/auto_archiver/archivers/twitter_archiver.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/auto_archiver/archivers/twitter_archiver.py b/src/auto_archiver/archivers/twitter_archiver.py index 6735488..e1fe810 100644 --- a/src/auto_archiver/archivers/twitter_archiver.py +++ b/src/auto_archiver/archivers/twitter_archiver.py @@ -147,10 +147,16 @@ class TwitterArchiver(Archiver): tie = TwitterIE(downloader) tweet = tie._extract_status(tweet_id) result = Metadata() + try: + timestamp = datetime.strptime(tweet["created_at"], "%a %b %d %H:%M:%S %z %Y") + except Exception as ex: + logger.warning(f"Failed to get timestamp: {type(ex).__name__} occurred. args: {ex.args}") + return False + result\ .set_title(tweet.get('full_text', ''))\ .set_content(json.dumps(tweet, ensure_ascii=False))\ - .set_timestamp(datetime.strptime(tweet["created_at"], "%a %b %d %H:%M:%S %z %Y")) + .set_timestamp(timestamp) if not tweet.get("entities", {}).get("media"): logger.debug('No media found, archiving tweet text only') result.status = "twitter-ytdl"