# HG changeset patch # User sylvain.thenault@logilab.fr # Date 1239797213 -7200 # Node ID e5a97779c7fc59d6196abd2bd195b335c27a36eb # Parent 7b4802822f4011405971c0d244ba250a3260c32e use entities found in schema, not in the etypes registry, else we miss entity types which have no specific classes diff -r 7b4802822f40 -r e5a97779c7fc cwvreg.py --- a/cwvreg.py Wed Apr 15 14:06:08 2009 +0200 +++ b/cwvreg.py Wed Apr 15 14:06:53 2009 +0200 @@ -122,11 +122,11 @@ return # remove vobjects that don't support any available interface implemented_interfaces = set() - for classes in self.get('etypes', {}).values(): - for cls in classes: - for iface in cls.__implements__: - implemented_interfaces.update(iface.__mro__) - implemented_interfaces.update(cls.__mro__) + for etype in self.schema.entities(): + cls = self.etype_class(etype) + for iface in cls.__implements__: + implemented_interfaces.update(iface.__mro__) + implemented_interfaces.update(cls.__mro__) for obj, ifaces in self._needs_iface.items(): ifaces = frozenset(isinstance(iface, basestring) and iface in self.schema