#!/usr/bin/env python3 # http://inamidst.com/saxo/ # Created by Sean B. Palmer import saxo @saxo.command() def punycode(arg): # e.g. "xn--ht-1ia18f" if arg.startswith("xn--"): arg = arg[4:] # e.g. "ht-1ia18f" try: arg = arg.encode("ascii") except UnicodeEncodeError as err: arg = arg.encode("punycode") arg = arg.decode("ascii") return arg else: # e.g. b"ht-1ia18f" arg = arg.decode("punycode") # e.g. "hƿæt" # not necessary here: # arg = arg.encode("utf-8") return arg