from typing import List from risotto.utils import load_domains, DOMAINS from risotto.utils import multi_function as _multi_function @_multi_function def get_ip(server_name: str) -> str: if server_name is None: return if isinstance(server_name, list): return_list = True else: return_list = False server_name = [server_name] lst = [] for s_name in server_name: host_name, domain_name = s_name.split('.', 1) if not domain_name in DOMAINS: raise ValueError(f'cannot find IP in domain name "{domain_name}" (for "{s_name}")') domain = DOMAINS[domain_name] ret = domain[1][domain[0].index(host_name)] if not return_list: return ret if ret not in lst: lst.append(ret) return lst