[docs]defdecorate_all_functions(function_decorator):defdecorator(cls):forbase_clsincls.__bases__:forname,objinvars(base_cls).items():parent_func=getattr(base_cls,name)child_func=getattr(cls,name)# Only apply decorator to functions not overridden by subclass.ifcallable(obj)andchild_func==parent_func:setattr(cls,name,function_decorator(obj))returnclsreturndecorator