From 0f9b5b3c15c6c41dbb21fffe1fbcc632c18b19be Mon Sep 17 00:00:00 2001 From: NightyStudios Date: Wed, 5 Nov 2025 16:05:28 +0300 Subject: [PATCH 1/2] added option to render all scenes by typing '*' when prompted --- manim/constants.py | 2 +- manim/utils/module_ops.py | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/manim/constants.py b/manim/constants.py index 0a3e00da85..45e324c0c4 100644 --- a/manim/constants.py +++ b/manim/constants.py @@ -84,7 +84,7 @@ """ CHOOSE_NUMBER_MESSAGE = """ Choose number corresponding to desired scene/arguments. -(Use comma separated list for multiple entries) +(Use comma separated list for multiple entries or use "*" to select all scenes.) Choice(s): """ INVALID_NUMBER_MESSAGE = "Invalid scene numbers have been specified. Aborting." NO_SCENE_MESSAGE = """ diff --git a/manim/utils/module_ops.py b/manim/utils/module_ops.py index e4d921d8b3..39ec83251e 100644 --- a/manim/utils/module_ops.py +++ b/manim/utils/module_ops.py @@ -121,12 +121,16 @@ def prompt_user_for_choice(scene_classes: list[type[Scene]]) -> list[type[Scene] user_input = console.input( f"[log.message] {CHOOSE_NUMBER_MESSAGE} [/log.message]", ) - scene_classes = [ - num_to_class[int(num_str)] - for num_str in re.split(r"\s*,\s*", user_input.strip()) - ] - config["scene_names"] = [scene_class.__name__ for scene_class in scene_classes] - return scene_classes + + if user_input == '*': + selected_scenes_classes = scene_classes + else: + selected_scenes_classes = [ + num_to_class[int(num_str)] + for num_str in re.split(r"\s*,\s*", user_input.strip()) + ] + config["scene_names"] = [scene_class.__name__ for scene_class in selected_scenes_classes] + return selected_scenes_classes except KeyError: logger.error(INVALID_NUMBER_MESSAGE) sys.exit(2) From 475b5f3ebf0636463d075899f629474af02e4db4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 5 Nov 2025 13:06:11 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- manim/utils/module_ops.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/manim/utils/module_ops.py b/manim/utils/module_ops.py index 39ec83251e..e4c9374403 100644 --- a/manim/utils/module_ops.py +++ b/manim/utils/module_ops.py @@ -122,14 +122,16 @@ def prompt_user_for_choice(scene_classes: list[type[Scene]]) -> list[type[Scene] f"[log.message] {CHOOSE_NUMBER_MESSAGE} [/log.message]", ) - if user_input == '*': + if user_input == "*": selected_scenes_classes = scene_classes else: selected_scenes_classes = [ num_to_class[int(num_str)] for num_str in re.split(r"\s*,\s*", user_input.strip()) ] - config["scene_names"] = [scene_class.__name__ for scene_class in selected_scenes_classes] + config["scene_names"] = [ + scene_class.__name__ for scene_class in selected_scenes_classes + ] return selected_scenes_classes except KeyError: logger.error(INVALID_NUMBER_MESSAGE)