cwvreg.py
branchtls-sprint
changeset 1145 4162e5bb5367
parent 1138 22f634977c95
child 1146 547681592765
equal deleted inserted replaced
1144:654047cd0c30 1145:4162e5bb5367
   119             # we may want to keep interface dependent objects (e.g.for i18n
   119             # we may want to keep interface dependent objects (e.g.for i18n
   120             # catalog generation)
   120             # catalog generation)
   121             if not self.config.cleanup_interface_sobjects:
   121             if not self.config.cleanup_interface_sobjects:
   122                 return
   122                 return
   123             # remove vobjects that don't support any available interface
   123             # remove vobjects that don't support any available interface
   124             interfaces = set()
   124             implemented_interfaces = set()
   125             for classes in self.get('etypes', {}).values():
   125             for classes in self.get('etypes', {}).values():
   126                 for cls in classes:
   126                 for cls in classes:
   127                     for iface in cls.__implements__:
   127                     for iface in cls.__implements__:
   128                         interfaces.update(iface.__mro__)
   128                         implemented_interfaces.update(iface.__mro__)
   129                     interfaces.update(cls.__mro__)
   129                     implemented_interfaces.update(cls.__mro__)
   130             for obj, ifaces in self._needs_iface.items():
   130             for obj, ifaces in self._needs_iface.items():
   131                 ifaces = frozenset(isinstance(iface, basestring)
   131                 ifaces = frozenset(isinstance(iface, basestring)
   132                                    and iface in self.schema
   132                                    and iface in self.schema
   133                                    and self.etype_class(iface)
   133                                    and self.etype_class(iface)
   134                                    or iface
   134                                    or iface