diff options
author | Andrew Godwin | 2022-11-09 23:48:31 -0700 |
---|---|---|
committer | Andrew Godwin | 2022-11-09 23:48:31 -0700 |
commit | 2c3a1299709f2612e96c37e4e121c83ad4df7a56 (patch) | |
tree | 89c2aed22a7a10730e02c809f83b744a21e295e1 /users/models/identity.py | |
parent | 7746abbbb7700fa918450101bbc6d29ed9b4b608 (diff) | |
download | takahe-2c3a1299709f2612e96c37e4e121c83ad4df7a56.tar.gz takahe-2c3a1299709f2612e96c37e4e121c83ad4df7a56.tar.bz2 takahe-2c3a1299709f2612e96c37e4e121c83ad4df7a56.zip |
Profile fetching now working on state machine
Diffstat (limited to 'users/models/identity.py')
-rw-r--r-- | users/models/identity.py | 13 |
1 files changed, 9 insertions, 4 deletions
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): |