Я работаю с jira-python и хочу перезаписать существующий метод Issue.update(). Однако мой код никогда не вызывает модификацию.
Issue.update()
from jira import JIRA from jira.resources import Issue class Issue(Issue): def update(self): print("overwritten") super(Issue, self).update() # I also tried super().update() jira = JIRA("...") # holds a reference to the JIRA instance issues = jira.search_issues("") # holds a list of JIRA Issues for issue in issues: // I would expect this call to print "overwritten" issue.update()
Вы можете обезопасить метод с помощью обёртки следующим образом:
from jira.resources import Issue def my_update(self): print('overwritten') original_update(self) original_update = Issue.update Issue.update = my_update