ledState = not bool(GPIO.input(LED)) GPIO.output(LED, ledState) return str({'success': True, 'status': ledState}) @app.route("{0}/toggle/7".format(API_BASEDIR)) def led2(): LED = 10 GPIO.setup(LED, GPIO.OUT) ledState = not bool(GPIO.input(LED)) GPIO.output(LED, ledState) return str({'success': True, 'status': ledState}) @app.route("{0}/temperature/2".format(API_BASEDIR)) def sensor(): TEMP = 5 SENSOR = 2302 result = SensorController.get_temperature_and_humidity(SENSOR, TEMP) return str(result) if __name__ == "__main__": system = System() app.run(host=system.get_grid_ip(), port=system.get_api_port(), debug=system.get_debug_mode())
class LogHandler: """ Creates log files for API """ def __init__(self, logfile): """ constructor :param logfile: log file absolute location :type logfile: str """ self.module = __name__ self.sys = System() self.LOG = logfile self.debug = self.sys.get_debug_mode() # create if log_dir does not exists if not os.path.dirname(self.LOG): os.makedirs(self.LOG) def logger(self, message, level, module): """ Logs all messages to the desired log files :param message: log message :param level: log level * failed = 0 * succeeded = 1 * warning = 2 * info = 3 * debug = 4 * exception = 5 :param module: module name :type message: str :type level: int :type module: str """ target = open(self.LOG, 'a') now = datetime.datetime.now() if level == 0: target.write("{0} - [FAILURE] - [{1}] - {2}\n".format(now, module, message)) elif level == 1: target.write("{0} - [SUCCEEDED] - [{1}] - {2}\n".format(now, module, message)) elif level == 2: target.write("{0} - [WARNING] - [{1}] - {2}\n".format(now, module, message)) elif level == 3: target.write("{0} - [INFO] - [{1}] - {2}\n".format(now, module, message)) elif level == 4: if self.debug: target.write("{0} - [DEBUG] - [{1}] - {2}\n".format(now, module, message)) elif level == 5: target.write("{0} - [EXCEPTION] - [{1}] - {2}\n".format(now, module, message)) target.close()