From 4df2d0e2bf9f0f8ffde8f8c5c520712b7b1a38ce Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Sat, 23 Jan 2021 12:06:18 +0100 Subject: [PATCH] better dynamic support --- src/rougail/tiramisureflector.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/rougail/tiramisureflector.py b/src/rougail/tiramisureflector.py index 3e122e65..74c2ca9b 100644 --- a/src/rougail/tiramisureflector.py +++ b/src/rougail/tiramisureflector.py @@ -6,7 +6,7 @@ from .annotator import ERASED_ATTRIBUTES, CONVERT_OPTION FUNC_TO_DICT = [] -ATTRIBUTES_ORDER = ('name', 'doc', 'default', 'multi', 'properties', 'min_number', 'max_number', 'dynamic') +ATTRIBUTES_ORDER = ('name', 'doc', 'default', 'multi', 'properties', 'min_number', 'max_number') class Root(): # pylint: disable=R0903 @@ -453,6 +453,7 @@ class Family(Common): if not self.option_name: self.populate_attrib() self.parse_properties() + self.populate_dynamic() self.option_name = self.elt.reflector_name object_name = self.get_object_name() attrib = self.get_attrib() + \ @@ -461,17 +462,16 @@ class Family(Common): self.populate_informations() return self.option_name + def populate_dynamic(self): + if hasattr(self.elt, 'dynamic'): + dyn = self.elt.dynamic.reflector_object.get() + self.attrib['suffixes'] = f"Calculation(func.calc_value, Params((ParamOption({dyn}))))" + def populate_attrib(self): """parse a populate attributes """ for key in self.get_attributes(self.elt): - value = getattr(self.elt, key) - if key == 'dynamic': - dynamic = value.reflector_object.get() - self.attrib['suffixes'] = \ - f"Calculation(func.calc_value, Params((ParamOption({dynamic}))))" - else: - self.attrib[key] = value + self.attrib[key] = getattr(self.elt, key) def parse_properties(self): """parse current children