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 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 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 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()
Exemple #10
0
    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()
Exemple #11
0
    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()
Exemple #12
0
	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()