Add default "after event" event
This commit is contained in:
1 parent
106ff4fe11
commit
876562c0fd
1 file changed
+11
-2
@@ -34,9 +34,15 @@ def removeEvent(name, handler):
|
|||||||
e -= handler
|
e -= handler
|
||||||
|
|
||||||
def fireEvent(name, *args, **kwargs):
|
def fireEvent(name, *args, **kwargs):
|
||||||
#log.debug('Firing "%s": %s, %s' % (name, args, kwargs))
|
|
||||||
try:
|
try:
|
||||||
|
|
||||||
|
# Fire after event
|
||||||
|
is_after_event = False
|
||||||
|
try:
|
||||||
|
del kwargs['is_after_event']
|
||||||
|
is_after_event = True
|
||||||
|
except: pass
|
||||||
|
|
||||||
# Return single handler
|
# Return single handler
|
||||||
single = False
|
single = False
|
||||||
try:
|
try:
|
||||||
@@ -96,7 +102,10 @@ def fireEvent(name, *args, **kwargs):
|
|||||||
modified_results = fireEvent('result.modify.%s' % name, results, single = True)
|
modified_results = fireEvent('result.modify.%s' % name, results, single = True)
|
||||||
if modified_results:
|
if modified_results:
|
||||||
log.debug('Return modified results for %s' % name)
|
log.debug('Return modified results for %s' % name)
|
||||||
return modified_results
|
results = modified_results
|
||||||
|
|
||||||
|
if not is_after_event:
|
||||||
|
fireEvent('%s.after' % name, is_after_event = True)
|
||||||
|
|
||||||
return results
|
return results
|
||||||
except KeyError, e:
|
except KeyError, e:
|
||||||
|
|||||||
Reference in new issue
Block a user