示例#1
0
    def __init__(self):
        # Variables
        self.level_num = ""
        self.curr_player = None

        # Debug info
        self.DEBUG = 1
        self.DEBUG_TAG = "[Main]"

        # Reads arguments from command line for which level to load
        # If no argument is entered, 00 is rendered
        if (len(sys.argv) > 1):
            self.level_num = sys.argv[1]
        else:
            self.level_num = "00"

        # Init pygame info
        pygame.init()
        self.display_surface = pygame.display.set_mode(
            (GAME_X_DIM, GAME_Y_DIM))
        pygame.display.set_caption(GAME_TITLE)
        self.clock = pygame.time.Clock()

        # Init EventHandler
        self.event_handler = EventHandler()

        # Build Level
        self.lvl_builder = LevelBuilder(self.level_num)
        self.curr_player = self.lvl_builder.getPlayer()
示例#2
0
 def setup_bot(self):
     """
     Setup routine for new bot. Does the following things:
         1. Select virtual server specified by self.sid
         2. Set bot nickname to the Name specified by self.bot_name
         3. Move the bot to the channel specified by self.default_channel
         4. Register command and event handlers
     :return:
     """
     try:
         self.ts3conn.use(sid=self.sid)
     except ts3.TS3Connection.TS3QueryException:
         self.logger.exception("Error on use SID")
         exit()
     try:
         self.channel = self.get_channel_id(self.default_channel)
         self.ts3conn.clientupdate(["client_nickname=" + self.bot_name])
         self.ts3conn.clientmove(self.channel,
                                 int(self.ts3conn.whoami()["client_id"]))
     except ts3.TS3Connection.TS3QueryException:
         self.logger.exception("Error on setting up client")
         self.ts3conn.quit()
         return
     self.command_handler = textcommands.CommandHandler(self.ts3conn)
     self.event_handler = EventHandler.EventHandler(
         ts3conn=self.ts3conn, command_handler=self.command_handler)
     try:
         self.ts3conn.register_for_server_events(
             self.event_handler.on_event)
         self.ts3conn.register_for_private_messages(
             self.event_handler.on_event)
     except ts3.TS3Connection.TS3QueryException:
         self.logger.exception("Error on registering for events.")
         exit()
示例#3
0
    def __init__(self):
        """ Initialisiert die Kamera, die Runtime und den Eventhandler. Ladet die Planeten und startet das Programm

        """

        props = WindowProperties()
        props.setTitle('Solarsystem')
        base.win.requestProperties(props)
        base.setBackgroundColor(0, 0, 0)

        # The global variables we used to control the speed and size of objects
        self.yearscale = 60
        self.dayscale = self.yearscale / 365.0 * 5
        self.orbitscale = 10
        self.sizescale = 0.6
        self.skySize = 80

        self.runtime = RuntimeHandler()
        self.camera = Camera(render, self.skySize)

        self.loadLuminaries()
        self.runtime.rotateLuminaries()

        self.eventHandler = EventHandler(self.runtime, self.camera,
                                         self.runtime.getLuminary('sun'))
示例#4
0
 def start(self):
     c = Car.Car()  # creating the Car object
     e = EventHandler.EventHandler(
         c
     )  # the event handler object is created. The Car object is passed as an argument
     c.setEventHandler(e)
     c.startCar()  # method in car class is invoked to start the car
示例#5
0
    def getExtraHandler(self):
        returnValue = libpanda._inPziw5oC6_(self.this)
        import EventHandler
        returnObject = EventHandler.EventHandler(None)
        returnObject.this = returnValue
        if returnObject.this == 0:
            return None

        return returnObject.setPointer()
示例#6
0
def start_event_handler(s_util):

    event_hand = EventHandler.EventHandler(s_util)

    event_hand.add_event(10)
    event_hand.get_event(10).add_trigger(1, 666)
    event_hand.get_event(10).add_node_cmd_to_run("1234", "LIGHT_ON")

    event_hand.add_event(11)
    event_hand.get_event(11).add_trigger(1, 69)
    event_hand.get_event(11).add_node_cmd_to_run("1234", "ALARM M**********R")

    return event_hand
示例#7
0
 def setup_bot(self):
     """
     Setup routine for new bot. Does the following things:
         1. Select virtual server specified by self.sid
         2. Set bot nickname to the Name specified by self.bot_name
         3. Move the bot to the channel specified by self.default_channel
         4. Register command and event handlers
     :return:
     """
     try:
         self.ts3conn.use(sid=self.sid)
     except ts3.TS3Connection.TS3QueryException:
         self.logger.exception("Error on use SID")
         exit()
     try:
         try:
             self.ts3conn.clientupdate(["client_nickname=" + self.bot_name])
         except TS3QueryException as e:
             if e.type == TS3QueryExceptionType.CLIENT_NICKNAME_INUSE:
                 self.logger.info(
                     "The choosen bot nickname is already in use, keeping the default nickname"
                 )
             else:
                 raise e
         try:
             self.channel = self.get_channel_id(self.default_channel)
             self.ts3conn.clientmove(
                 self.channel, int(self.ts3conn.whoami()["client_id"]))
         except TS3QueryException as e:
             if e.type == TS3QueryExceptionType.CHANNEL_ALREADY_IN:
                 self.logger.info(
                     "The bot is already in the configured default channel")
             else:
                 raise e
     except TS3QueryException:
         self.logger.exception("Error on setting up client")
         self.ts3conn.quit()
         return
     self.command_handler = CommandHandler.CommandHandler(self.ts3conn)
     self.event_handler = EventHandler.EventHandler(
         ts3conn=self.ts3conn, command_handler=self.command_handler)
     try:
         self.ts3conn.register_for_server_events(
             self.event_handler.on_event)
         self.ts3conn.register_for_channel_events(
             0, self.event_handler.on_event)
         self.ts3conn.register_for_private_messages(
             self.event_handler.on_event)
     except ts3.TS3Connection.TS3QueryException:
         self.logger.exception("Error on registering for events.")
         exit()
示例#8
0
def main(watch_dir, logfile):
    directory = ""
    if len(watch_dir) > 0:
        directory = watch_dir
    else:
        directory = DEFAULT_DIR

    wm = pyinotify.WatchManager()
    handler = EventHandler.EventHandler()
    handler.openlog(logfile)

    notifier = pyinotify.Notifier(wm, handler)
    wdd = wm.add_watch(directory, EventHandler.mask, rec=True, auto_add=True)

    notifier.loop()
示例#9
0
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(600,600))


        self.filename = ""
        self.evt = EventHandler.EventHandler(self)
        self.toolbar = self.ToolBar()
        self.MenuBar()
        self.SetMenuBar(self.menu)
        self.statusbar = self.CreateStatusBar()
        self.statusbar.SetStatusText('Ready')


        # SideBar
        self.sidebar = wx.Panel(self)
        vbox = wx.BoxSizer(wx.VERTICAL)
        vbox.Add(SideBar(self.sidebar),1,wx.EXPAND,0)
        self.sidebar.SetSizer(vbox)

        self.draw = DrawWindow.DrawWindow(self)

        # Combine windows
        hboxm = wx.BoxSizer(wx.HORIZONTAL)
        hboxm.Add(self.sidebar,0,wx.EXPAND,0)
        hboxm.Add(self.draw,1,wx.EXPAND,0)

        vbox = wx.BoxSizer(wx.VERTICAL)
        vbox.Add(hboxm,1, wx.EXPAND, 0)


        wx.EVT_TOOL(self.toolbar, wx.ID_UNDO, self.evt.OnUndo)
        wx.EVT_TOOL(self.toolbar, wx.ID_REDO, self.evt.OnRedo)
        wx.EVT_MENU(self, wx.ID_UNDO, self.evt.OnUndo)
        wx.EVT_MENU(self, wx.ID_REDO, self.evt.OnRedo)

        wx.EVT_MENU(self, wx.ID_NEW, self.evt.OnNew)
        wx.EVT_MENU(self, wx.ID_OPEN, self.evt.OnLoad)
        wx.EVT_MENU(self, wx.ID_SAVE, self.evt.OnSave)
        wx.EVT_MENU(self, wx.ID_SAVEAS, self.evt.OnSaveAs)
        wx.EVT_MENU(self, wx.ID_CLOSE, self.evt.OnClose)
        wx.EVT_MENU(self, wx.ID_EXIT, self.evt.OnQuit)
        self.Bind(wx.EVT_MENU, self.evt.OnExport, self.exp)
#        wx.EVT_MENU(self, wx.ID_ABOUT, self.evt.OnAbout)
        self.zoom.Bind(wx.EVT_COMBOBOX, self.evt.OnZoom)

        self.SetSizer(vbox)
        self.Show(True)
示例#10
0
文件: Main.py 项目: hamidgh009/mySim
def run_nth_best():
    logger = BaseLogger()
    for x in my_range(2, number_of_servers, 1):
        entrance_gen = create_generator(enter_lambda, enter_dist)
        limit_gen = create_generator(job_limit_lambda, job_limit_dist)
        process_gen = create_generator(job_process_time_lambda,
                                       job_process_time_dist)
        server_chooser = NthBestServerChooser(x)
        cv_gen = LinearCVGenerator(number_of_servers, 0, 1)
        handler = EventHandler(logger, entrance_gen, limit_gen, process_gen,
                               cv_gen, server_chooser)
        handler.handle_events()
        logger.calculate_ehtemalat(x, entrance_number)
        logger.calculate_cost_waiting(x)
        logger.reset()
        print x
    logger.draw_cost_waiting_time()
示例#11
0
 def __init__(self, *args, **kwargs):
     tk.Tk.__init__(self, *args, **kwargs)
     self.wm_title("Chart Creator")
     self.minsize(1000, 650)
     self.event_handler = EventHandler.EventHandler()
     self.protocol("WM_DELETE_WINDOW",
                   lambda: self.event_handler.event_for_exit(self))
     self.data_series_combobox = None
     self.chosen_color_label = None
     self.chosen_type_label = None
     self.chosen_color_preview_label = None
     self.name_entry = None
     self.canvas = None
     self.plot = None
     self.new_file = False
     ChartCreator.chart_type = tk.StringVar()
     ChartCreator.chosen_plot_label = None
示例#12
0
文件: Main.py 项目: hamidgh009/mySim
def run_simple():
    logger = BaseLogger()
    for x in my_range(0.2, 20, 0.1):
        entrance_gen = create_generator(x, enter_dist)
        limit_gen = create_generator(job_limit_lambda, job_limit_dist)
        process_gen = create_generator(job_process_time_lambda,
                                       job_process_time_dist)
        server_chooser = ServerChooser()
        cv_gen = LinearCVGenerator(number_of_servers, 0, 1)
        handler = EventHandler(logger, entrance_gen, limit_gen, process_gen,
                               cv_gen, server_chooser)
        handler.handle_events()
        logger.calculate_ehtemalat(x, entrance_number)
        logger.reset()
        print x

    logger.draw_served_probability()
    logger.draw_blocked_probability()
    logger.draw_leaved_probability()
示例#13
0
            "Magic",
            [["Black Magic", [["Flare", [], "Black Magic", 201]], 0],
             [
                 "White Magic",
                 [["Cure", [], "White Magic", 301],
                  ["Esuna", [], "White Magic", 302],
                  ["Holy", [], "White Magic", 303]], 0
             ],
             ["Alex Magic", [["The Best Magic Goes Here", [], 205, 205]], 0]],
            0
        ],
        ["Items", [], 301, 205],
        ["Flee", [], 404, 205]  #NOT FOUND XD
    ]

    objEventHandler = EventHandler.EventHandler()
    testwindow = WindowContainer(objEventHandler, lstMenus=lstTestList)
    objEventHandlingTest = TESTCLASS(objEventHandler)
    keyspressed = []
    blRunning = True

    while blRunning:
        # boilerplate input handling
        for event in pygame.event.get():
            """
            returns a list of events. This will clear the event list each time 
            so all event get objects should typically be handled here
            """
            if event.type == pygame.QUIT:
                blRunning = False
            elif event.type == pygame.KEYDOWN:
示例#14
0
    def save(self, contents, **kwargs):


        logger.info("Saving incident settings contents...")

        user = cherrypy.session['user']['name']
        sessionKey = cherrypy.session.get('sessionKey')
        splunk.setDefault('sessionKey', sessionKey)

        eh = EventHandler(sessionKey = sessionKey)

        config = {}
        config['index'] = 'alerts'
        
        restconfig = entity.getEntities('configs/alert_manager', count=-1, sessionKey=sessionKey)
        if len(restconfig) > 0:
            if 'index' in restconfig['settings']:
                config['index'] = restconfig['settings']['index']

        logger.debug("Global settings: %s" % config)

        # Parse the JSON
        contents = json.loads(contents)

        logger.debug("Contents: %s" % json.dumps(contents))

        # Get key
        query = {}
        query['incident_id'] = contents['incident_id']
        logger.debug("Filter: %s" % json.dumps(query))

        uri = '/servicesNS/nobody/alert_manager/storage/collections/data/incidents?query=%s' % urllib.quote(json.dumps(query))
        serverResponse, incident = rest.simpleRequest(uri, sessionKey=sessionKey)
        logger.debug("Settings for incident: %s" % incident)
        incident = json.loads(incident)

        # Update incident
        uri = '/servicesNS/nobody/alert_manager/storage/collections/data/incidents/' + incident[0]['_key']
        logger.debug("URI for incident update: %s" % uri )

        # Prepared new entry
        now = datetime.datetime.now().isoformat()
        changed_keys = []
        for key in incident[0].keys():
            if (key in contents) and (incident[0][key] != contents[key]):
                changed_keys.append(key)
                logger.info("%s for incident %s changed. Writing change event to index %s." % (key, incident[0]['incident_id'], config['index']))
                event_id = hashlib.md5(incident[0]['incident_id'] + now).hexdigest()
                event = 'time=%s severity=INFO origin="incident_posture" event_id="%s" user="******" action="change" incident_id="%s" %s="%s" previous_%s="%s"' % (now, event_id, user, incident[0]['incident_id'], key, contents[key], key, incident[0][key])
                logger.debug("Change event will be: %s" % event)
                input.submit(event, hostname = socket.gethostname(), sourcetype = 'incident_change', source = 'incident_settings.py', index = config['index'])
                incident[0][key] = contents[key]

            else:
                logger.info("%s for incident %s didn't change." % (key, incident[0]['incident_id']))

        del incident[0]['_key']
        contentsStr = json.dumps(incident[0])
        logger.debug("content for update: %s" % contentsStr)
        serverResponse, serverContent = rest.simpleRequest(uri, sessionKey=sessionKey, jsonargs=contentsStr)

        logger.debug("Response from update incident entry was %s " % serverResponse)
        logger.debug("Changed keys: %s" % changed_keys)

        if len(changed_keys) > 0:
            ic = IncidentContext(sessionKey, contents['incident_id'])
            if "owner" in changed_keys:
                eh.handleEvent(alert=incident[0]["alert"], event="incident_assigned", incident=incident[0], context=ic.getContext())
            elif "status" in changed_keys and contents["status"] == "resolved":
                eh.handleEvent(alert=incident[0]["alert"], event="incident_resolved", incident=incident[0], context=ic.getContext())
            else:
                eh.handleEvent(alert=incident[0]["alert"], event="incident_changed", incident=incident[0], context=ic.getContext())
        
        if contents['comment'] != "":
            event_id = hashlib.md5(incident[0]['incident_id'] + now).hexdigest()
            event = 'time=%s severity=INFO origin="incident_posture" event_id="%s" user="******" action="comment" incident_id="%s" comment="%s"' % (now, event_id, user, incident[0]['incident_id'], contents['comment'])
            logger.debug("Comment event will be: %s" % event)
            event = event.encode('utf8')
            input.submit(event, hostname = socket.gethostname(), sourcetype = 'incident_change', source = 'incident_settings.py', index = config['index'])
        
        
        return 'Done'
示例#15
0
#! /usr/bin/env python3
import os
os.chdir('/Users/ganglion/Documents/Projects/desktop_cleaner')

from pathlib import Path
from time import sleep

from watchdog.observers import Observer
import EventHandler

if __name__ == '__main__':
    watch_path = Path.home() / 'Downloads'
    destination_root = Path.home() / 'Downloads/holder of things'
    event_handler = EventHandler.EventHandler(
        watch_path=watch_path, destination_root=destination_root)

    observer = Observer()
    observer.schedule(event_handler, f'{watch_path}', recursive=True)
    observer.start()

    try:
        while True:
            sleep(60)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()
示例#16
0
async def startLoop():
    e = EventHandler.EventHandler()
    await e.init()
    e.log("Boot: {} s".format(round(time.process_time(), 1)))
    await e.dispatch([[e.startDetectionLoop], [e.server.serveforever],
                      [e.cook.cookingHandler], [e.energy.logEnergy]])
示例#17
0
from xml.dom import minidom
import json
import pprint
baseurl = 'https://localhost:8089'
username = '******'
password = '******'
myhttp = httplib2.Http(disable_ssl_certificate_validation=True)

# http://blogs.splunk.com/2011/08/02/splunk-rest-api-is-easy-to-use/
#Step 1: Get a session key
servercontent = myhttp.request(baseurl + '/services/auth/login',
                               'POST',
                               headers={},
                               body=urllib.urlencode({
                                   'username': username,
                                   'password': password
                               }))[1]
sessionkey = minidom.parseString(servercontent).getElementsByTagName(
    'sessionKey')[0].childNodes[0].nodeValue
print "====>sessionkey:  %s  <====" % sessionkey

from EventHandler import *
incident = {}
incident["owner"] = "demo1"

eh = EventHandler(sessionKey=sessionkey, alert="demo_alert2_splunk_warnings")
eh.handleEvent(event="incident_created", incident=incident, context=incident)

#pp = pprint.PrettyPrinter(depth=6)
#pp.pprint(notif.getNotifications("incident_created"))
示例#18
0
def EventListener(context):
    while True:
        for event in pygame.event.get():
            EventHandler.EventHandler(event, context.funcHdl)
示例#19
0
    args_stdout = args_stdout + "namespace:%s" % alert_app + "\n"
    log.debug("stdout args for %s: %s" %
              (incident_config['alert_script'], args_stdout))
    log.debug("args for %s: %s" % (incident_config['alert_script'], args))

    try:
        p = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=False)
        output = p.communicate(input=args_stdout)
        log.debug("Alert script run finished. RC=%s. Output: %s" %
                  (p.returncode, output[0]))
    except OSError, e:
        log.debug("Alert script failed. Error: %s" % str(e))

log.info("Creating incident for job_id=%s" % job_id)

eh = EventHandler(sessionKey=sessionKey)
sh = SuppressionHelper(sessionKey=sessionKey)

###############################
# Incident creation starts here

# Create unique id
incident_id = str(uuid.uuid4())

# Parse results and result_id
results = getResults(job_path, incident_id)
result_id = getResultId(digest_mode, job_path)

# Get urgency from results and parse priority
job['urgency'] = readUrgencyFromResults(results, incident_config['urgency'],
                                        incident_id)
示例#20
0
from EventHandler import *

EventHandle = EventHandler()
print(EventHandle.Flag["init"])

EventHandle.keyhandle()
示例#21
0
    def _update_incident(self, sessionKey, user, post_data):
        logger.debug("START _update_incident()")

        required = ['incident_data']
        missing = [r for r in required if r not in post_data]
        if missing:
            return self.response("Missing required arguments: %s" % missing,
                                 httplib.BAD_REQUEST)

        incident_data = post_data.pop('incident_data')

        splunk.setDefault('sessionKey', sessionKey)

        eh = EventHandler(sessionKey=sessionKey)

        config = {}
        config['index'] = 'main'

        restconfig = entity.getEntities('configs/alert_manager',
                                        count=-1,
                                        sessionKey=sessionKey)
        if len(restconfig) > 0:
            if 'index' in restconfig['settings']:
                config['index'] = restconfig['settings']['index']

        logger.debug("Global settings: %s" % config)

        # Parse the JSON
        incident_data = json.loads(incident_data)

        # Get key
        query = {}
        query['incident_id'] = incident_data['incident_id']
        logger.debug("Filter: %s" % json.dumps(query))

        uri = '/servicesNS/nobody/alert_manager/storage/collections/data/incidents?query=%s' % urllib.quote(
            json.dumps(query))
        serverResponse, incident = rest.simpleRequest(uri,
                                                      sessionKey=sessionKey)
        logger.debug("Settings for incident: %s" % incident)
        incident = json.loads(incident)

        # Update incident
        uri = '/servicesNS/nobody/alert_manager/storage/collections/data/incidents/' + incident[
            0]['_key']
        logger.debug("URI for incident update: %s" % uri)

        # Prepared new entry
        now = datetime.datetime.now().isoformat()
        changed_keys = []
        for key in incident[0].keys():
            if (key in incident_data) and (incident[0][key] !=
                                           incident_data[key]):
                changed_keys.append(key)
                logger.info(
                    "%s for incident %s changed. Writing change event to index %s."
                    % (key, incident[0]['incident_id'], config['index']))
                event_id = hashlib.md5(incident[0]['incident_id'] +
                                       now).hexdigest()
                event = 'time=%s severity=INFO origin="incident_posture" event_id="%s" user="******" action="change" incident_id="%s" %s="%s" previous_%s="%s"' % (
                    now, event_id, user, incident[0]['incident_id'], key,
                    incident_data[key], key, incident[0][key])
                logger.debug("Change event will be: %s" % event)
                input.submit(event,
                             hostname=socket.gethostname(),
                             sourcetype='incident_change',
                             source='incident_settings.py',
                             index=config['index'])
                incident[0][key] = incident_data[key]

            else:
                logger.info("%s for incident %s didn't change." %
                            (key, incident[0]['incident_id']))

        del incident[0]['_key']
        contentsStr = json.dumps(incident[0])
        logger.debug("content for update: %s" % contentsStr)
        serverResponse, serverContent = rest.simpleRequest(
            uri, sessionKey=sessionKey, jsonargs=contentsStr)

        logger.debug("Response from update incident entry was %s " %
                     serverResponse)
        logger.debug("Changed keys: %s" % changed_keys)

        if len(changed_keys) > 0:
            ic = IncidentContext(sessionKey, incident_data['incident_id'])
            if "owner" in changed_keys:
                eh.handleEvent(alert=incident[0]["alert"],
                               event="incident_assigned",
                               incident=incident[0],
                               context=ic.getContext())
            elif "status" in changed_keys and incident_data[
                    "status"] == "resolved":
                eh.handleEvent(alert=incident[0]["alert"],
                               event="incident_resolved",
                               incident=incident[0],
                               context=ic.getContext())
            else:
                eh.handleEvent(alert=incident[0]["alert"],
                               event="incident_changed",
                               incident=incident[0],
                               context=ic.getContext())

        if incident_data['comment'] != "":
            incident_data['comment'] = incident_data['comment'].replace(
                '\n', '<br />').replace('\r', '')
            event_id = hashlib.md5(incident[0]['incident_id'] +
                                   now).hexdigest()
            event = 'time=%s severity=INFO origin="incident_posture" event_id="%s" user="******" action="comment" incident_id="%s" comment="%s"' % (
                now, event_id, user, incident[0]['incident_id'],
                incident_data['comment'])
            logger.debug("Comment event will be: %s" % event)
            event = event.encode('utf8')
            input.submit(event,
                         hostname=socket.gethostname(),
                         sourcetype='incident_change',
                         source='incident_settings.py',
                         index=config['index'])
            ic = IncidentContext(sessionKey, incident_data['incident_id'])
            eh.handleEvent(alert=incident[0]["alert"],
                           event="incident_commented",
                           incident=incident[0],
                           context=ic.getContext())

        return self.response('Successfully updated incident.', httplib.OK)