diff options
-rw-r--r-- | src/argaze/DataFeatures.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/argaze/DataFeatures.py b/src/argaze/DataFeatures.py index 6ae0603..48a5b08 100644 --- a/src/argaze/DataFeatures.py +++ b/src/argaze/DataFeatures.py @@ -79,7 +79,7 @@ def properties(cls) -> list: """get class properties name.""" properties = [name for name, item in cls.__dict__.items() if isinstance(item, property)] - + for base in cls.__bases__: for name, item in base.__dict__.items(): @@ -917,7 +917,7 @@ class PipelineStepObject(): output += f'{tabs}\t - {v}\n' - elif type(value) == numpy.ndarray: + elif type(value) == numpy.ndarray or type(value) == TimestampedImage: output += f'numpy.array{value.shape}\n' @@ -961,21 +961,21 @@ class PipelineStepObject(): def properties(self) -> tuple[name, any]: """Iterate over pipeline step properties values.""" - for name, item in self.__class__.__dict__.items(): - - if isinstance(item, property): + properties = [name for name, item in self.__class__.__dict__.items() if isinstance(item, property)] - yield name, getattr(self, name) - for base in self.__class__.__bases__: if base != PipelineStepObject and base != SharedObject: for name, item in base.__dict__.items(): - if isinstance(item, property): + if isinstance(item, property) and not name in properties: + + properties.append(name) + + for name in properties: - yield name, getattr(self, name) + yield name, getattr(self, name) @property def children(self) -> object: |