""" SensorsFactory retrieve sensors information SPDX - License - Identifier: LGPL - 3.0 - or -later Copyright © 2021 Project Author Guille Gutierrez guillermo.gutierrezmorote@concordia.ca Contributors Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca """ from pathlib import Path from imports.sensors.concordia_energy_consumption import ConcordiaEnergyConsumption from imports.sensors.concordia_gas_flow import ConcordiaGasFlow from imports.sensors.concordia_temperature import ConcordiaTemperature class SensorsFactory: """ UsageFactory class """ def __init__(self, handler, city, end_point, base_path=Path(Path(__file__).parent.parent / 'data/sensors')): self._handler = '_' + handler.lower().replace(' ', '_') self._city = city self._end_point = end_point self._base_path = base_path def _cec(self): ConcordiaEnergyConsumption(self._city, self._end_point, self._base_path) def _cgf(self): ConcordiaGasFlow(self._city, self._end_point, self._base_path) def _ct(self): ConcordiaTemperature(self._city, self._end_point, self._base_path) def enrich(self): """ Enrich the city with the usages information :return: None """ getattr(self, self._handler, lambda: None)()