def handle_display_PUT(request):
    content_type = request.getHeader('Content-Type')
    data = request.content.read()
    dic = deserialize(data, content_type)
    display.update(dic, content_type)
    cors(request, methods=['GET', 'PUT'])
    return make_response(display, request)
Beispiel #2
0
def handle_window_lock_PUT(request):
    data = request.content.read()
    content_type = request.getHeader('Content-Type')
    dic = deserialize(data, content_type)
    lock.update(dic, content_type)
    cors(request, methods=['GET', 'PUT'])
    return make_response(lock, request)
def handle_sensor_PUT(request):
    data = request.content.read()
    content_type = request.getHeader('Content-Type')
    dic = deserialize(data, content_type)
    sensing_device.update(dic, content_type)
    cors(request, methods=['GET', 'PUT'])
    return make_response(sensing_device, request)
def handle_lightbulb_PUT(request):
    data = request.content.read()
    content_type = request.getHeader("Content-Type")
    dic = deserialize(data, content_type)
    status = lightbulb.update(dic, content_type)
    cors(request, methods=["GET", "PUT", "OPTIONS"])
    return make_response(lightbulb, request=request, status=status)
Beispiel #5
0
def handle_waterdispenser_valve_PUT(request):
    data = request.content.read()
    content_type = request.getHeader('Content-Type')
    dic = deserialize(data, content_type)
    status = valve.update(dic, content_type)
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    return make_response(valve, request=request, status=status)
def handle_windows_windows_pub_POST2(request):
    cors(request, methods=["GET", "PUT", "OPTIONS"])
    request.setHeader("Allow", "GET, PUT, OPTIONS")
    json_data = json.loads(request.content.getvalue())
    logging.debug(json_data)
    logging.debug(request.requestHeaders)
    accept_type = request.requestHeaders.getRawHeaders("Accept")[0]
    lastrowid = SubscriberDB.insertClient(json_data["uri"], json_data["method"], json_data["accept"], "1")
    if not None:
        if accept_type == "application/json":
            request.setHeader("Content-Type", "application/json; charset=UTF-8")
            request.setResponseCode(200)
            return str(
                '{"id":"%s", "uri":"%s", "method":"%s", "accept":"%s"}'
                % (lastrowid, json_data["uri"], json_data["method"], json_data["accept"])
            )
        elif accept_type == "application/xml":
            request.setHeader("Content-Type", "application/xml; charset=UTF-8")
            request.setResponseCode(200)
            return str(
                "<client><id>%s</id><uri>%s</uri><method>%s</method><accept>%s</accept></client>"
                % (lastrowid, json_data["uri"], json_data["method"], json_data["accept"])
            )
        else:
            request.write("<!DOCTYPE html>\n")
            flattenString(
                request, ClientElement(lastrowid, json_data["uri"], json_data["method"], json_data["accept"], "")
            ).addCallback(request.write)
            request.finish()
def handle_windows_windows_pub_GET2(request):
    cors(request, methods=["GET", "PUT", "OPTIONS"])
    request.setHeader("Allow", "GET, PUT, OPTIONS")
    dbclient = SubscriberDB.getAllClients("1")
    logging.debug(request.requestHeaders)
    accept_type = request.requestHeaders.getRawHeaders("Accept")[0]
    clients = ""
    if not None:
        if accept_type == "application/json":
            request.setHeader("Content-Type", "application/json; charset=UTF-8")
            request.setResponseCode(200)
            for cl in dbclient:
                clients += str('{"id":"%s", "uri":"%s", "method":"%s", "accept":"%s"}, ' % (cl[0], cl[1], cl[2], cl[3]))
            return str('{"clients": {"client":[%s]}}' % (clients[:-2]))
        elif accept_type == "application/xml":
            request.setHeader("Content-Type", "application/xml; charset=UTF-8")
            request.setResponseCode(200)
            for cl in dbclient:
                clients += str(
                    "<client><id>%s</id><uri>%s</uri><method>%s</method><accept>%s</accept></client> "
                    % (cl[0], cl[1], cl[2], cl[3])
                )
            return str("<clients>%s</clients>" % (clients))
        else:
            request.write("<!DOCTYPE html>\n")
            flattenString(request, ClientsElement(dbclient)).addCallback(request.write)
            request.finish()
def handle_windows_windows_pub_clientid_DELETE(request, clientid):
    cors(request, methods=["GET", "PUT", "OPTIONS"])
    request.setHeader("Allow", "GET, PUT, OPTIONS")
    logging.debug(request.requestHeaders)
    accept_type = request.requestHeaders.getRawHeaders("Accept")[0].split()[0]
    client = SubscriberDB.getClient(clientid)
    SubscriberDB.deleteQuery(clientid)
    if not None:
        if "application/json" in accept_type:
            request.setHeader("Content-Type", "application/json; charset=UTF-8")
            request.setResponseCode(200)
            return str(
                '{"id":"%s", "uri":"%s", "method":"%s", "accept":"%s"}' % (client[0], client[1], client[2], client[3])
            )
        elif "application/xml" in accept_type:
            request.setHeader("Content-Type", "application/xml; charset=UTF-8")
            request.setResponseCode(200)
            return str(
                "<client><id>%s</id><uri>%s</uri><method>%s</method><accept>%s</accept></client>"
                % (client[0], client[1], client[2], client[3])
            )
        else:
            request.write("<!DOCTYPE html>\n")
            flattenString(request, ClientElement(client[0], client[1], client[2], client[3])).addCallback(request.write)
            request.finish()
Beispiel #9
0
def handle_dht22_PUT(request):
    data = request.data
    content_type = request.headers.get("Content-Type")
    dic = deserialize(data, content_type)
    dht.update(dic, content_type)
    cors(request, methods=['GET'])
    return make_response(dht, request)
Beispiel #10
0
def handle_window_shutter_PUT(request):
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    data = request.content.read()
    content_type = request.getHeader('Content-Type')
    dic = deserialize(data, content_type=content_type)

    task.deferLater(reactor, 0.2, shutter.update, dic, content_type)
    deferred_response = task.deferLater(reactor, 0, make_response, shutter, request)
    return deferred_response
def handle_display_humidity_GET(request):
    if xwot_app.resources["humidity_sensor"]:
        accept = request.getHeader("Accept")
        d = treq.get(xwot_app.resources["humidity_sensor"], headers={"Accept": "application/json"})
        request.setHeader("Content-Type", accept)
        d.addCallback(treq.content)
        d.addCallback(humidity_sensor.parse, accept)
        d.addCallback(humidity_sensor.serialize)

        return d
    else:
        request.setResponseCode(404)
    cors(request, methods=["GET"])
    return ""
def handle_display_temperature_GET(request):
    if xwot_app.resources['temperature_sensor']:
        accept = request.getHeader('Accept')
        d = treq.get(xwot_app.resources['temperature_sensor'], headers={'Accept': 'application/json'})
        request.setHeader('Content-Type', accept)
        d.addCallback(treq.content)
        d.addCallback(temperature_sensor.parse, accept)
        d.addCallback(temperature_sensor.serialize)

        return d
    else:
        request.setResponseCode(404)
    cors(request, methods=['GET'])
    return ''
def handle_windows_windows_pub_clientid_GET6(request, clientid):
    logging.debug(request.requestHeaders)
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    accept_type = request.requestHeaders.getRawHeaders('Accept')[0].split(',')[0]
    client = SubscriberDB.getClient(clientid)
    if not None:
        if 'application/json' in accept_type:
            request.setHeader('Content-Type', 'application/json; charset=UTF-8')
            request.setResponseCode(200)
            return str('{"id":"%s", "uri":"%s", "method":"%s", "accept":"%s"}' % (client[0], client[1], client[2], client[3]))
        elif accept_type == 'application/xml':
            request.setHeader('Content-Type', 'application/xml; charset=UTF-8')
            request.setResponseCode(200)
            return str('<client><id>%s</id><uri>%s</uri><method>%s</method><accept>%s</accept></client>' % (client[0], client[1], client[2], client[3]))
        else:
            request.write('<!DOCTYPE html>\n')
            flattenString(request, ClientElement(client[0], client[1], client[2], client[3], '')).addCallback(request.write)
            request.finish()
Beispiel #14
0
def handle_sensor_pub_POST(request):
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    request.setHeader('Allow', 'GET, PUT, OPTIONS')
    json_data = json.loads(request.content.getvalue())
    logging.debug(json_data)
    logging.debug(request.requestHeaders)
    accept_type = request.requestHeaders.getRawHeaders("Accept")[0]
    lastrowid = SubscriberDB.insertClient(json_data['uri'], json_data['method'], json_data['accept'], '2')
    if not None:
        if accept_type == "application/json":
            request.setHeader("Content-Type", "application/json; charset=UTF-8")
            request.setResponseCode(200)
            return str('{"id":"%s", "uri":"%s", "method":"%s", "accept":"%s"}' % (lastrowid, json_data['uri'], json_data['method'], json_data['accept']))
        elif accept_type == "application/xml":
            request.setHeader("Content-Type", "application/xml; charset=UTF-8")
            request.setResponseCode(200)
            return str('<client><id>%s</id><uri>%s</uri><method>%s</method><accept>%s</accept></client>' % (lastrowid, json_data['uri'], json_data['method'], json_data['accept']))
        else:
            request.write("<!DOCTYPE html>\n")
            flattenString(request, ClientElement(lastrowid, json_data['uri'], json_data['method'], json_data['accept'], '')).addCallback(request.write)
            request.finish()
def handle_windows_windows_pub_clientid_PUT6(request, clientid):
    logging.debug(request.requestHeaders)
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    request.setHeader('Allow', 'GET, PUT, OPTIONS')
    accept_type = request.requestHeaders.getRawHeaders("Accept")[0].split(
    )[0]
    #TODO Update the client in the databse
    client = SubscriberDB.getClient(clientid)
    if not None:
        if "application/json" in accept_type:
            request.setHeader("Content-Type", "application/json; charset=UTF-8")
            request.setResponseCode(200)
            return str('{"id":"%s", "uri":"%s", "method":"%s", "accept":"%s"}' % (client[0], client[1], client[2], client[3]))
        elif "application/xml" in accept_type:
            request.setHeader("Content-Type", "application/xml; charset=UTF-8")
            request.setResponseCode(200)
            return str('<client><id>%s</id><uri>%s</uri><method>%s</method><accept>%s</accept></client>' % (client[0], client[1], client[2], client[3]))
        else:
            request.write("<!DOCTYPE html>\n")
            flattenString(request, ClientElement(client[0], client[1], client[2], client[3], )).addCallback(request.write)
            request.finish()
def handle_valve_pub_clientid_OPTIONS(request, clientid):
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    request.setHeader('Allow', 'GET, PUT, OPTIONS')
Beispiel #17
0
def handle_door_handle_GET(request):
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    return make_response(handle, request)
def handle_weatherstation_sensors_humidity_GET(request):
    cors(request, methods=['GET'])
    return make_response(humidity_sensor, request)
Beispiel #19
0
def handle_door_handle_OPTIONS(request):
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    request.setHeader('Allow', 'GET, PUT, OPTIONS')
Beispiel #20
0
def handle_window_shutter_GET(request):
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    return make_response(shutter, request)
def handle_weatherstation_sensors_altitude_GET(request):
    cors(request, methods=['GET'])
    return make_response(altitude_sensor, request)
Beispiel #22
0
def handle_window_lock_GET(request):
    cors(request, methods=['GET', 'PUT'])
    return make_response(lock, request)
Beispiel #23
0
def home_OPTIONS(request):
    cors(request, methods=['GET', 'OPTIONS'])
    request.setHeader('Allow', 'GET')
Beispiel #24
0
def home(request):
    cors(request, methods=['GET', 'OPTIONS'])
    request.setHeader('Content-Type', 'application/ld+json')
    return xwot_app.jsonld_description_str
Beispiel #25
0
def handle_weatherstation_sensors_GET(request):
    cors(request, methods=['GET'])
    return make_response(sensor_collection, request)
def handle_windows_windows_pub_clientid_OPTIONS(request, clientid):
    cors(request, methods=["GET", "PUT", "OPTIONS"])
    request.setHeader("Allow", "GET, PUT, OPTIONS")
Beispiel #27
0
def handle_display_GET(request):
    cors(request, methods=['GET', 'PUT'])
    return make_response(display, request)
def handle_dht22_humidity_GET(request):
    cors(request, methods=['GET'])
    return make_response(dht_humidity, request)
Beispiel #29
0
def handle_windows_windows_pub_OPTIONS(request):
    cors(request, methods=['GET', 'PUT', 'OPTIONS'])
    request.setHeader('Allow', 'GET, PUT, OPTIONS')
def handle_sensor_temperature_GET(request):
    cors(request, methods=["GET"])
    return make_response(temperature_sensor, request)