Example #1
0
    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))
Example #2
0
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')