Skip to content

Commit 9528337

Browse files
Allow selection of all scenes to render using '*' (#4470)
* added option to render all scenes by typing '*' when prompted * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent afa4692 commit 9528337

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

manim/constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
"""
8585
CHOOSE_NUMBER_MESSAGE = """
8686
Choose number corresponding to desired scene/arguments.
87-
(Use comma separated list for multiple entries)
87+
(Use comma separated list for multiple entries or use "*" to select all scenes.)
8888
Choice(s): """
8989
INVALID_NUMBER_MESSAGE = "Invalid scene numbers have been specified. Aborting."
9090
NO_SCENE_MESSAGE = """

manim/utils/module_ops.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,18 @@ def prompt_user_for_choice(scene_classes: list[type[Scene]]) -> list[type[Scene]
121121
user_input = console.input(
122122
f"[log.message] {CHOOSE_NUMBER_MESSAGE} [/log.message]",
123123
)
124-
scene_classes = [
125-
num_to_class[int(num_str)]
126-
for num_str in re.split(r"\s*,\s*", user_input.strip())
124+
125+
if user_input == "*":
126+
selected_scenes_classes = scene_classes
127+
else:
128+
selected_scenes_classes = [
129+
num_to_class[int(num_str)]
130+
for num_str in re.split(r"\s*,\s*", user_input.strip())
131+
]
132+
config["scene_names"] = [
133+
scene_class.__name__ for scene_class in selected_scenes_classes
127134
]
128-
config["scene_names"] = [scene_class.__name__ for scene_class in scene_classes]
129-
return scene_classes
135+
return selected_scenes_classes
130136
except KeyError:
131137
logger.error(INVALID_NUMBER_MESSAGE)
132138
sys.exit(2)

0 commit comments

Comments
 (0)