MCPcopy
hub / github.com/PokemonGoF/PokemonGo-Bot / emit

Method emit

pokemongo_bot/event_manager.py:47–77  ·  view source on GitHub ↗
(self, event, sender=None, level='info', formatted='', data={})

Source from the content-addressed store, hash-verified

45 self._registered_events[name] = parameters
46
47 def emit(self, event, sender=None, level='info', formatted='', data={}):
48 if not sender:
49 raise ArgumentError('Event needs a sender!')
50
51 levels = ['info', 'warning', 'error', 'critical', 'debug']
52 if not level in levels:
53 raise ArgumentError('Event level needs to be in: {}'.format(levels))
54
55 if event not in self._registered_events:
56 raise EventNotRegisteredException("Event %s not registered..." % event)
57
58 if self._limit_output:
59 if (event == self._last_event) and (event in ["moving_to_fort", "moving_to_lured_fort", "position_update", "moving_to_hunter_target"]):
60 stdout.write("\033[1A\033[0K\r")
61 stdout.flush()
62
63 if level == "info" and formatted:
64 self._last_event = event
65
66 # verify params match event
67 parameters = self._registered_events[event]
68 if parameters:
69 for k, v in data.iteritems():
70 if k not in parameters:
71 raise EventMalformedException("Event %s does not require parameter %s" % (event, k))
72
73 formatted_msg = formatted.format(**data)
74
75 # send off to the handlers
76 for handler in self._handlers:
77 handler.handle_event(event, sender, level, formatted_msg, data)

Callers 15

mainFunction · 0.80
report_summaryFunction · 0.80
sendPacketFunction · 0.80
browserMqtt.jsFile · 0.80
buildBuilderFunction · 0.80
handleTLSerrorsFunction · 0.80
readableAddChunkFunction · 0.80
emitReadable_Function · 0.80
onerrorFunction · 0.80
flowFunction · 0.80
emitDataEventsFunction · 0.80
endReadableFunction · 0.80

Calls 3

handle_eventMethod · 0.45

Tested by

no test coverage detected