vregistry.py
branchtls-sprint
changeset 760 95b3419e94c5
parent 759 e044f28372bd
parent 754 937f5feac7f0
child 780 5b6c93816871
equal deleted inserted replaced
759:e044f28372bd 760:95b3419e94c5
    33 
    33 
    34 from cubicweb import CW_SOFTWARE_ROOT, set_log_methods
    34 from cubicweb import CW_SOFTWARE_ROOT, set_log_methods
    35 from cubicweb import RegistryNotFound, ObjectNotFound, NoSelectableObject
    35 from cubicweb import RegistryNotFound, ObjectNotFound, NoSelectableObject
    36 
    36 
    37 
    37 
    38 class vobject_helper(object):
    38 
    39     """object instantiated at registration time to help a wrapped
    39 class registerer(object):
    40     VObject subclass
    40     """do whatever is needed at registration time for the wrapped
       
    41     class, according to current application schema and already
       
    42     registered objects of the same kind (i.e. same registry name and
       
    43     same id).
       
    44 
       
    45     The wrapped class may be skipped, some previously selected object
       
    46     may be kicked out... After whatever works needed, if the object or
       
    47     a transformed object is returned, it will be added to previously
       
    48     registered objects.
    41     """
    49     """
    42 
    50 
    43     def __init__(self, registry, vobject):
    51     def __init__(self, registry, vobject):
    44         self.registry = registry
    52         self.registry = registry
    45         self.vobject = vobject
    53         self.vobject = vobject
    46         self.config = registry.config
    54         self.config = registry.config
    47         self.schema = registry.schema
    55         self.schema = registry.schema
    48 
       
    49 
       
    50 class registerer(vobject_helper):
       
    51     """do whatever is needed at registration time for the wrapped
       
    52     class, according to current application schema and already
       
    53     registered objects of the same kind (i.e. same registry name and
       
    54     same id).
       
    55 
       
    56     The wrapped class may be skipped, some previously selected object
       
    57     may be kicked out... After whatever works needed, if the object or
       
    58     a transformed object is returned, it will be added to previously
       
    59     registered objects.
       
    60     """
       
    61 
       
    62     def __init__(self, registry, vobject):
       
    63         super(registerer, self).__init__(registry, vobject)
       
    64         self.kicked = set()
    56         self.kicked = set()
    65     
    57     
    66     def do_it_yourself(self, registered):
    58     def do_it_yourself(self, registered):
    67         raise NotImplementedError(str(self.vobject))
    59         raise NotImplementedError(str(self.vobject))
    68         
    60