champ-chatbot / classes /eco_store.py
qyle's picture
deployment test
6fff7cf verified
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