Skip to content

Commit 5f0b816

Browse files
committed
added types to and changed attributes to @property syntax
1 parent d76fa67 commit 5f0b816

File tree

1 file changed

+134
-72
lines changed

1 file changed

+134
-72
lines changed

manim/_config/utils.py

Lines changed: 134 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -852,90 +852,152 @@ def digest_file(self, filename: str | os.PathLike) -> ManimConfig:
852852
return self.digest_parser(make_config_parser(filename))
853853

854854
# config options are properties
855-
preview = property(
856-
lambda self: self._d["preview"] or self._d["enable_gui"],
857-
lambda self, val: self._set_boolean("preview", val),
858-
doc="Whether to play the rendered movie (-p).",
859-
)
855+
@property
856+
def preview(self) -> bool:
857+
"""Whether to play the rendered movie.
860858
861-
show_in_file_browser = property(
862-
lambda self: self._d["show_in_file_browser"],
863-
lambda self, val: self._set_boolean("show_in_file_browser", val),
864-
doc="Whether to show the output file in the file browser (-f).",
865-
)
859+
This is equivalent to the ``-p`` command line flag.
866860
867-
progress_bar = property(
868-
lambda self: self._d["progress_bar"],
869-
lambda self, val: self._set_from_list(
870-
"progress_bar",
871-
val,
872-
["none", "display", "leave"],
873-
),
874-
doc="Whether to show progress bars while rendering animations.",
875-
)
861+
"""
862+
return self._d["preview"] or self._d["enable_gui"]
876863

877-
log_to_file = property(
878-
lambda self: self._d["log_to_file"],
879-
lambda self, val: self._set_boolean("log_to_file", val),
880-
doc="Whether to save logs to a file.",
881-
)
864+
@preview.setter
865+
def preview(self, val: bool) -> None:
866+
self._set_boolean("preview", val)
882867

883-
notify_outdated_version = property(
884-
lambda self: self._d["notify_outdated_version"],
885-
lambda self, val: self._set_boolean("notify_outdated_version", val),
886-
doc="Whether to notify if there is a version update available.",
887-
)
868+
@property
869+
def show_in_file_browser(self) -> bool:
870+
"""Whether to show the output file in the file browser.
888871
889-
write_to_movie = property(
890-
lambda self: self._d["write_to_movie"],
891-
lambda self, val: self._set_boolean("write_to_movie", val),
892-
doc="Whether to render the scene to a movie file (-w).",
893-
)
872+
This is equivalent to the ``-f`` command line flag.
873+
"""
874+
return self._d["show_in_file_browser"]
894875

895-
save_last_frame = property(
896-
lambda self: self._d["save_last_frame"],
897-
lambda self, val: self._set_boolean("save_last_frame", val),
898-
doc="Whether to save the last frame of the scene as an image file (-s).",
899-
)
876+
@show_in_file_browser.setter
877+
def show_in_file_browser(self, val: bool) -> None:
878+
self._set_boolean("show_in_file_browser", val)
900879

901-
write_all = property(
902-
lambda self: self._d["write_all"],
903-
lambda self, val: self._set_boolean("write_all", val),
904-
doc="Whether to render all scenes in the input file (-a).",
905-
)
880+
@property
881+
def progress_bar(self) -> str:
882+
"""Whether to show progress bars while rendering animations.
906883
907-
save_pngs = property(
908-
lambda self: self._d["save_pngs"],
909-
lambda self, val: self._set_boolean("save_pngs", val),
910-
doc="Whether to save all frames in the scene as images files (-g).",
911-
)
884+
Possible values are ``"none"``, ``"display"`` and ``"leave"``.
885+
"""
886+
return self._d["progress_bar"]
912887

913-
save_as_gif = property(
914-
lambda self: self._d["save_as_gif"],
915-
lambda self, val: self._set_boolean("save_as_gif", val),
916-
doc="Whether to save the rendered scene in .gif format (-i).",
917-
)
888+
@progress_bar.setter
889+
def progress_bar(self, val: str) -> None:
890+
self._set_from_list("progress_bar", val, ["none", "display", "leave"])
918891

919-
save_sections = property(
920-
lambda self: self._d["save_sections"],
921-
lambda self, val: self._set_boolean("save_sections", val),
922-
doc="Whether to save single videos for each section in addition to the movie file.",
923-
)
892+
@property
893+
def log_to_file(self) -> bool:
894+
"""Whether to save logs to a file."""
895+
return self._d["log_to_file"]
924896

925-
enable_wireframe = property(
926-
lambda self: self._d["enable_wireframe"],
927-
lambda self, val: self._set_boolean("enable_wireframe", val),
928-
doc="Enable wireframe debugging mode in opengl.",
929-
)
897+
@log_to_file.setter
898+
def log_to_file(self, val: bool) -> None:
899+
self._set_boolean("log_to_file", val)
930900

931-
force_window = property(
932-
lambda self: self._d["force_window"],
933-
lambda self, val: self._set_boolean("force_window", val),
934-
doc="Set to force window when using the opengl renderer",
935-
)
901+
# rewrite notify_outdated_version to use @property
902+
903+
@property
904+
def notify_outdated_version(self) -> bool:
905+
"""Whether to notify if there is a version update available."""
906+
return self._d["notify_outdated_version"]
907+
908+
@notify_outdated_version.setter
909+
def notify_outdated_version(self, val: bool) -> None:
910+
self._set_boolean("notify_outdated_version", val)
911+
912+
@property
913+
def write_to_movie(self) -> bool:
914+
"""Whether to render the scene to a movie file.
915+
916+
This is equivalent to the ``-w`` command line flag.
917+
"""
918+
return self._d["write_to_movie"]
919+
920+
@write_to_movie.setter
921+
def write_to_movie(self, val: bool) -> None:
922+
self._set_boolean("write_to_movie", val)
923+
924+
@property
925+
def save_last_frame(self) -> bool:
926+
"""Whether to save the last frame of the scene as an image file.
927+
928+
This is equivalent to the ``-s`` command line flag.
929+
"""
930+
return self._d["save_last_frame"]
931+
932+
@save_last_frame.setter
933+
def save_last_frame(self, val: bool) -> None:
934+
self._set_boolean("save_last_frame", val)
935+
936+
@property
937+
def write_all(self) -> bool:
938+
"""Whether to render all scenes in the input file.
939+
940+
This is equivalent to the ``-a`` command line flag.
941+
"""
942+
return self._d["write_all"]
943+
944+
@write_all.setter
945+
def write_all(self, val: bool) -> None:
946+
self._set_boolean("write_all", val)
947+
948+
@property
949+
def save_pngs(self) -> bool:
950+
"""Whether to save all frames in the scene as images files.
951+
952+
This is equivalent to the ``-g`` command line flag.
953+
"""
954+
return self._d["save_pngs"]
955+
956+
@save_pngs.setter
957+
def save_pngs(self, val: bool) -> None:
958+
self._set_boolean("save_pngs", val)
959+
960+
@property
961+
def save_as_gif(self) -> bool:
962+
"""Whether to save the rendered scene in .gif format.
963+
964+
This is equivalent to the ``-i`` command line flag.
965+
"""
966+
return self._d["save_as_gif"]
967+
968+
@save_as_gif.setter
969+
def save_as_gif(self, val: bool) -> None:
970+
self._set_boolean("save_as_gif", val)
971+
972+
@property
973+
def save_sections(self) -> bool:
974+
"""Whether to save single videos for each section in addition to the movie file."""
975+
return self._d["save_sections"]
976+
977+
@save_sections.setter
978+
def save_sections(self, val: bool) -> None:
979+
self._set_boolean("save_sections", val)
980+
981+
@property
982+
def enable_wireframe(self) -> bool:
983+
"""Enable wireframe debugging mode in opengl."""
984+
return self._d["enable_wireframe"]
985+
986+
@enable_wireframe.setter
987+
def enable_wireframe(self, val: bool) -> None:
988+
self._set_boolean("enable_wireframe", val)
989+
990+
@property
991+
def force_window(self) -> bool:
992+
"""Force window when using the opengl renderer."""
993+
return self._d["force_window"]
994+
995+
@force_window.setter
996+
def force_window(self, val: bool) -> None:
997+
self._set_boolean("force_window", val)
936998

937999
@property
938-
def verbosity(self):
1000+
def verbosity(self) -> str:
9391001
"""Logger verbosity; "DEBUG", "INFO", "WARNING", "ERROR", or "CRITICAL" (-v)."""
9401002
return self._d["verbosity"]
9411003

@@ -950,7 +1012,7 @@ def verbosity(self, val: str) -> None:
9501012
logging.getLogger("manim").setLevel(val)
9511013

9521014
@property
953-
def format(self):
1015+
def format(self) -> str:
9541016
"""File format; "png", "gif", "mp4", "webm" or "mov"."""
9551017
return self._d["format"]
9561018

@@ -967,7 +1029,7 @@ def format(self, val: str) -> None:
9671029
"Output format set as webm, this can be slower than other formats",
9681030
)
9691031

970-
ffmpeg_loglevel = property(
1032+
ffmpeg_loglevel: property[str] = property(
9711033
lambda self: self._d["ffmpeg_loglevel"],
9721034
lambda self, val: self._set_from_list(
9731035
"ffmpeg_loglevel",

0 commit comments

Comments
 (0)