From 2c3a1299709f2612e96c37e4e121c83ad4df7a56 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Wed, 9 Nov 2022 23:48:31 -0700 Subject: Profile fetching now working on state machine --- users/models/identity.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'users/models/identity.py') diff --git a/users/models/identity.py b/users/models/identity.py index 5e2cd06..7dff492 100644 --- a/users/models/identity.py +++ b/users/models/identity.py @@ -22,11 +22,16 @@ class IdentityStates(StateGraph): outdated = State(try_interval=3600) updated = State() - @outdated.add_transition(updated) - async def fetch_identity(identity: "Identity"): # type:ignore + outdated.transitions_to(updated) + + @classmethod + async def handle_outdated(cls, identity: "Identity"): + # Local identities never need fetching if identity.local: - return True - return await identity.fetch_actor() + return "updated" + # Run the actor fetch and progress to updated if it succeeds + if await identity.fetch_actor(): + return "updated" def upload_namer(prefix, instance, filename): -- cgit v1.2.3