
I think both are useful. I would make this configurable with a flag: class MyOverridedClass(MyBaseClass): @extendsuper(after=True) def mymethod(self, foo): ... Or maybe a pair of decorator is a better option: @pre_super and @post_super El mar., 31 ene. 2017 a las 13:07, Sven R. Kunze (<srkunze@mail.de>) escribió:
Hi Roberto,
On 31.01.2017 08:13, Roberto Martínez wrote:
class MyOverridedClass(MyBaseClass): def mymethod(self, foo, **kwargs): # Do something return super().mymethod(**kwargs)
What about creating a decorator to call super() after/before the overrided method? Something like that:
class MyOverridedClass(MyBaseClass): @extendsuper def mymethod(self, foo): # Do something
I could find this useful. There's just on bikeshedding issue:
When should "super().mymethod(**kwargs)" be called: *before*, *after* or inbetween my specialized code?
Depending on the baseclass either of those three is necessary. As far as I can tell, we encounter all of them regularly.
Best, Sven