Spaces:
Paused
Paused
| from typing import Optional | |
| from ecologits.impacts import Impacts | |
| from constants import MODEL_MAP | |
| class EcoStore: | |
| _instance: Optional["EcoStore"] = None | |
| # model_type -> [Impacts] | |
| models_eco_impact_map = dict() | |
| def __new__(cls): | |
| if cls._instance is None: | |
| cls._instance = super(EcoStore, cls).__new__(cls) | |
| for model_type in MODEL_MAP: | |
| cls._instance.models_eco_impact_map[model_type] = [] | |
| return cls._instance | |
| def add_impacts(self, impact: Impacts, model_type: str): | |
| self.models_eco_impact_map[model_type].append(impact) | |
| def get_eco(self): | |
| return self.models_eco_impact_map | |