Используйте декораторы в классе, которые возвращают данные - PullRequest
0 голосов
/ 18 марта 2020

Извините, если этот вопрос дублируется, но я ищу часы и не могу найти нужный мне ответ.

вот мой код: https://pastebin.com/hTMcHiAP

это ошибка, которую я получаю в терминале:

TypeError: bfxws_data_handler() missing 1 required positional argument: 'data'

Я думаю, проблема в том, что возврат bfx_ws.on ('all') получает присвоение переменной var 'self', а не ' данные'. Я пытался изменить данные на * args, но это тоже не работает. Он по-прежнему назначает самому себе возврат от декоратора.

Кроме того, как мне инкапсулировать это в свой класс:

bfx_ws = bfxapi.BfxWebsocket(
    API_KEY=loaded_bfx_apikey['API_KEY'], API_SECRET=loaded_bfx_apikey['API_SECRET'], logLevel='INFO', dead_man_switch=True)

Я пытался это с наследованием, но тогда декораторы не будут работать, я Я нашел ответ, который я должен поставить @classmethod или @staticmethod, но так как я импортировал эту библиотеку, это не мои варианты, или, по крайней мере, у меня нет знаний, чтобы делать то, что я хочу.

Спасибо за помощь !

...