vregistry.py
branchtls-sprint
changeset 754 937f5feac7f0
parent 741 8c810ee593a3
child 760 95b3419e94c5
equal deleted inserted replaced
753:17d38f000bea 754:937f5feac7f0
    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