class documentation

class NamePrep: (source)

View In Hierarchy

Implements preparation of internationalized domain names.

This class implements preparing internationalized domain names using the rules defined in RFC 3491, section 4 (Conversion operations).

We do not perform step 4 since we deal with unicode representations of domain names and do not convert from or to ASCII representations using punycode encoding. When such a conversion is needed, the idna standard library provides the ToUnicode() and ToASCII() functions. Note that idna itself assumes UseSTD3ASCIIRules to be false.

The following steps are performed by prepare():

  • Split the domain name in labels at the dots (RFC 3490, 3.1)
  • Apply nameprep proper on each label (RFC 3491)
  • Enforce the restrictions on ASCII characters in host names by assuming STD3ASCIIRules to be true. (STD 3)
  • Rejoin the labels using the label separator U+002E (full stop).
Method check_prohibiteds Undocumented
Method nameprep Undocumented
Method prepare Undocumented
Class Variable prohibiteds Undocumented
def check_prohibiteds(self, string): (source)


def nameprep(self, label): (source)


def prepare(self, string): (source)


prohibiteds = (source)