def post(self): response = ApiResponse(request) sensor_id = RequestHelper.get_form_data(response, 'sensor_id', int) value = RequestHelper.get_form_data(response, 'value', float) timestamp_str = RequestHelper.get_form_data(response, 'timestamp', str) store_reading(response, sensor_id, value, timestamp_str) return response.json()
def get(self): api_response = ApiResponse() filters = {} site_id = RequestHelper.get_form_data(api_response, 'site_id', str) if site_id: filters.update({'site_id': site_id}) nodes = Node.query.filter_by(**filters).all() for node in nodes: api_response += node return api_response.json()
def get(self): response = ApiResponse(request) sensor_id = RequestHelper.get_form_data(response, 'sensor_id', int, http_verb = 'GET') node_id = RequestHelper.get_form_data(response, 'node_id', int, http_verb = 'GET') sensor_alias = RequestHelper.get_form_data(response, 'sensor_alias', str, http_verb = 'GET') from_date = RequestHelper.get_form_data(response, 'from', str, http_verb = 'GET') until_date = RequestHelper.get_form_data(response, 'until', str, http_verb = 'GET') query = Reading.query readings = list() if sensor_id: query = Reading.query.filter_by(sensor_id = sensor_id) readings = Reading.query_interval(query, from_date, until_date).all() for reading in readings: response += reading return response.json() elif node_id and sensor_alias: node = Node.query.filter_by(id = node_id).first() sensor = Sensor.query.filter_by(alias = sensor_alias, node = node).first() if sensor: query = Reading.query.filter_by(sensor_id = sensor.id) readings = Reading.query_interval(query, from_date, until_date).all() for reading in readings: response += reading return response.json() elif node_id and not sensor_alias: response += exc.MissingParameterException('sensor_alias') return response.json() elif not node_id and sensor_alias: response += exc.MissingParameterException('node_id') return response.json() elif from_date or until_date: readings = Reading.query_interval(query, from_date, until_date).all() for reading in readings: response += reading return response.json() else: response += exc.MissingParameterException('sensor_id OR node_id and sensor_alias') return response.json()
def post(self): """ Use a HTTP POST request to /node to create a new node inside the network Example in Python: >>> import requests >>> r = requests.post('http://localhost:8080/node', data = {'alias':'mynode', 'site_id':'1', 'latitude':'13.24234234', 'longitude':23.222, 'populate':3, 'node_type':'ricefield'}) """ response = ApiResponse(request) # RequestHelper.filter_valid_parameters(Node, response, request) node_alias = RequestHelper.get_form_data(response, 'alias', str) node_type = RequestHelper.get_form_data(response, 'node_type', str, default = 'empty') site_id = RequestHelper.get_form_data(response, 'site_id', int) longitude = RequestHelper.get_form_data(response, 'longitude', float) latitude = RequestHelper.get_form_data(response, 'latitude', float) populate = RequestHelper.get_form_data(response, 'populate', int, default = 0) site = Site.query.filter_by(id = site_id).first() if site: node = NodeSeeder.seed_node(node_type, alias = node_alias, site_id = site_id, latitude = latitude, longitude = longitude, populate = populate) response += node else: response += exc.MissingSiteException(site_id) return response.json()
def __parse_form_data(self): form = {} form.update({ 'node_alias' : RequestHelper.get_form_data(response, 'alias', str), 'node_type' : RequestHelper.get_form_data(response, 'node_type', str, default = 'empty'), 'site_id' : RequestHelper.get_form_data(response, 'site_id', int), 'longitude' : RequestHelper.get_form_data(response, 'longitude', float), 'latitude' : RequestHelper.get_form_data(response, 'latitude', float), 'node_readings' : RequestHelper.get_form_data(response, 'node_readings', int, default = 0) }) return form
def __parse_form_data(self): form = {} form.update({ 'node_alias': RequestHelper.get_form_data(response, 'alias', str), 'node_type': RequestHelper.get_form_data(response, 'node_type', str, default='empty'), 'site_id': RequestHelper.get_form_data(response, 'site_id', int), 'longitude': RequestHelper.get_form_data(response, 'longitude', float), 'latitude': RequestHelper.get_form_data(response, 'latitude', float), 'node_readings': RequestHelper.get_form_data(response, 'node_readings', int, default=0) }) return form
def post(self): """ Use a HTTP POST request to /node to create a new node inside the network Example in Python: >>> import requests >>> r = requests.post('http://localhost:8080/node', data = {'alias':'mynode', 'site_id':'1', 'latitude':'13.24234234', 'longitude':23.222, 'populate':3, 'node_type':'ricefield'}) """ response = ApiResponse(request) # RequestHelper.filter_valid_parameters(Node, response, request) node_alias = RequestHelper.get_form_data(response, 'alias', str) node_type = RequestHelper.get_form_data(response, 'node_type', str, default='empty') site_id = RequestHelper.get_form_data(response, 'site_id', int) longitude = RequestHelper.get_form_data(response, 'longitude', float) latitude = RequestHelper.get_form_data(response, 'latitude', float) populate = RequestHelper.get_form_data(response, 'populate', int, default=0) site = Site.query.filter_by(id=site_id).first() if site: node = NodeSeeder.seed_node(node_type, alias=node_alias, site_id=site_id, latitude=latitude, longitude=longitude, populate=populate) response += node else: response += exc.MissingSiteException(site_id) return response.json()
def post(self): response = ApiResponse() site_alias = RequestHelper.get_form_data(response, 'alias', str) response += SiteSeeder.seed_empty_site(site_alias=site_alias) return response.json()
def get(self): response = ApiResponse(request) sensor_id = RequestHelper.get_form_data(response, 'sensor_id', int, http_verb='GET') node_id = RequestHelper.get_form_data(response, 'node_id', int, http_verb='GET') sensor_alias = RequestHelper.get_form_data(response, 'sensor_alias', str, http_verb='GET') from_date = RequestHelper.get_form_data(response, 'from', str, http_verb='GET') until_date = RequestHelper.get_form_data(response, 'until', str, http_verb='GET') query = Reading.query readings = list() if sensor_id: query = Reading.query.filter_by(sensor_id=sensor_id) readings = Reading.query_interval(query, from_date, until_date).all() for reading in readings: response += reading return response.json() elif node_id and sensor_alias: node = Node.query.filter_by(id=node_id).first() sensor = Sensor.query.filter_by(alias=sensor_alias, node=node).first() if sensor: query = Reading.query.filter_by(sensor_id=sensor.id) readings = Reading.query_interval(query, from_date, until_date).all() for reading in readings: response += reading return response.json() elif node_id and not sensor_alias: response += exc.MissingParameterException('sensor_alias') return response.json() elif not node_id and sensor_alias: response += exc.MissingParameterException('node_id') return response.json() elif from_date or until_date: readings = Reading.query_interval(query, from_date, until_date).all() for reading in readings: response += reading return response.json() else: response += exc.MissingParameterException( 'sensor_id OR node_id and sensor_alias') return response.json()
def post(self): response = ApiResponse() site_alias = RequestHelper.get_form_data(response, 'alias', str) response += SiteSeeder.seed_empty_site(site_alias = site_alias) return response.json()