in src/hpc/autoscale/job/demandcalculator.py [0:0]
def to_dict(self) -> Dict:
ret = {}
for attr_name in dir(self):
if not (
attr_name[0].isalpha() or attr_name.startswith("_DemandCalculator")
):
continue
attr = getattr(self, attr_name)
if "__call__" not in dir(attr):
attr_expr = attr_name.replace("_DemandCalculator", "")
if hasattr(attr, "to_dict"):
attr_value = attr.to_dict()
else:
attr_value = str(attr)
ret[attr_expr] = attr_value
return ret