mirror of
https://github.com/3b1b/manim.git
synced 2025-04-13 09:47:07 +00:00
Don't make reload_manager a global variable
This commit is contained in:
parent
5b315d5c70
commit
bf81d94362
3 changed files with 10 additions and 7 deletions
|
@ -3,7 +3,7 @@ from manimlib import __version__
|
||||||
import manimlib.config
|
import manimlib.config
|
||||||
import manimlib.logger
|
import manimlib.logger
|
||||||
import manimlib.utils.init_config
|
import manimlib.utils.init_config
|
||||||
from manimlib.reload_manager import reload_manager
|
from manimlib.reload_manager import ReloadManager
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -22,6 +22,7 @@ def main():
|
||||||
manimlib.utils.init_config.init_customization()
|
manimlib.utils.init_config.init_customization()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
reload_manager = ReloadManager()
|
||||||
reload_manager.args = args
|
reload_manager.args = args
|
||||||
reload_manager.run()
|
reload_manager.run()
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,8 @@ class ReloadManager:
|
||||||
|
|
||||||
# Args to Config
|
# Args to Config
|
||||||
scene_config = manimlib.config.get_scene_config(self.args)
|
scene_config = manimlib.config.get_scene_config(self.args)
|
||||||
|
scene_config.update(reload_manager=self)
|
||||||
|
|
||||||
run_config = manimlib.config.get_run_config(self.args)
|
run_config = manimlib.config.get_run_config(self.args)
|
||||||
run_config.update(is_reload=self.is_reload)
|
run_config.update(is_reload=self.is_reload)
|
||||||
|
|
||||||
|
@ -88,6 +90,3 @@ class ReloadManager:
|
||||||
f"at line \033[96m{self.args.embed}\033[0m"
|
f"at line \033[96m{self.args.embed}\033[0m"
|
||||||
]))
|
]))
|
||||||
scene.run()
|
scene.run()
|
||||||
|
|
||||||
|
|
||||||
reload_manager = ReloadManager()
|
|
||||||
|
|
|
@ -20,7 +20,6 @@ from manimlib.constants import DEFAULT_WAIT_TIME
|
||||||
from manimlib.event_handler import EVENT_DISPATCHER
|
from manimlib.event_handler import EVENT_DISPATCHER
|
||||||
from manimlib.event_handler.event_type import EventType
|
from manimlib.event_handler.event_type import EventType
|
||||||
from manimlib.logger import log
|
from manimlib.logger import log
|
||||||
from manimlib.reload_manager import reload_manager
|
|
||||||
from manimlib.mobject.mobject import _AnimationBuilder
|
from manimlib.mobject.mobject import _AnimationBuilder
|
||||||
from manimlib.mobject.mobject import Group
|
from manimlib.mobject.mobject import Group
|
||||||
from manimlib.mobject.mobject import Mobject
|
from manimlib.mobject.mobject import Mobject
|
||||||
|
@ -45,6 +44,7 @@ if TYPE_CHECKING:
|
||||||
|
|
||||||
from PIL.Image import Image
|
from PIL.Image import Image
|
||||||
|
|
||||||
|
from manimlib.reload_manager import ReloadManager
|
||||||
from manimlib.animation.animation import Animation
|
from manimlib.animation.animation import Animation
|
||||||
|
|
||||||
|
|
||||||
|
@ -76,6 +76,7 @@ class Scene(object):
|
||||||
end_at_animation_number: int | None = None,
|
end_at_animation_number: int | None = None,
|
||||||
leave_progress_bars: bool = False,
|
leave_progress_bars: bool = False,
|
||||||
window: Optional[Window] = None,
|
window: Optional[Window] = None,
|
||||||
|
reload_manager: Optional[ReloadManager] = None,
|
||||||
presenter_mode: bool = False,
|
presenter_mode: bool = False,
|
||||||
show_animation_progress: bool = False,
|
show_animation_progress: bool = False,
|
||||||
embed_exception_mode: str = "",
|
embed_exception_mode: str = "",
|
||||||
|
@ -90,6 +91,7 @@ class Scene(object):
|
||||||
self.show_animation_progress = show_animation_progress
|
self.show_animation_progress = show_animation_progress
|
||||||
self.embed_exception_mode = embed_exception_mode
|
self.embed_exception_mode = embed_exception_mode
|
||||||
self.embed_error_sound = embed_error_sound
|
self.embed_error_sound = embed_error_sound
|
||||||
|
self.reload_manager = reload_manager
|
||||||
|
|
||||||
self.camera_config = {**self.default_camera_config, **camera_config}
|
self.camera_config = {**self.default_camera_config, **camera_config}
|
||||||
self.file_writer_config = {**self.default_file_writer_config, **file_writer_config}
|
self.file_writer_config = {**self.default_file_writer_config, **file_writer_config}
|
||||||
|
@ -877,19 +879,20 @@ class Scene(object):
|
||||||
|
|
||||||
If `start_at_line` is provided, the scene will be reloaded at that line
|
If `start_at_line` is provided, the scene will be reloaded at that line
|
||||||
number. This corresponds to the `linemarker` param of the
|
number. This corresponds to the `linemarker` param of the
|
||||||
`config.get_module_with_inserted_embed_line()` method.
|
`extract_scene.insert_embed_line_to_module()` method.
|
||||||
|
|
||||||
Before reload, the scene is cleared and the entire state is reset, such
|
Before reload, the scene is cleared and the entire state is reset, such
|
||||||
that we can start from a clean slate. This is taken care of by the
|
that we can start from a clean slate. This is taken care of by the
|
||||||
ReloadManager, which will catch the error raised by the `exit_raise`
|
ReloadManager, which will catch the error raised by the `exit_raise`
|
||||||
magic command that we invoke here.
|
magic command that we invoke here.
|
||||||
|
|
||||||
Note that we cannot define a custom exception class for this error,
|
Note that we cannot define a custom exception class for this error,
|
||||||
since the IPython kernel will swallow any exception. While we can catch
|
since the IPython kernel will swallow any exception. While we can catch
|
||||||
such an exception in our custom exception handler registered with the
|
such an exception in our custom exception handler registered with the
|
||||||
`set_custom_exc` method, we cannot break out of the IPython shell by
|
`set_custom_exc` method, we cannot break out of the IPython shell by
|
||||||
this means.
|
this means.
|
||||||
"""
|
"""
|
||||||
reload_manager.set_new_start_at_line(start_at_line)
|
self.reload_manager.set_new_start_at_line(start_at_line)
|
||||||
shell = get_ipython()
|
shell = get_ipython()
|
||||||
if shell:
|
if shell:
|
||||||
shell.run_line_magic("exit_raise", "")
|
shell.run_line_magic("exit_raise", "")
|
||||||
|
|
Loading…
Add table
Reference in a new issue