Small changes really

This commit is contained in:
Dico200
2015-11-26 15:10:02 +01:00
parent f7626300ea
commit a59f67785c
3 changed files with 38 additions and 27 deletions

View File

@@ -13,24 +13,24 @@ events = []
class base_event(): class base_event():
def __init__(self,event_name): def __init__(self,event_name):
self.name = event_name self.name = event_name
self.canceled = False self.cancelled = False
self._handlers = [ [],[],[],[],[],[] ] self._handlers = [ [],[],[],[],[],[] ]
self.canceled_lock = threading.Lock() self.cancelled_lock = threading.Lock()
def add_handler(self,function,priority): def add_handler(self,function,priority):
for prior in priorities: for prior in priorities:
if prior == priority: if prior == priority:
self._handlers[priorities.index(prior)].append(function) self._handlers[priorities.index(prior)].append(function)
def fire(self,*args): def call(self,*args):
for priority in self._handlers: for priority in self._handlers:
for handler in priority: for handler in priority:
handler(self,*args) handler(self,*args)
def set_canceled(self,state): def set_cancelled(self,state):
with self.canceled_lock: with self.cancelled_lock:
self.canceled = state self.cancelled = state
class utils_events(base_event): class utils_events(base_event):
@@ -38,17 +38,26 @@ class utils_events(base_event):
base_event.__init__(self,event_name) base_event.__init__(self,event_name)
def add_event(event_name,event = base_event): #Adds a new event def add_event(event_name, event_class = base_event):
event = event(event_name) """
# Adds a new event type of the given class with the given name
"""
event = event_class(event_name)
events.append(event) events.append(event)
def fire_event(event_name,*args): #Fires the event def call_event(event_name,*args):
"""
# Calls the ehe event with the given arguments
"""
for event in events: for event in events:
if event.name == event_name: if event.name == event_name:
event.fire(*args) event.call(*args)
return event return event
def check_events(event_name): #Returns false if the even does not exist. def check_events(event_name):
"""
# Returns whether there is an event with the name event_name
"""
for event in events: for event in events:
if event.name == event_name: if event.name == event_name:
return True return True

View File

@@ -19,14 +19,14 @@ class Command(object):
def __init__(self, def __init__(self,
command, command,
parent = None,
aliases = (), aliases = (),
permission = None, permission = None,
description = "Description", description = "Description",
type = Command.SENDER_ANY type = Command.SENDER_ANY,
no_arg_action = Command.ACTION_IGNORE no_arg_action = Command.ACTION_IGNORE,
help_request_action = Command.ACTION_IGNORE help_request_action = Command.ACTION_IGNORE,
arguments = (), arguments = (),
parent = None,
): ):
self.command = command.lower() self.command = command.lower()
@@ -67,7 +67,7 @@ class Command(object):
parent_obj.sub_commands[self.command] = self parent_obj.sub_commands[self.command] = self
except KeyError as e: except KeyError as e:
error("Error occurred while setting up command hierarchy: " + e.message + "\n" + trace()) raise Argument_exception("Error occurred while setting up command hierarchy: " + e.message + "\n" + trace())
def __call__(self, handler): def __call__(self, handler):
""" """

View File

@@ -15,16 +15,18 @@ class py_player(object):
self.authenticated = False self.authenticated = False
self.login_time = time.time() self.login_time = time.time()
self.props ={"uuid":self.uuid, self.props = {
"name":self.name, "uuid":self.uuid,
"nickname":self.name, "name":self.name,
"registered":False, "nickname":self.name,
"password":"None", "registered":False,
"banned":False, "password":"None",
"banned_reason":"You have been banned!", "banned":False,
"played_time":time.time() - self.login_time, "banned_reason":None,
"last_login":datetime.now(), "played_time":time.time() - self.login_time,
"first_seen":datetime.now()} "last_login":datetime.now(),
"first_seen":datetime.now(),
}
def __setattr__(self, attribute, value): def __setattr__(self, attribute, value):
if not attribute in dir(self): if not attribute in dir(self):
@@ -39,7 +41,7 @@ class py_player(object):
try: try:
return self.props[attribute] return self.props[attribute]
except: except:
pass raise AttributeError("Attribute %s does not exist on this py_player" % attribute)
def save(self): def save(self):
properties = [] properties = []