# HG changeset patch # User Sylvain Thénault # Date 1250158735 -7200 # Node ID 3455f72010feb930c5ed8e94d1c85af3c2caf86d # Parent a4e3e9b1a9cd6e2ead521744a941d80fd7b9297d better as a method of the etypes registry diff -r a4e3e9b1a9cd -r 3455f72010fe cwvreg.py --- a/cwvreg.py Thu Aug 13 12:18:37 2009 +0200 +++ b/cwvreg.py Thu Aug 13 12:18:55 2009 +0200 @@ -105,6 +105,13 @@ super(ETypeRegistry, self).register(obj, **kwargs) @cached + def parent_classes(self, etype): + eschema = self.schema.eschema(etype) + parents = [cls.etype_class(e.type) for e in eschema.ancestors()] + parents.append(self.etype_class('Any')) + return parents + + @cached def etype_class(self, etype): """return an entity class for the given entity type. diff -r a4e3e9b1a9cd -r 3455f72010fe entity.py --- a/entity.py Thu Aug 13 12:18:37 2009 +0200 +++ b/entity.py Thu Aug 13 12:18:55 2009 +0200 @@ -267,14 +267,6 @@ @classmethod @cached - def parent_classes(cls): - parents = [cls.vreg['etypes'].etype_class(e.type) - for e in cls.e_schema.ancestors()] - parents.append(cls.vreg['etypes'].etype_class('Any')) - return parents - - @classmethod - @cached def _rest_attr_info(cls): mainattr, needcheck = 'eid', True if cls.rest_attr: