From e7251bcc2f7fddb9229a96dafe049083040f6392 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Sun, 16 Aug 2020 11:59:07 +0200 Subject: [PATCH 1/2] handle_play_like_call decorator to use functools.wraps this way, decorated methods - typically Scene.play - have a decent docstring so first-time users can use help() --- manimlib/scene/scene.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manimlib/scene/scene.py b/manimlib/scene/scene.py index 1f4e4926..f6e2da31 100644 --- a/manimlib/scene/scene.py +++ b/manimlib/scene/scene.py @@ -3,6 +3,7 @@ import random import platform import itertools as it import logging +from functools import wraps from tqdm import tqdm as ProgressDisplay import numpy as np @@ -372,6 +373,7 @@ class Scene(object): return animations def handle_play_like_call(func): + @wraps(func) def wrapper(self, *args, **kwargs): self.update_skipping_status() should_write = not self.skip_animations From f05f94fbf51c70591bed3092587a5db0de439738 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Fri, 5 Feb 2021 11:52:21 +0100 Subject: [PATCH 2/2] spreading the change onto 2 more decorators --- manimlib/mobject/mobject.py | 2 ++ manimlib/mobject/types/vectorized_mobject.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/manimlib/mobject/mobject.py b/manimlib/mobject/mobject.py index 0fe1a322..9aede1af 100644 --- a/manimlib/mobject/mobject.py +++ b/manimlib/mobject/mobject.py @@ -3,6 +3,7 @@ import itertools as it import random import sys import moderngl +from functools import wraps import numpy as np @@ -1287,6 +1288,7 @@ class Mobject(object): # Operations touching shader uniforms def affects_shader_info_id(func): + @wraps(func) def wrapper(self): for mob in self.get_family(): func(mob) diff --git a/manimlib/mobject/types/vectorized_mobject.py b/manimlib/mobject/types/vectorized_mobject.py index 425af386..c1a9527c 100644 --- a/manimlib/mobject/types/vectorized_mobject.py +++ b/manimlib/mobject/types/vectorized_mobject.py @@ -2,7 +2,7 @@ import itertools as it import operator as op import moderngl -from functools import reduce +from functools import reduce, wraps from manimlib.constants import * from manimlib.mobject.mobject import Mobject @@ -807,6 +807,7 @@ class VMobject(Mobject): return tri_indices def triggers_refreshed_triangulation(func): + @wraps(func) def wrapper(self, *args, **kwargs): old_points = self.get_points() func(self, *args, **kwargs)