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)
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)
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()
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)
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()
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')
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)
def handle_door_handle_OPTIONS(request): cors(request, methods=['GET', 'PUT', 'OPTIONS']) request.setHeader('Allow', 'GET, PUT, OPTIONS')
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)
def handle_window_lock_GET(request): cors(request, methods=['GET', 'PUT']) return make_response(lock, request)
def home_OPTIONS(request): cors(request, methods=['GET', 'OPTIONS']) request.setHeader('Allow', 'GET')
def home(request): cors(request, methods=['GET', 'OPTIONS']) request.setHeader('Content-Type', 'application/ld+json') return xwot_app.jsonld_description_str
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")
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)
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)