mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2026-03-06 09:27:33 +01:00
Refactor. Eliminación de bugs
This commit is contained in:
@@ -253,12 +253,22 @@ def compose_user(user, db, settings, relative_times, show_screen_names=False, sa
|
||||
return obj.get(key, default)
|
||||
return getattr(obj, key, default)
|
||||
|
||||
handle = g(user, "handle", "unknown")
|
||||
display_name = g(user, "displayName") or g(user, "display_name") or handle
|
||||
followers = g(user, "followersCount", 0) or 0
|
||||
following = g(user, "followsCount", 0) or 0
|
||||
posts = g(user, "postsCount", 0) or 0
|
||||
created_at = g(user, "createdAt", None)
|
||||
def resolve_profile(obj):
|
||||
if g(obj, "handle") or g(obj, "did"):
|
||||
return obj
|
||||
for key in ("subject", "actor", "profile", "user"):
|
||||
nested = g(obj, key)
|
||||
if nested and (g(nested, "handle") or g(nested, "did")):
|
||||
return nested
|
||||
return obj
|
||||
|
||||
profile = resolve_profile(user)
|
||||
handle = g(profile, "handle", "unknown")
|
||||
display_name = g(profile, "displayName") or g(profile, "display_name") or handle
|
||||
followers = g(profile, "followersCount", 0) or 0
|
||||
following = g(profile, "followsCount", 0) or 0
|
||||
posts = g(profile, "postsCount", 0) or 0
|
||||
created_at = g(profile, "createdAt", None)
|
||||
|
||||
ts = ""
|
||||
if created_at:
|
||||
|
||||
@@ -485,6 +485,17 @@ class Session(base.baseSession):
|
||||
log.exception("Error fetching Bluesky profile for %s", actor)
|
||||
return None
|
||||
|
||||
def get_profiles(self, actors: list[str]) -> dict[str, Any]:
|
||||
api = self._ensure_client()
|
||||
if not actors:
|
||||
return {"items": []}
|
||||
try:
|
||||
res = api.app.bsky.actor.get_profiles({"actors": actors})
|
||||
return {"items": getattr(res, "profiles", []) or []}
|
||||
except Exception:
|
||||
log.exception("Error fetching Bluesky profiles batch")
|
||||
return {"items": []}
|
||||
|
||||
def get_post_likes(self, uri: str, limit: int = 50, cursor: str | None = None) -> dict[str, Any]:
|
||||
api = self._ensure_client()
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user