def find_scenes(file_path): _file = get_module(Path(file_path)) scenes_classes = get_scene_classes_from_module(_file) # This searches for the word after the '.' scenes = [ re.search(r"\.(\w*)", str(scene)).group()[1:] for scene in scenes_classes ] return scenes
def main(): args = parse_args(sys.argv) if hasattr(args, "cmd"): if args.cmd == "cfg": if args.subcmd: from manim._config import cfg_subcmds if args.subcmd == "write": cfg_subcmds.write(args.level, args.open) elif args.subcmd == "show": cfg_subcmds.show() elif args.subcmd == "export": cfg_subcmds.export(args.dir) else: logger.error("No subcommand provided; Exiting...") elif args.cmd == "plugins": from manim.plugins import plugins_flags if args.list: plugins_flags.list_plugins() elif not args.list: logger.error("No flag provided; Exiting...") # elif args.cmd == "some_other_cmd": # something_else_here() else: config.digest_args(args) module = get_module(config.get_dir("input_file")) all_scene_classes = get_scene_classes_from_module(module) scene_classes_to_render = get_scenes_to_render(all_scene_classes) for SceneClass in scene_classes_to_render: try: if config["use_js_renderer"]: if frame_server_impl is None: raise ImportError( "Dependencies for JS renderer is not installed.") frame_server_impl.get(SceneClass).start() else: scene = SceneClass() scene.render() open_file_if_needed(scene.renderer.file_writer) except Exception: print("\n\n") traceback.print_exc() print("\n\n")
def main(): args = parse_args(sys.argv) if hasattr(args, "cmd"): if args.cmd == "cfg": if args.subcmd: from manim.config import cfg_subcmds if args.subcmd == "write": cfg_subcmds.write(args.level, args.open) elif args.subcmd == "show": cfg_subcmds.show() elif args.subcmd == "export": cfg_subcmds.export(args.dir) else: logger.error("No subcommand provided; Exiting...") # elif args.cmd == "some_other_cmd": # something_else_here() else: update_config_with_cli(args) init_dirs(file_writer_config) if file_writer_config["log_to_file"]: set_file_logger() module = get_module(file_writer_config["input_file"]) all_scene_classes = get_scene_classes_from_module(module) scene_classes_to_render = get_scenes_to_render(all_scene_classes) for SceneClass in scene_classes_to_render: try: if config["use_js_renderer"]: frame_server_impl.get(SceneClass).start() else: scene = SceneClass() scene.render() open_file_if_needed(scene.renderer.file_writer) except Exception: print("\n\n") traceback.print_exc() print("\n\n")