import ModelAPI
-from .tools import get_value, convert_to_underscore
+from model import tools
class Feature(ModelAPI.ModelAPI_Feature):
def __init__(self, feature):
self._feature = feature
+ self._attribute_white_list = [
+ "getKind", "results", "firstResult", "lastResult",
+ ]
def __getattr__(self, name):
"""Process missing attributes.
Add get*() methods for access feature attributes.
- Redirect missing attributes to the feature.
+ Redirect some missing attributes to the feature.
"""
if name.startswith("get"):
possible_names = [
"_" + name[3:],
- "_" + convert_to_underscore(name[3:]),
+ "_" + tools.convert_to_underscore(name[3:]),
]
for possible_name in possible_names:
if hasattr(self, possible_name):
return getattr(self, possible_name)
return getter
- return self._feature.__getattribute__(name)
+ if name in self._attribute_white_list:
+ return getattr(self._feature, name)
+
+ raise AttributeError()
+
+ def feature(self):
+ """Return ModelAPI_Feature."""
+ return self._feature
+
+ def _fill_attribute(self, attribute, value):
+ """Fill ModelAPI_Attribute* with value."""
+ tools.fill_attribute(attribute, value)
def setRealInput(self, inputid, value):
self._feature.data().real(inputid).setValue(value)