From fd8a3404d9884beeadc279d5c09e930b792593a3 Mon Sep 17 00:00:00 2001 From: Michael Thomas Date: Tue, 7 Mar 2023 07:09:31 +0000 Subject: [PATCH] more error handling --- get_context.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/get_context.py b/get_context.py index ce15502..5d58014 100644 --- a/get_context.py +++ b/get_context.py @@ -48,8 +48,11 @@ def get_timeline(server, access_token, max): # Paginate as needed while len(toots) < max: - response = get_toots(response.links['next']['url'], access_token) - toots = toots + response.json() + try: + response = get_toots(response.links['next']['url'], access_token) + toots = toots + response.json() + except Exception as ex: + print(f"Error getting timeline toots: {ex}") print(f"Found {len(toots)} toots in timeline") @@ -317,13 +320,17 @@ def get_toot_context(server, toot_id, toot_url): def add_context_urls(server, access_token, context_urls, seen_urls): """add the given toot URLs to the server""" count = 0 + failed = 0 for url in context_urls: if url not in seen_urls: - add_context_url(url, server, access_token) - seen_urls.add(url) - count += 1 + added = add_context_url(url, server, access_token) + if added is True: + seen_urls.add(url) + count += 1 + else: + failed += 1 - print(f"Added {count} new context toots") + print(f"Added {count} new context toots (with {failed} failures)") def add_context_url(url, server, access_token): @@ -340,19 +347,22 @@ def add_context_url(url, server, access_token): print( f"Error adding url {search_url} to server {server}. Exception: {ex}" ) - return + return False if resp.status_code == 200: print(f"Added context url {url}") + return True elif resp.status_code == 403: print( f"Error adding url {search_url} to server {server}. Status code: {resp.status_code}. " "Make sure you have the read:search scope enabled for your access token." ) + return False else: print( f"Error adding url {search_url} to server {server}. Status code: {resp.status_code}" ) + return False class OrderedSet: