from .core import encode, decode, alabel, ulabel, IDNAError
_unicode_dots_re = re.compile(u'[\u002e\u3002\uff0e\uff61]')
class Codec(codecs.Codec):
def encode(self, data, errors='strict'):
raise IDNAError("Unsupported error handling \"{0}\"".format(errors))
return encode(data), len(data)
def decode(self, data, errors='strict'):
raise IDNAError("Unsupported error handling \"{0}\"".format(errors))
return decode(data), len(data)
class IncrementalEncoder(codecs.BufferedIncrementalEncoder):
def _buffer_encode(self, data, errors, final):
raise IDNAError("Unsupported error handling \"{0}\"".format(errors))
labels = _unicode_dots_re.split(data)