57 lines
1.5 KiB
Python
57 lines
1.5 KiB
Python
from wrapper import *
|
|
from util_events import utils_event, utils_events
|
|
from wrapper_player import *
|
|
from traceback import format_exc as print_traceback
|
|
|
|
class py_event(object):
|
|
def __init__(self,event):
|
|
self.event = event
|
|
try:
|
|
self.player = py_players[event.getPlayer()]
|
|
except:
|
|
warn("Player doesn't exist")
|
|
|
|
@property
|
|
def cancelled(self):
|
|
return self.event.isCancelled()
|
|
|
|
@cancelled.setter
|
|
def cancelled(self, value):
|
|
self.event.setCancelled(value)
|
|
|
|
@property
|
|
def message(self):
|
|
try:
|
|
return self.event.getMessage()
|
|
except:
|
|
raise AttributeError
|
|
|
|
@message.setter
|
|
def message(self, msg):
|
|
try:
|
|
self.event.setMessage(msg)
|
|
except:
|
|
raise AttributeError
|
|
|
|
def event_handler(event_name = None, priority = "normal", utils = False):
|
|
if not utils:
|
|
def decorator(wrapped):
|
|
@hook.event(event_name, priority)
|
|
def wrapper(event):
|
|
try:
|
|
wrapped(py_event(event))
|
|
except:
|
|
print(print_traceback())
|
|
return decorator
|
|
elif utils:
|
|
def decorator(wrapped):
|
|
@utils_event(event_name, priority, create_event = utils_events)
|
|
def wrapper(*args):
|
|
try:
|
|
wrapped(*args)
|
|
except:
|
|
print(print_traceback())
|
|
return decorator
|
|
|
|
|