def add_new_domain(domain): """ Add a new domain to be perpetually resolved """ # Check to see if this domain is already being tracked exists = Domain.search().filter('term', domain=domain).execute() if exists: raise DomainExists( f"Supplied domain {domain} is already being tracked by Darkstar") # This is a new domain, lets try to resolve it for the first time try: hostname, aliastlist, ipaddrlist = gethostbyname_ex(domain) except gaierror as e: current_app.logger.exception(e) raise e