def send(self, code, message, content_type='text/json'): self.send_response(code) self.send_header('Content-type', content_type) self.end_headers() self.wfile.write(bytes(message, encoding='utf8')) log.d(message) if code != 200: log.e('%s: %s' % (code, message))
def on_new_update(new_update): new_update['time'] = current_time_s() last_update = storage.get_last_update() if settings.get_mode() == MODE_GUARD and last_update: new_update['sensors'] = utils.merge_sensors(new_update['sensors'], last_update['sensors']) storage.save_last_update(new_update) if not last_update: return result, sensors = Comparator().compare(last_update, new_update) if result != Comparator.RESULT_EQUALS: system_state = get_system_state() notifier.notify(result, system_state) saved_rows = storage.add_to_log(system_state) if saved_rows == 0: raise OperationalError else: log.d('No changes since last update')