""" Greenery catalog data model Plant class SPDX - License - Identifier: LGPL - 3.0 - or -later Copyright © 2022 Project Author Guille Gutierrez guillermo.gutierrezmorote@concordia.ca """ from catalogs.data_model.greenery.soil import Soil as libs_soil class Plant: def __init__(self, category, plant): self._name = plant.name self._category = category self._height = plant.height self._leaf_area_index = plant.leafAreaIndex self._leaf_reflectivity = plant.leafReflectivity self._leaf_emissivity = plant.leafEmissivity self._minimal_stomatal_resistance = plant.minimalStomatalResistance self._co2_sequestration = plant.co2Sequestration self._grows_on = [] for soil in plant.growsOn: self._grows_on.append(libs_soil(soil)) @property def name(self): """ Get plant name """ return self._name @property def category(self): """ Get plant category name """ return self._category @property def height(self): """ Get plant height """ return self._height @property def leaf_area_index(self): """ Get plant leaf area index """ return self._leaf_area_index @property def leaf_reflectivity(self): """ Get plant leaf area index """ return self._leaf_reflectivity @property def leaf_emissivity(self): """ Get plant leaf emissivity """ return self._leaf_emissivity @property def minimal_stomatal_resistance(self): """ Get plant minimal stomatal resistance """ return self._minimal_stomatal_resistance @property def co2_sequestration(self): """ Get plant co2 sequestration capacity """ return self._co2_sequestration @property def grows_on(self) -> [libs_soil]: """ Get plant compatible soils """ return self._grows_on