aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2018-10-04 11:04:24 +0100
committerGravatar jesopo2018-10-04 11:04:24 +0100
commitb778ad290214b9470a1987e18099c8ee8d447d1d (patch)
tree9e91f99ee4b688a1245b9dd8316cc932b551e1e9
parentAlso catch gaierror in !rdns, print e.strerror instead of str(e) (diff)
signature
Support denoting command response [prefix] in docstring
-rw-r--r--modules/commands.py6
-rw-r--r--modules/ip_addresses.py9
2 files changed, 7 insertions, 8 deletions
diff --git a/modules/commands.py b/modules/commands.py
index f7390ad4..8eb0b96b 100644
--- a/modules/commands.py
+++ b/modules/commands.py
@@ -124,8 +124,8 @@ class Module(ModuleManager.BaseModule):
if is_channel and hook.kwargs.get("private_only"):
return
- module_name = ""
- if hasattr(hook.function, "__self__"):
+ module_name = self._get_prefix(hook) or ""
+ if not module_name and hasattr(hook.function, "__self__"):
module_name = hook.function.__self__._name
msgid = event["tags"].get("draft/msgid", None)
@@ -195,6 +195,8 @@ class Module(ModuleManager.BaseModule):
return hook.get_kwarg("help", None) or hook.docstring.description
def _get_usage(self, hook):
return hook.get_kwarg("usage", None)
+ def _get_prefix(self, hook):
+ return hook.get_kwarg("prefix", None)
@utils.hook("received.command.help")
def help(self, event):
diff --git a/modules/ip_addresses.py b/modules/ip_addresses.py
index 856ab288..8cabb082 100644
--- a/modules/ip_addresses.py
+++ b/modules/ip_addresses.py
@@ -9,9 +9,8 @@ class Module(ModuleManager.BaseModule):
"""
:help: Get all addresses for a given hostname (IPv4/IPv6)
:usage: <hostname>
+ :prefix: DNS
"""
- event["stdout"].set_prefix("DNS")
- event["stderr"].set_prefix("DNS")
hostname = event["args_split"][0]
try:
address_info = socket.getaddrinfo(hostname, 1, 0,
@@ -30,11 +29,10 @@ class Module(ModuleManager.BaseModule):
"""
:help: Get geoip data on a given IPv4/IPv6 address
:usage: <IP>
+ :prefix: GeoIP
"""
page = utils.http.get_url(URL_GEOIP % event["args_split"][0],
json=True)
- event["stdout"].set_prefix("GeoIP")
- event["stderr"].set_prefix("GeoIP")
if page:
if page["status"] == "success":
data = page["query"]
@@ -57,9 +55,8 @@ class Module(ModuleManager.BaseModule):
"""
:help: Do a reverse-DNS look up on an IPv4/IPv6 address
:usage: <IP>
+ :prefix: rDNS
"""
- event["stdout"].set_prefix("rDNS")
- event["stderr"].set_prefix("rDNS")
try:
hostname, alias, ips = socket.gethostbyaddr(event["args_split"][0])
except (socket.herror, socket.gaierror) as e: