Skip to content
This repository was archived by the owner on Aug 16, 2021. It is now read-only.

Commit b3100d1

Browse files
All event handlers
1 parent 48e6feb commit b3100d1

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

quickmongo/EventHandler.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Import Util
2+
from .Util import event_lib as lib
3+
from .Util import AttrDict
4+
5+
# Import Erros
6+
from .Exception import InvalidEventError
7+
8+
class Events():
9+
10+
def __init__(self, events: dict):
11+
self.events = events
12+
13+
for key in events.keys():
14+
if not callable(events[key]):
15+
raise InvalidEventError('event provided for ' + str(key) + 'is an inavlid event')
16+
17+
def emit(self, name, arg = None):
18+
if name in self.events.keys():
19+
try:
20+
if not arg:
21+
self.events[name]()
22+
else:
23+
self.events[name](arg)
24+
except TypeError:
25+
raise InvalidEventError('provided event for ' + str(name) + ' has invalid amount of parameter or has an error inside the function')

0 commit comments

Comments
 (0)