baka01998 4 Posted August 22, 2020 Пробую хукнуть код class BrowserController(IBrowserController): @async @process def load(self, url=None, title=None, showActionBtn=True, showWaiting=True, ......): .............. Когда сюда хукаюсь пишет что url unexpected Или если хукаюсь этим кодом то умирает половина интерфейса, видимо вызов до func(*args) не доходит, ошибки в логе идут потом от того что много None обьектов(браузер и т.д не создались) Хочу получить все аргументы load/ self объект Вызов load найти не смог Мой код: from gui.mods.mod_mods_gui import g_gui, inject from gui.game_control.browsercontroller import BrowserController @inject.hook(BrowserController, 'load') def load(func, *args): func(*args) print('load') print(args) Что бы лучше разобраться получить бы исходник inject с gui.mods.mod_mods_gui =))))) kor_rand.py Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #487697 Posted August 22, 2020 В каждом хук-модуле есть вот такая штука def __override(self, cls, method, new_method): orig = getattr(cls, method) if type(orig) is property: setattr(cls, method, property(new_method)) else: setattr(cls, method, new_method) И она как бы ломает декораторы, кроме декоратора property. Его она учитывает. Код взять из исходников XVM, в их репо можно найти модуль с хуками. Quote Share this post Link to post Short link Share on other sites
OrchidMantis 0 #490919 Posted October 18, 2020 Автор, у тебя получилось хукнуть что-то из этого модуля? Quote Share this post Link to post Short link Share on other sites
Armagomen_UA 158 #491577 Posted October 27, 2020 хукайте не: class BrowserController(IBrowserController): @async @process def load(self, url=None, title=None, showActionBtn=True, showWaiting=True, ......): а функции из которых этот процесс вызывается. Quote Share this post Link to post Short link Share on other sites