Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 15 additions & 16 deletions oligo/iber.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,11 @@ def __check_session(self):
raise SessionException("Session required, use login() method to obtain a session")

def measurement(self):
"""Returns a measurement from the powermeter."""
"""Returns a measurement from the powermeter."""
self.__check_session()
response = self.__session.request("GET", self.__watthourmeter_url, headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
if not response.text:
raise NoResponseException
json_response = response.json()
Expand All @@ -91,7 +91,7 @@ def icpstatus(self):
self.__check_session()
response = self.__session.request("POST", self.__icp_status_url, headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
if not response.text:
raise NoResponseException
json_response = response.json()
Expand All @@ -104,7 +104,7 @@ def contracts(self):
self.__check_session()
response = self.__session.request("GET", self.__contracts_url, headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
if not response.text:
raise NoResponseException
json_response = response.json()
Expand All @@ -115,7 +115,7 @@ def contract(self):
self.__check_session()
response = self.__session.request("GET", self.__contract_detail_url, headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
if not response.text:
raise NoResponseException
return response.json()
Expand All @@ -124,7 +124,7 @@ def contractselect(self, id):
self.__check_session()
response = self.__session.request("GET", self.__contract_selection_url + id, headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
if not response.text:
raise NoResponseException
json_response = response.json()
Expand All @@ -135,7 +135,7 @@ def scene_list(self):
self.__check_session()
response = self.__session.request("GET", self.__obtener_escenarios_url, headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
if not response.text:
raise NoResponseException
json_response = response.json()
Expand All @@ -149,7 +149,7 @@ def scene_get(self, name):
get_data = "{{\"nomEscenario\":\"{}\"}}".format(name)
response = self.__session.request("POST", self.__obtener_escenario_url, data=get_data, headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
if not response.text:
raise NoResponseException
json_response = response.json()
Expand All @@ -167,7 +167,7 @@ def scene_save(self, consumption, measurement_id, description):
save_data = "{{\"nomEscenario\":\"{}\",\"descripcion\":\"{}\"}}".format(name, description)
response = self.__session.request("POST", self.__guardar_escenario_url.format(consumption, measurement_id), data=save_data, headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
if not response.text:
raise NoResponseException
json_response = response.json()
Expand All @@ -181,17 +181,17 @@ def scene_delete(self, name):
delete_data = "{{\"nomEscenario\":\"{}\"}}".format(name)
response = self.__session.request("POST", self.__borrar_escenario_url, data=delete_data, headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
return True

def _consumption_raw(self, start, end):
self.__check_session()
start_str = start.strftime('%d-%m-%Y')
end_str = end.strftime('%d-%m-%Y')

response = self.__session.request("GET", self.__obtener_periodo_url.format(start_str, end_str), headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
if not response.text:
raise NoResponseException
return response.json()
Expand Down Expand Up @@ -222,7 +222,7 @@ def _production_raw(self, start, end):
response = self.__session.request("GET", self.__obtener_periodo_generacion_url.format(start_str, end_str),
headers=self.__headers)
if response.status_code != 200:
raise ResponseException
raise ResponseException("Response error, code: {}".format(response.status_code))
if not response.text:
raise NoResponseException
return response.json()
Expand All @@ -244,10 +244,9 @@ def production(self, start, end):
else:
values.append(float(x['valor']))
return values

# Get total consumption in Wh (Watt-hour) over a time period
#
# start/end: datetime.date objects indicating the time period (both inclusive)
def total_consumption(self, start, end):
return float(self._consumption_raw(start, end)['acumulado'])