def wrapper(*args, **kwargs): args_normed = [] for a in args: if isinstance(a, unicode): a = uninorm('NFD', a) args_normed.append(a) kwargs_normed = {} for k, v in kwargs.items(): if isinstance(k, unicode): k = uninorm(a, 'NFD') if isinstance(v, unicode): v = uninorm(v, 'NFD') kwargs_normed[k] = v return func(*args, **kwargs)
def wrapper(*args, **kwargs): args_normed = [] args = map(decode, args) for a in args: if isinstance(a, unicode): a = uninorm(norm_type, a) args_normed.append(a) kwargs_normed = {} kwargs = dict(zip(map(decode, kwargs.iterkeys()), map(decode, kwargs.itervalues())) ) for k, v in kwargs.iteritems(): if isinstance(k, unicode): k = uninorm(norm_type, k) if isinstance(v, unicode): v = uninorm(norm_type, v) kwargs_normed[k] = v return func(*args_normed, **kwargs_normed)
def normalize_address(address): return uninorm('NFD', address.strip('.:,;/ ')).encode('ascii', 'ignore')