Skip to content

Commit 1a7c823

Browse files
committed
bot.py: replace @info decorator with property lazy load
refs python-telegram-bot#262
1 parent c51c222 commit 1a7c823

File tree

1 file changed

+8
-18
lines changed

1 file changed

+8
-18
lines changed

telegram/bot.py

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,16 @@ def __init__(self, token, base_url=None, base_file_url=None):
6060
else:
6161
self.base_file_url = base_file_url + self.token
6262

63-
self.bot = None
63+
self._bot = None
6464

6565
self.logger = logging.getLogger(__name__)
6666

67+
@property
68+
def bot(self):
69+
if not self._bot:
70+
self.getMe()
71+
return self._bot
72+
6773
@staticmethod
6874
def _validate_token(token):
6975
"""a very basic validation on token"""
@@ -76,35 +82,19 @@ def _validate_token(token):
7682

7783
return token
7884

79-
def info(func):
80-
81-
@functools.wraps(func)
82-
def decorator(self, *args, **kwargs):
83-
if not self.bot:
84-
self.getMe()
85-
86-
result = func(self, *args, **kwargs)
87-
return result
88-
89-
return decorator
90-
9185
@property
92-
@info
9386
def id(self):
9487
return self.bot.id
9588

9689
@property
97-
@info
9890
def first_name(self):
9991
return self.bot.first_name
10092

10193
@property
102-
@info
10394
def last_name(self):
10495
return self.bot.last_name
10596

10697
@property
107-
@info
10898
def username(self):
10999
return self.bot.username
110100

@@ -171,7 +161,7 @@ def getMe(self, **kwargs):
171161

172162
result = request.get(url)
173163

174-
self.bot = User.de_json(result)
164+
self._bot = User.de_json(result)
175165

176166
return self.bot
177167

0 commit comments

Comments
 (0)