Подскажите,как лучше сделать - есть класс, в нем есть некоторые методы. Есть еще один класс, который наследуется от первого. В нем переопределяются методы родителя, и, в зависимости от выполнения условия, в начале метода вызывается либо супер, либо нет.
Вопрос в том, как можно написать декоратор, чтобы каждый раз не дублировать код, а просто обернуть им нужные методы?
Что-то типа такого:
class A(object): def first(self, a,b): # some actions pass def second(self, a,b): # some other actions pass class B(A): def first(self, a,b): if a>b: return super(B, self).first(a,b) #otherwise make actions @need_to_call_super def second(self,a,b): # here we are sure, the code below will be executed only if condition "a>b" hasn't passed, otherwise super(B,self).second(a,b) was called # code