# Pastebin 39jWURbd import inspect import functools def validate_uuid(func): @functools.wraps(func) def inner(*args,**kwargs): # Makes dictionary of function argument names and values frame = inspect.getargspec(func) argval = {} for i in range(len(args)): argval.update({frame.args[i] : args[i]}) j=0 for i in frame.args: if i not in argval: argval.update({i:frame.defaults[j]}) j= j+1 argval.update(kwargs) # Validate UUIDs uuid_args = ['client_uuid','message_id', 'claim'] for i in argvals: if i in uuid_args: try: uuid.UUID(argvals[i],version=4) except ValueError: raise error.uuid_invalid(i) ret = func(*args,**kwargs) return ret return inner