cwvreg.py
branchtls-sprint
changeset 1357 e5a97779c7fc
parent 1309 a4eb20f86cb0
child 1475 5c1ec97f317e
equal deleted inserted replaced
1356:7b4802822f40 1357:e5a97779c7fc
   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             implemented_interfaces = set()
   124             implemented_interfaces = set()
   125             for classes in self.get('etypes', {}).values():
   125             for etype in self.schema.entities():
   126                 for cls in classes:
   126                 cls = self.etype_class(etype)
   127                     for iface in cls.__implements__:
   127                 for iface in cls.__implements__:
   128                         implemented_interfaces.update(iface.__mro__)
   128                     implemented_interfaces.update(iface.__mro__)
   129                     implemented_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