def validate_domain_label(label: str): """ Check if a given string is a valid domain label :param label: The domain label """ # Just try to encode it to ASCII try: idna.alabel(label) except idna.IDNAError as e: if e.args and 'A-label' in e.args[0]: raise ValueError('Invalid label') from None else: raise ValueError(e.args[0]) from None
def ToACE(x): return idna.alabel(x).decode("utf-8", "strict") labels = list(map(ToACE, labels))
def testIDNTLDALabels(self): for (ulabel, alabel) in self.tld_strings: self.assertEqual(alabel, idna.alabel(ulabel))
def ToACE(x): return idna.alabel(x).decode("utf-8", "strict")