Вот пример кода:
# -*- coding: utf-8 -*- class ProviderHandler(JSONHandler): @classmethod def check(cls, cluster): if cluster.provider != cls.provider: raise Exception() class FirstHandler(ProviderHandler): provider = "first" def PUT(self, cluster_id): cluster = self.get_object_or_404(Cluster, cluster_id) self.check(cluster) # this is the check # lots of code here - copy-paste is not suitable solution class SecondHandler(FirstHandler): provider = "second" def PUT(self, cluster_id): cluster = self.get_object_or_404(Cluster, cluster_id) self.check(cluster) # this is the check 2 super( SecondHandler, self ).PUT(cluster_id)
Как сделать правильнее и красивее?