Вы можете обернуть каждую функцию, для которой требуется новый токен, в декораторе, как показано ниже:
def new_token(func):
def wrapper(self, *args, **kwargs):
self.token = SomeParser._get_token()
r = func(self, *args, **kwargs)
return wrapper
Я явно добавил аргумент self
в метод wrapper
, так как методы в классе будутвсе равно это нужноИ таким образом, я могу получить доступ к атрибуту self.token
и установить для него новое значение
. Можно использовать декоратор следующим образом:
@new_token
def makeHTTPRequest(self, name):
# ... make request and use self.token here