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
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
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
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
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
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
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
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
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