69 lines
2.9 KiB
Python
69 lines
2.9 KiB
Python
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]
|