# coding=utf-8 from support.config import config def enable_channel_wrapper(func): """ returns the original wrapper :func: (route or handler) if applicable, else the plain to-be-wrapped function :param func: original wrapper :return: original wrapper or wrapped function """ def noop(*args, **kwargs): def inner(*a, **k): """ :param a: args :param k: kwargs :return: originally to-be-wrapped function """ return a[0] return inner def wrap(*args, **kwargs): enforce_route = kwargs.pop("enforce_route", None) return (func if (config.enable_channel or enforce_route) else noop)(*args, **kwargs) return wrap