class Constant: MONTHS_LEN = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] class DataManager: def __init__(self) -> None: self.Prices = [] self.Temper = [] self.Solar = [] self.Electricity = [] self.Heat = [] self.People = [] def add_price_element(self, e): self.Prices.append(e) def add_temper_element(self, e): self.Temper.append(e) def add_solar_element(self, e): self.Solar.append(e) def add_electricity_element(self, e): self.Electricity.append(e) def add_heat_element(self, e): self.Heat.append(e) def add_people_element(self, e): self.People.append(e) # get current time data based on given month day, and day_time def get_price_data(self, month, day, day_time): return self.Prices[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + day_time] def get_temper_data(self, month, day, day_time): return self.Temper[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + day_time] def get_solar_data(self, month, day, day_time): return self.Solar[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + day_time] def get_load_data(self, month, day, day_time): return self.Electricity[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + day_time] def get_heat_data(self, month, day, day_time): return self.Heat[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + day_time] def get_people_data(self, month, day, day_time): return self.People[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + day_time] # get series data for one episode def get_series_price_data(self, month, day): return self.Prices[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24: (sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + 24] def get_series_temper_data(self, month, day): return self.Temper[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24: (sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + 24] def get_series_solar_data(self, month, day): return self.Solar[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24: (sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + 24] def get_series_load_data(self, month, day): return self.Electricity[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24: (sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + 24] def get_series_heat_data(self, month, day): return self.Heat[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24: (sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + 24] def get_series_people_data(self, month, day): return self.People[(sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24: (sum(Constant.MONTHS_LEN[:month - 1]) + day - 1) * 24 + 24]