# HG changeset patch # User Thierry Florac # Date 1525867508 -7200 # Node ID f2acf176be2c5f1e85161f4888eef2c4fdb061e1 # Parent db6128915fc106aba99558364734aa4a2aef7856 Added "inherit_from" attribute to IInheritInfo interface diff -r db6128915fc1 -r f2acf176be2c src/pyams_utils/inherit.py --- a/src/pyams_utils/inherit.py Wed May 09 14:04:21 2018 +0200 +++ b/src/pyams_utils/inherit.py Wed May 09 14:05:08 2018 +0200 @@ -61,6 +61,15 @@ def no_inherit(self, value): self.inherit = not bool(value) + @property + def inherit_from(self): + if not self.inherit: + return self + parent = self.parent + while self.adapted_interface(parent).inherit: + parent = parent.parent + return parent + class InheritedFieldProperty(object): """Inherited field property""" diff -r db6128915fc1 -r f2acf176be2c src/pyams_utils/interfaces/inherit.py --- a/src/pyams_utils/interfaces/inherit.py Wed May 09 14:04:21 2018 +0200 +++ b/src/pyams_utils/interfaces/inherit.py Wed May 09 14:05:08 2018 +0200 @@ -41,3 +41,5 @@ no_inherit = Bool(title=_("Don't inherit from parent?"), required=False, default=False) + + inherit_from = Attribute("Parent from which adapted interface is inherited")