def http_command_received(self, command, params): """ Process command sent from HTTP server. Method to be overrided by data consumer. Method required by LagartoClient @param command: command string @param params: dictionary of parameters @return True if command successfukky processed by server. Return False otherwise """ try: if command == "get_server_list": return self.get_servers() elif command == "get_endpoint_list": return self.get_endpoints(params["server"]) elif command == "set_endpoint_value": location = None name = None endp_id = None if "id" in params: endp_id = params["id"] if "location" in params: location = params["location"] if "name" in params: name = params["name"] endpoint = LagartoEndpoint(endp_id = endp_id, location=location, name=name, value=params["value"], procname=params["procname"]) return self.set_endpoint(endpoint) elif command == "set_from_opensense": if "feed_id" not in params: return None endp = None for key, value in OpenSense.feed_ids.iteritems(): if value == params["feed_id"]: endp = value if endp is None: return None endp_data = endp.split(".") if len(endp_data) != 3: return None endpoint = LagartoEndpoint(location=endp_data[1], name=endp_data[2], value=params["value"], procname=endp_data[0]) return self.set_endpoint(endpoint) elif command == "get_event_list": return WebEvent.get_events() elif command == "get_event": if "id" in params: try: event = WebEvent(params["id"]) return event.dumps() except: pass elif command == "delete_event": if "id" in params: event = WebEvent(params["id"]) event.delete() return "event_panel.html" elif command == "config_event_name": if "id" in params: event = WebEvent(params["id"]) event.name = params["name"] event.save() return True elif command == "set_event_line": if "id" in params: event = WebEvent(params["id"]) linenb = params["linenb"] event.set_line(params["line"], linenb, params["type"]) event.save() return "edit_event.html" elif command == "delete_event_line": if "id" in params: event = WebEvent(params["id"]) linenb = params["linenb"] event.delete_line(linenb) event.save() return "edit_event.html" elif command == "edit_db_table": self.database.edit_table(params["name"], params["endpoints"].split(','), params["interval"]) return "db_panel.html" elif command == "delete_db_table": self.database.delete_table(params["name"]) return "db_panel.html" elif command == "edit_graph": columns = None if "columns" in params: columns = params["columns"].split(',') title = None if "title" in params: title = params["title"] graphtype = None if "type" in params: graphtype = params["type"] samples = None if "samples" in params: samples = params["samples"] start = None if "starttime" in params: start = params["starttime"] end = None if "endtime" in params: end = params["endtime"] miny = None if "miny" in params: miny = params["miny"] maxy = None if "maxy" in params: maxy = params["maxy"] show_grid = False if "show_grid" in params: show_grid = (params["show_grid"].lower() in ["true", "on", "yes", "enable"]) self.database.edit_graph(graph_name=params["name"], table_name=params["table"], columns=columns, title=title, graphtype=graphtype, samples=samples, start=start, end=end, miny=miny, maxy=maxy, show_grid=show_grid) return "graph_panel.html" elif command == "delete_graph": self.database.delete_graph(params["name"]) return "graph_panel.html" elif command == "query_db_table": columns = None start = None end = None samples = None if "table" in params: if "columns" in params: columns = params["columns"].split(',') if "start" in params: start = params["start"].replace('+', ' ') if "end" in params: end = params["end"].replace('+', ' ') if "samples" in params: samples = params["samples"] return self.database.query_table(params["table"], columns, start, end, samples) except LagartoException as ex: ex.log() except Exception as ex: print ex pass return False
def http_command_received(self, command, params): """ Process command sent from HTTP server. Method to be overrided by data consumer. Method required by LagartoClient @param command: command string @param params: dictionary of parameters @return True if command successfukky processed by server. Return False otherwise """ try: if command == "get_server_list": return self.get_servers() elif command == "get_endpoint_list": return self.get_endpoints(params["server"]) elif command == "set_endpoint_value": location = None name = None endp_id = None if "id" in params: endp_id = params["id"] if "location" in params: location = params["location"] if "name" in params: name = params["name"] endpoint = LagartoEndpoint(endp_id=endp_id, location=location, name=name, value=params["value"], procname=params["procname"]) return self.set_endpoint(endpoint) elif command == "set_from_opensense": if "feed_id" not in params: return None endp = None for key, value in OpenSense.feed_ids.iteritems(): if value == params["feed_id"]: endp = value if endp is None: return None endp_data = endp.split(".") if len(endp_data) != 3: return None endpoint = LagartoEndpoint(location=endp_data[1], name=endp_data[2], value=params["value"], procname=endp_data[0]) return self.set_endpoint(endpoint) elif command == "get_event_list": return WebEvent.get_events() elif command == "get_event": if "id" in params: try: event = WebEvent(params["id"]) return event.dumps() except: pass elif command == "delete_event": if "id" in params: event = WebEvent(params["id"]) event.delete() return "event_panel.html" elif command == "config_event_name": if "id" in params: event = WebEvent(params["id"]) event.name = params["name"] event.save() return True elif command == "set_event_line": if "id" in params: event = WebEvent(params["id"]) linenb = params["linenb"] event.set_line(params["line"], linenb, params["type"]) event.save() return "edit_event.html" elif command == "delete_event_line": if "id" in params: event = WebEvent(params["id"]) linenb = params["linenb"] event.delete_line(linenb) event.save() return "edit_event.html" elif command == "edit_db_table": self.database.edit_table(params["name"], params["endpoints"].split(','), params["interval"]) return "db_panel.html" elif command == "delete_db_table": self.database.delete_table(params["name"]) return "db_panel.html" elif command == "edit_graph": columns = None if "columns" in params: columns = params["columns"].split(',') title = None if "title" in params: title = params["title"] graphtype = None if "type" in params: graphtype = params["type"] samples = None if "samples" in params: samples = params["samples"] start = None if "starttime" in params: start = params["starttime"] end = None if "endtime" in params: end = params["endtime"] miny = None if "miny" in params: miny = params["miny"] maxy = None if "maxy" in params: maxy = params["maxy"] show_grid = False if "show_grid" in params: show_grid = (params["show_grid"].lower() in ["true", "on", "yes", "enable"]) self.database.edit_graph(graph_name=params["name"], table_name=params["table"], columns=columns, title=title, graphtype=graphtype, samples=samples, start=start, end=end, miny=miny, maxy=maxy, show_grid=show_grid) return "graph_panel.html" elif command == "delete_graph": self.database.delete_graph(params["name"]) return "graph_panel.html" elif command == "query_db_table": columns = None start = None end = None samples = None if "table" in params: if "columns" in params: columns = params["columns"].split(',') if "start" in params: start = params["start"].replace('+', ' ') if "end" in params: end = params["end"].replace('+', ' ') if "samples" in params: samples = params["samples"] return self.database.query_table(params["table"], columns, start, end, samples) except LagartoException as ex: ex.log() except Exception as ex: print ex pass return False
from database import DataBase from maxdefs import MaxDefinitions sys.path.append(MaxDefinitions.lagarto_dir) from lagartocomms import LagartoBroker from lagartoresources import LagartoEndpoint, LagartoException from api import TimeAPI, NetworkAPI from clouding import OpenSense try: import webscripts except ImportError: from webevents import WebEvent try: WebEvent.create_empty() import webscripts except: raise from webevents import WebEvent import scripts.events class PeriodicTrigger(threading.Thread): """ Periodic trigger class """ def run(self): """ Start timer
from xmltools import XmlSettings from database import DataBase from maxdefs import MaxDefinitions sys.path.append(MaxDefinitions.lagarto_dir) from lagartocomms import LagartoBroker from lagartoresources import LagartoEndpoint, LagartoException from api import TimeAPI, NetworkAPI from clouding import OpenSense try: import webscripts except ImportError: from webevents import WebEvent try: WebEvent.create_empty() import webscripts except: raise from webevents import WebEvent import scripts.events class PeriodicTrigger(threading.Thread): """ Periodic trigger class """ def run(self): """ Start timer