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()
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()
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'))
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
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()
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
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()
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()
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)
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()
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
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()
"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:
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'
#! /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()
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]])
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"))
def EventListener(context): while True: for event in pygame.event.get(): EventHandler.EventHandler(event, context.funcHdl)
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)
from EventHandler import * EventHandle = EventHandler() print(EventHandle.Flag["init"]) EventHandle.keyhandle()
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)