Move fetchAllUsers parsing into User._from_all_fetch

This commit is contained in:
Mads Marquart
2019-03-10 20:22:56 +01:00
parent e166b472c5
commit 71f19dd3c7
2 changed files with 17 additions and 17 deletions

View File

@@ -694,24 +694,12 @@ class Client(object):
raise FBchatException("Missing payload while fetching users: {}".format(j))
users = []
for key in j["payload"]:
k = j["payload"][key]
if k["type"] in ["user", "friend"]:
if k["id"] in ["0", 0]:
for data in j["payload"].values():
if data["type"] in ["user", "friend"]:
if data["id"] in ["0", 0]:
# Skip invalid users
pass
users.append(
User(
k["id"],
first_name=k.get("firstName"),
url=k.get("uri"),
photo=k.get("thumbSrc"),
name=k.get("name"),
is_friend=k.get("is_friend"),
gender=GENDERS.get(k.get("gender")),
)
)
continue
users.append(User._from_all_fetch(data))
return users

View File

@@ -139,6 +139,18 @@ class User(Thread):
plan=plan,
)
@classmethod
def _from_all_fetch(cls, data):
return cls(
data["id"],
first_name=data.get("firstName"),
url=data.get("uri"),
photo=data.get("thumbSrc"),
name=data.get("name"),
is_friend=data.get("is_friend"),
gender=_util.GENDERS.get(data.get("gender")),
)
@attr.s(cmp=False)
class ActiveStatus(object):