View difference between Paste ID: rM5TrsTA and f9V1Ryis
SHOW: | | - or go back to the newest paste.
1
class CatalogItem:
2
    """
3
    Decorator class, collect all catalog modules and his item classes in cls.REGISTRY
4
    """
5
6
    REGISTRY = {}
7
8
    def __init__(self, name):
9
        self.verbose_name = name
10
11
    def __call__(self, cls):
12
        self.register(cls)
13
        return cls
14
15
    def register(self, cls):
16
        """
17
        Register item modules and its item classes.
18
        :param cls: Class object
19
        :return:
20
        """
21
        module_name, module = self.register_module(cls)
22
        self.__class__.REGISTRY[module_name] = self.register_item(module, cls)
23
24
@CatalogItem('Куплю квартиру')
25
class FlatBuy(BaseAd):
26
    building_type = BuildingTypeField(choices=BuildingTypeField.get_choices_for_model_field())