Skip to content

Commit ab27eac

Browse files
committed
Improve robustness
1 parent 9f1e82d commit ab27eac

2 files changed

Lines changed: 39 additions & 33 deletions

File tree

StealthIM/apis/group.py

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,10 @@ async def get_groups(
6363
response_data = await request(api_address, "GET", headers=header)
6464
logger.debug(f"Response data: {response_data}")
6565

66+
success = response_data["result"]["code"] == 800
67+
6668
return GetGroupsResult(
67-
groups=response_data["groups"],
69+
groups=response_data["groups"] if success else None,
6870
result=Result(
6971
code=response_data["result"]["code"],
7072
msg=response_data["result"]["msg"]
@@ -86,15 +88,15 @@ async def get_group_info(
8688
response_data = await request(api_address, "GET", headers=header)
8789
logger.debug(f"Response data: {response_data}")
8890

89-
members = [
90-
GroupMember(
91-
name=member["name"],
92-
type=GroupMemberType(member.get("type", 0)),
93-
) for member in response_data["members"]
94-
] if response_data["result"]["code"] == 800 else None
91+
success = response_data["result"]["code"] == 800
9592

9693
return GroupInfoResult(
97-
members=members,
94+
members=[
95+
GroupMember(
96+
name=member["name"],
97+
type=GroupMemberType(member.get("type", 0)),
98+
) for member in response_data["members"]
99+
] if success else None,
98100
result=Result(
99101
code=response_data["result"]["code"],
100102
msg=response_data["result"]["msg"]
@@ -116,9 +118,11 @@ async def get_group_public_info(
116118
response_data = await request(api_address, "GET", headers=header)
117119
logger.debug(f"Response data: {response_data}")
118120

121+
success = response_data["result"]["code"] == 800
122+
119123
return GroupPublicInfoResult(
120-
create_at=response_data["create_at"],
121-
name=response_data["name"],
124+
create_at=response_data["create_at"] if success else None,
125+
name=response_data["name"] if success else None,
122126
result=Result(
123127
code=response_data["result"]["code"],
124128
msg=response_data["result"]["msg"]
@@ -143,8 +147,10 @@ async def create_group(
143147
response_data = await request(api_address, "POST", headers=header, body=body)
144148
logger.debug(f"Response data: {response_data}")
145149

150+
success = response_data["result"]["code"] == 800
151+
146152
return CreateGroupResult(
147-
groupid=response_data["groupid"],
153+
groupid=response_data["groupid"] if success else None,
148154
result=Result(
149155
code=response_data["result"]["code"],
150156
msg=response_data["result"]["msg"]

StealthIM/apis/user.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -107,25 +107,25 @@ async def login(
107107
response_data = await request(api_address, "POST", body=data)
108108
logger.debug(f"Response data: {response_data}")
109109

110-
info = UserInfo(
111-
result=Result(
112-
code=800,
113-
msg=""
114-
),
115-
create_time=response_data["user_info"]["create_time"],
116-
email=response_data["user_info"]["email"],
117-
nickname=response_data["user_info"]["nickname"],
118-
phone_number=response_data["user_info"]["phone_number"],
119-
username=response_data["user_info"]["username"]
120-
) if "user_info" in response_data else None
110+
success = response_data["result"]["code"] == 800
121111

122112
return LoginResult(
123113
result=Result(
124114
code=response_data["result"]["code"],
125115
msg=response_data["result"]["msg"]
126116
),
127-
session=response_data.get("session"),
128-
user_info=info
117+
session=response_data["session"] if success else None,
118+
user_info=UserInfo(
119+
result=Result(
120+
code=800,
121+
msg=""
122+
),
123+
create_time=response_data["user_info"]["create_time"],
124+
email=response_data["user_info"]["email"],
125+
nickname=response_data["user_info"]["nickname"],
126+
phone_number=response_data["user_info"]["phone_number"],
127+
username=response_data["user_info"]["username"]
128+
) if success else None
129129
)
130130

131131

@@ -151,16 +151,18 @@ async def get_self_info(
151151
response_data = await request(api_address, "GET", headers=header)
152152
logger.debug(f"Response data: {response_data}")
153153

154+
success = response_data["result"]["code"] == 800
155+
154156
return UserInfo(
155157
result=Result(
156158
code=response_data["result"]["code"],
157159
msg=response_data["result"]["msg"]
158160
),
159-
create_time=response_data["user_info"]["create_time"],
160-
email=response_data["user_info"]["email"],
161-
nickname=response_data["user_info"]["nickname"],
162-
phone_number=response_data["user_info"]["phone_number"],
163-
username=response_data["user_info"]["username"]
161+
create_time=response_data["user_info"]["create_time"] if success else None,
162+
email=response_data["user_info"]["email"] if success else None,
163+
nickname=response_data["user_info"]["nickname"] if success else None,
164+
phone_number=response_data["user_info"]["phone_number"] if success else None,
165+
username=response_data["user_info"]["username"] if success else None
164166
)
165167

166168

@@ -188,16 +190,14 @@ async def get_user_info(
188190
response_data = await request(api_address, "GET", headers=header)
189191
logger.debug(f"Response data: {response_data}")
190192

191-
nickname = None
192-
if response_data["result"]["code"] == 800:
193-
nickname = response_data["user_info"]["nickname"]
193+
success = response_data["result"]["code"] == 800
194194

195195
return UserPublicInfo(
196196
result=Result(
197197
code=response_data["result"]["code"],
198198
msg=response_data["result"]["msg"]
199199
),
200-
nickname=nickname
200+
nickname=response_data["user_info"]["nickname"] if success else None
201201
)
202202

203203

0 commit comments

Comments
 (0)