# # Connection objects # # Copyright (c) 2002--2020 Red Hat, Inc. # # Author: Mihai Ibanescu from rhn import i18n def idn_puny_to_unicode(hostname): """ Convert Internationalized domain name from Punycode (RFC3492) to Unicode """ if hostname is None: return None else: hostname = i18n.bstr(hostname) return hostname.decode('idna') def idn_ascii_to_puny(hostname): """ Convert domain name to Punycode (RFC3492). Hostname can be instance of string or Unicode """ if hostname is None: return None else: hostname = i18n.ustr(hostname) return i18n.ustr(hostname.encode('idna'))