def main(): console.print(f"Manim Community [green]v{__version__}[/green]") 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) input_file = config.get_dir("input_file") if config["use_webgl_renderer"]: try: from manim.grpc.impl import frame_server_impl server = frame_server_impl.get(input_file) server.start() server.wait_for_termination() except ModuleNotFoundError as e: print("\n\n") print("Dependencies for the WebGL render are missing. Run " "pip install manim[webgl_renderer] to install them.") print(e) print("\n\n") else: for SceneClass in scene_classes_from_file(input_file): try: 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 == "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) input_file = config.get_dir("input_file") if config["use_js_renderer"]: try: if frame_server_impl is None: raise ImportError( "Dependencies for JS renderer is not installed.") server = frame_server_impl.get(input_file) server.start() server.wait_for_termination() except Exception: print("\n\n") traceback.print_exc() print("\n\n") else: for SceneClass in scene_classes_from_file(input_file): try: scene = SceneClass() scene.render() open_file_if_needed(scene.renderer.file_writer) except Exception: print("\n\n") traceback.print_exc() print("\n\n")