idea165-commonsgrid-communi.../idea165_commonsgrid_communi.../adapters.py

28 lines
724 B
Python

from typing import Dict, Any
from .models import LocalProblem
class BaseAdapter:
def to_shared(self, lp: LocalProblem) -> Dict[str, Any]:
raise NotImplementedError
class DERAdapter(BaseAdapter):
def to_shared(self, lp: LocalProblem) -> Dict[str, Any]:
return {
"type": "DER",
"neighborhood_id": lp.neighborhood_id,
"pv_kw": lp.pv_kw,
"demand_kw": lp.demand_kw,
}
class BatteryAdapter(BaseAdapter):
def to_shared(self, lp: LocalProblem) -> Dict[str, Any]:
return {
"type": "Battery",
"neighborhood_id": lp.neighborhood_id,
"storage_kwh": lp.storage_kwh,
"evs": lp.evs,
}