Skip to content

Commit 7ea8c8b

Browse files
committed
fix:__getattr__
1 parent d35b309 commit 7ea8c8b

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

chinaapi/open.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ def is_expires(self):
4848
return not self.access_token or (self.expired_at is not None and self._now() > self.expired_at)
4949

5050
def __getattr__(self, item):
51-
return self._data[item]
51+
if item in self._data:
52+
return self._data[item]
53+
raise AttributeError
5254

5355

5456
class App(object):
@@ -136,7 +138,9 @@ def try_request():
136138
return try_request()
137139

138140
def __getattr__(self, attr):
139-
return ClientWrapper(self, attr)
141+
if not attr.startswith('__'):
142+
return ClientWrapper(self, attr)
143+
raise AttributeError
140144

141145

142146
class OAuthBase(Request):

tests/test_open.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,5 +187,5 @@ def test_get_attr(self):
187187

188188
def test_get_not_exist_attr(self):
189189
token = Token()
190-
with self.assertRaises(KeyError):
190+
with self.assertRaises(AttributeError):
191191
_ = token.not_exist_attr

0 commit comments

Comments
 (0)