diff options
Diffstat (limited to 'modules/ip_addresses.py')
| -rw-r--r-- | modules/ip_addresses.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/modules/ip_addresses.py b/modules/ip_addresses.py index e13f59ff..62208504 100644 --- a/modules/ip_addresses.py +++ b/modules/ip_addresses.py @@ -1,6 +1,6 @@ #--depends-on commands -import re, socket +import re, socket, typing from src import ModuleManager, utils import dns.resolver @@ -9,13 +9,14 @@ REGEX_IPv6 = r"(?:(?:[a-f0-9]{1,4}:){2,}|[a-f0-9:]*::)[a-f0-9:]*" REGEX_IPv4 = r"(?:\d{1,3}\.){3}\d{1,3}" REGEX_IP = re.compile("(%s)|(%s)" % (REGEX_IPv4, REGEX_IPv6), re.I) -def _dns_validate(s): - if utils.is_ip(s): - return s - return None +class DnsSetting(utils.Setting): + def parse(self, value: str) -> typing.Any: + if utils.is_ip(value): + return value + return None -@utils.export("serverset", {"setting": "dns-nameserver", - "help": "Set DNS nameserver", "example": "8.8.8.8"}) +@utils.export("serverset", DnsSetting("dns-nameserver", + "Set DNS nameserver", example="8.8.8.8")) class Module(ModuleManager.BaseModule): @utils.hook("received.command.dns", min_args=1) def dns(self, event): |
