Source code for mmtwfs.utils
# Licensed under a 3-clause BSD style license - see LICENSE.rst
# coding=utf-8
"""
Misc. utility routines
"""
import dns.resolver as resolver
import logging
import logging.handlers
log = logging.getLogger("DNSresolver")
log.setLevel(logging.INFO)
__all__ = ['srvlookup']
[docs]def srvlookup(server):
"""
Perform a SRV lookup of 'server' and return its hostname and port.
"""
try:
response = resolver.query(server, 'SRV')
host = response[0].target.to_text()
port = response[0].port
except Exception as e:
# we'll be lenient and just return None if there's an issue
log.warning(f"Problem looking up {server} via DNS: {e}")
host = None
port = None
return host, port