Added EventHook.call_for_result to get a result or default from an event
This commit is contained in:
parent
06de65b1c1
commit
68298bbccf
3 changed files with 9 additions and 3 deletions
|
@ -84,6 +84,9 @@ class EventHook(object):
|
|||
|
||||
return self.get_child(subevent)
|
||||
|
||||
def call_for_result(self, default=None, max=None, **kwargs):
|
||||
results = self.call(max=max, **kwargs)
|
||||
return default if not len(results) else results[0]
|
||||
def call(self, max=None, **kwargs):
|
||||
event = Event(self.bot, self.name, **kwargs)
|
||||
if self._call_notify:
|
||||
|
|
|
@ -25,8 +25,8 @@ class Module(object):
|
|||
return data["data"]["url"]
|
||||
|
||||
def shorten(self, event):
|
||||
link = self.bot.events.on("get").on("shortlink").call(
|
||||
url=event["args"])[0]
|
||||
link = self.bot.events.on("get").on("shortlink"
|
||||
).call_for_result(url=event["args"])
|
||||
if link:
|
||||
event["stdout"].write("Short URL: %s" % link)
|
||||
else:
|
||||
|
|
|
@ -9,10 +9,13 @@ class Module(object):
|
|||
def SIGINT(self, signum, frame):
|
||||
print()
|
||||
self.bot.events.on("signal").on("interrupt").call(signum=signum, frame=frame)
|
||||
|
||||
for server in self.bot.servers.values():
|
||||
quote = self.bot.events.on("get.quit-quote").call()[0]
|
||||
quote = self.bot.events.on("get.quit-quote"
|
||||
).call_for_result(default="Leaving")
|
||||
server.send_quit(quote)
|
||||
self.bot.register_write(server)
|
||||
|
||||
self.bot.running = False
|
||||
|
||||
def SIGUSR1(self, signum, frame):
|
||||
|
|
Loading…
Reference in a new issue