Skip to content

Commit a2dcd1c

Browse files
committed
cleanup
1 parent b32861f commit a2dcd1c

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

tools/last_user_activity.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,17 @@ def __getitem__(self, key):
6060
value = super().__getitem__(key)
6161
if isinstance(value, dict) and "__datetime__" in value:
6262
return datetime.fromisoformat(value["__datetime__"])
63+
assert not isinstance(value, dict), value
6364
return value
6465

6566
def get(self, key, default=None, retry=False):
6667
"""Override to handle datetime deserialization in get method with retry."""
6768
try:
68-
return super().get(key, default=default, retry=retry)
69+
value = super().get(key, default=default, retry=retry)
70+
if isinstance(value, dict) and "__datetime__" in value:
71+
return datetime.fromisoformat(value["__datetime__"])
72+
return value
73+
6974
except KeyError:
7075
return default
7176

@@ -150,6 +155,7 @@ async def get_user_activity(
150155
if cached_data is not None:
151156
if debug:
152157
print(f"[cyan]Cache hit for {username} activity[/cyan]")
158+
assert isinstance(cached_data, datetime), cached_data
153159
return cached_data
154160
if debug:
155161
print(
@@ -170,10 +176,13 @@ async def get_user_activity(
170176
events[0]["created_at"].replace("Z", "+00:00")
171177
)
172178
# Cache the results
179+
assert isinstance(last_activity, datetime)
173180
cache[cache_key] = (
174181
last_activity # Using __setitem__ instead of set()
175182
)
176-
print(f"[green]Cached activity for {username}[/green]")
183+
if debug:
184+
print(f"[green]Cached activity for {username}[/green]")
185+
assert isinstance(last_activity, datetime)
177186
return last_activity
178187
else:
179188
if debug:
@@ -260,12 +269,12 @@ async def main(debug: bool):
260269
# Print results sorted by last activity
261270
user_activities = []
262271
for (username, _), last_activity in zip(tasks, results):
272+
if last_activity is not None:
273+
assert isinstance(last_activity, datetime), last_activity
263274
user_activities.append(
264275
(
265276
username,
266-
datetime.fromisoformat(last_activity["__datetime__"])
267-
if last_activity is not None
268-
else None,
277+
last_activity if last_activity is not None else None,
269278
all_members[username],
270279
)
271280
)

0 commit comments

Comments
 (0)