コード例 #1
0
ファイル: evnmanager.py プロジェクト: cttctablet1/panstamp
    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
コード例 #2
0
    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
コード例 #3
0
ファイル: evnmanager.py プロジェクト: cttctablet1/panstamp
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
コード例 #4
0
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