python: самый чистый способ обернуть каждый метод в родительском классе в "with"

У меня есть родительский класс, который имеет кучу методов класса:

class Parent():

    @classmethod
    def methodA(cls):
        pass

    @classmethod
    def methodB(cls):
        pass

В моем подклассе я хотел бы обернуть подмножество методов внутри "with". Это должно дать такой эффект:

class Child(Parent):

    @classmethod
    def methodA(cls):
        with db.transaction:
            super(Child, cls).methodA()

У меня есть куча методов, которые следуют этому шаблону, и я бы не хотел повторяться. Есть ли более чистый способ сделать это?

6
задан stackOverlord 21 January 2012 в 21:38
поделиться