#
# Connection objects
#
# Copyright (c) 2002--2020 Red Hat, Inc.
#
# Author: Mihai Ibanescu <[email protected]>
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'))