28 lines
746 B
Python
28 lines
746 B
Python
# 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
|