Beispiel #1
0
 def _http_json_get_value(uids=None, locations=None, names=None):
     """
     Get single or multiple endpoint values from data source
     
     @param uids: list of endpoint ids
     @param locations: list of endpoint locations
     @param names: list of endpoint names
     
     @return list of endpoint values in JSON format
     """
     # Create list of JSON endpoint data
     req = []
     if uids is not None and locations is not None and names is not None:
         if len(uids) > 0:
             for uid in uids:
                 endp = LagartoEndpoint(endp_id=uid)
                 req.append(endp.dumps())
         elif len(locations) == len(names) > 0:
             for i, loc in enumerate(locations):
                 endp = LagartoEndpoint(location=loc, name=names[i])
                 req.append(endp.dumps())
     else:  # Return whole network status
         req = None
                 
     status = LagartoHttpServer.data_server.get_status(req)
     
     if status is not None:
         if len(status) > 0:
             # Create complete Lagarto status message
             http_server = LagartoHttpServer.address + ":" + str(LagartoHttpServer.port)
             response = LagartoMessage(proc_name=LagartoHttpServer.proc_name, http_server=http_server, status=status)
             return json.dumps(response.dumps())
             
     return None
Beispiel #2
0
    def _http_json_get_value(self, uid=None, location=None, name=None):
        """
        Get single or multiple endpoint values from data source
        
        @param uid: endpoint uid
        @param location: endpoint locations
        @param name: endpoint name
        
        @return list of endpoint values in JSON format
        """
        # Create list of JSON endpoint data
        req = []
        if uid is not None:
            endp = LagartoEndpoint(endp_id=uid)
            req.append(endp.dumps())
        elif location is not None and name is not None:
            endp = LagartoEndpoint(location=location, name=name)
            req.append(endp.dumps())
        else:  # Return whole network status
            req = None

        status = self.data_server.get_status(req)

        if status is not None:
            if len(status) > 0:
                # Create complete Lagarto status message
                http_server = self.address + ":" + str(self.port)
                response = LagartoMessage(proc_name=self.proc_name,
                                          http_server=http_server,
                                          status=status)
                return json.dumps(response.dumps())

        return None
Beispiel #3
0
 def _http_json_get_value(self, uid=None, location=None, name=None):
     """
     Get single or multiple endpoint values from data source
     
     @param uid: endpoint uid
     @param location: endpoint locations
     @param name: endpoint name
     
     @return list of endpoint values in JSON format
     """
     # Create list of JSON endpoint data
     req = []
     if uid is not None:
         endp = LagartoEndpoint(endp_id=uid)
         req.append(endp.dumps())
     elif location is not None and name is not None:
         endp = LagartoEndpoint(location=location, name=name)
         req.append(endp.dumps())
     else:  # Return whole network status
         req = None
                 
     status = self.data_server.get_status(req)
     
     if status is not None:
         if len(status) > 0:
             # Create complete Lagarto status message
             http_server = self.address + ":" + str(self.port)
             response = LagartoMessage(proc_name=self.proc_name, http_server=http_server, status=status)
             return json.dumps(response.dumps())
             
     return None
Beispiel #4
0
    def get_endpoint(endp):
        """
        Get Lagarto endpoint
        
        @param endp: endpoint identification string
        format 1: process.location.name
        format 2: process.id
        
        @return lagarto endpoint object
        """
        epd = endp.split('.')
        length = len(epd)
        epid = None
        eploc = None
        epname = None
        if length == 3:
            eploc = epd[1]
            epname = epd[2]
        else:
            epd = endp.partition('.')
            epid = epd[2]
        
        procname = epd[0]
        lagarto_endp = LagartoEndpoint(endp_id=epid, location=eploc, name=epname, procname=procname)

        try:
            status = NetworkAPI.lagarto_client.request_status(procname, [lagarto_endp.dumps(enable_value=False)])
            if status is not None:
                if len(status) > 0:
                    lagarto_endp = LagartoEndpoint(endpstr=status[0], procname=procname)
                    return lagarto_endp
            return None
        except:
            raise
Beispiel #5
0
 def _http_json_set_value(uids, locations, names, values):
     """
     Set single or multiple endpoint values on data source
     
     @param uids: list of endpoint ids
     @param locations: list of endpoint locations
     @param names: list of endpoint names
     @param values: list of endpoint values
     
     @return list of endpoint values in JSON format
     """
     # Create list of JSON endpoint data
     req = []
     if values is not None:
         if len(values) > 0:
             for i, val in enumerate(values):
                 if len(locations) == len(names) > i:
                     endp = LagartoEndpoint(location = locations[i], name=names[i], value=val)
                 elif len(uids) > i:
                     endp = LagartoEndpoint(endp_id=uids[i], value=val)
                 req.append(endp.dumps())
     else:
         return None
                 
     status = LagartoHttpServer.data_server.set_status(req)
     
     if status is not None:
         if len(status) > 0:
             # Create complete Lagarto status message
             http_server = LagartoHttpServer.address + ":" + str(LagartoHttpServer.port)
             response = LagartoMessage(proc_name=LagartoHttpServer.proc_name, http_server=http_server, status=status)
             return json.dumps(response.dumps())
             
     return None
Beispiel #6
0
    def _http_simple_set_value(uid, location, name, value):
        """
        Set endpoint value on data source
        
        @param uid: endpoint unique id
        @param location: endpoint location
        @param name: endpoint name
        @param value: new endpoint value
        
        @return endpoint value in raw string format
        """
        if LagartoHttpServer.disable_set_value:
            return None

        endp = LagartoEndpoint(endp_id=uid, location=location, name=name, value=value)
        status = LagartoHttpServer.data_server.set_status([endp.dumps()])
        
        if status is not None:
            if len(status) == 1:
                if "value" in status[0]:   
                    res = str(status[0]["value"])
                    if "unit" in status[0]:
                        res += " " + status[0]["unit"]
                    return res
                
        return None
Beispiel #7
0
    def _http_simple_set_value(self, uid, location, name, value):
        """
        Set endpoint value on data source
        
        @param uid: endpoint unique id
        @param location: endpoint location
        @param name: endpoint name
        @param value: new endpoint value
        
        @return endpoint value in raw string format
        """
        endp = LagartoEndpoint(endp_id=uid,
                               location=location,
                               name=name,
                               value=value)
        status = LagartoHttpServer.data_server.set_status([endp.dumps()])

        if status is not None:
            if len(status) == 1:
                if "value" in status[0]:
                    res = str(status[0]["value"])
                    if "unit" in status[0]:
                        res += " " + status[0]["unit"]
                    return res

        return None
Beispiel #8
0
    def get_endpoint(endp):
        """
        Get Lagarto endpoint
        
        @param endp: endpoint identification string
        format 1: process.location.name
        format 2: process.id
        
        @return lagarto endpoint object
        """
        epd = endp.split('.')
        length = len(epd)
        epid = None
        eploc = None
        epname = None
        if length == 3:
            eploc = epd[1]
            epname = epd[2]
        else:
            epd = endp.partition('.')
            epid = epd[2]

        procname = epd[0]
        lagarto_endp = LagartoEndpoint(endp_id=epid,
                                       location=eploc,
                                       name=epname,
                                       procname=procname)

        try:
            status = NetworkAPI.lagarto_client.request_status(
                procname, [lagarto_endp.dumps(enable_value=False)])
            if status is not None:
                if len(status) > 0:
                    lagarto_endp = LagartoEndpoint(endpstr=status[0],
                                                   procname=procname)
                    return lagarto_endp
            return None
        except:
            raise
Beispiel #9
0
    def _http_simple_get_value(self, uid, location, name):
        """
        Get endpoint value from data source
        
        @param uid: endpoint unique id
        @param location: endpoint location
        @param name: endpoint name
        
        @return endpoint value in raw string format
        """
        endp = LagartoEndpoint(endp_id=uid, location=location, name=name)

        status = LagartoHttpServer.data_server.get_status([endp.dumps()])

        if status is not None:
            if len(status) == 1:
                if "value" in status[0]:
                    res = str(status[0]["value"])
                    if "unit" in status[0]:
                        res += " " + status[0]["unit"]
                    return res
                
        return None