diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..6f9fa03 --- /dev/null +++ b/.flake8 @@ -0,0 +1,4 @@ +[flake8] +extend-ignore = + # E501: line too long + E501, diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 31a6ccd..fe3c899 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -19,7 +19,12 @@ repos: rev: 22.8.0 hooks: - id: black -- repo: https://github.com/jendrikseipp/vulture - rev: v2.6 +- repo: https://github.com/PyCQA/flake8 + rev: 5.0.4 hooks: - - id: vulture + - id: flake8 + additional_dependencies: + - flake8-bugbear + - flake8-comprehensions + - flake8-tidy-imports + - flake8-typing-imports diff --git a/example.py b/example.py index f0e8d8e..1a30b69 100644 --- a/example.py +++ b/example.py @@ -1,3 +1,4 @@ +# flake8: noqa: F403, F405 import sys if "manim" in sys.modules: diff --git a/manim_slides/__init__.py b/manim_slides/__init__.py index b11020e..34a87e3 100644 --- a/manim_slides/__init__.py +++ b/manim_slides/__init__.py @@ -1,2 +1,3 @@ +# flake8: noqa: F401 from .__version__ import __version__ from .slide import Slide, ThreeDSlide diff --git a/manim_slides/manim.py b/manim_slides/manim.py index 8afc11d..51c8bec 100644 --- a/manim_slides/manim.py +++ b/manim_slides/manim.py @@ -3,6 +3,22 @@ import sys from contextlib import contextmanager from importlib.util import find_spec +__all__ = [ + "MANIM", + "MANIM_PACKAGE_NAME", + "MANIM_AVAILABLE", + "MANIM_IMPORTED", + "MANIMGL", + "MANIMGL_PACKAGE_NAME", + "MANIMGL_AVAILABLE", + "MANIMGL_IMPORTED", + "logger", + "Scene", + "ThreeDScene", + "config", + "FFMPEG_BIN", +] + @contextmanager def suppress_stdout(): @@ -61,6 +77,6 @@ else: from manim import Scene, ThreeDScene, config, logger try: # For manim 0: + if self.record_to is not None and len(self.recordings) > 0: file, frame_number, fps = self.recordings[0] cap = cv2.VideoCapture(file) @@ -591,7 +589,7 @@ def present( def value_proc(value: str): indices = list(map(int, value.strip().replace(" ", "").split(","))) - if not all(map(lambda i: 0 < i <= len(scene_choices), indices)): + if not all(0 < i <= len(scene_choices) for i in indices): raise click.UsageError( "Please only enter numbers displayed on the screen." ) @@ -610,7 +608,7 @@ def present( except ValueError as e: raise click.UsageError(e) - presentations = list() + presentations = [] for scene in scenes: config_file = os.path.join(folder, f"{scene}.json") if not os.path.exists(config_file): @@ -631,11 +629,11 @@ def present( else: config = Config() - if not record_to is None: + if record_to is not None: _, ext = os.path.splitext(record_to) if ext.lower() != ".avi": raise click.UsageError( - f"Recording only support '.avi' extension. For other video formats, please convert the resulting '.avi' file afterwards." + "Recording only support '.avi' extension. For other video formats, please convert the resulting '.avi' file afterwards." ) display = Display( diff --git a/manim_slides/slide.py b/manim_slides/slide.py index 213ecac..9c076fb 100644 --- a/manim_slides/slide.py +++ b/manim_slides/slide.py @@ -1,4 +1,3 @@ -import json import os import platform import shutil @@ -39,7 +38,7 @@ class Slide(Scene): super().__init__(*args, **kwargs) self.output_folder = output_folder - self.slides = list() + self.slides = [] self.current_slide = 1 self.current_animation = 0 self.loop_start_animation = None @@ -143,7 +142,7 @@ class Slide(Scene): else: old_animation_files.update(os.listdir(scene_files_folder)) - files = list() + files = [] for src_file in tqdm( self.partial_movie_files, desc=f"Copying animation files to '{scene_files_folder}' and generating reversed animations", diff --git a/static/logo.py b/static/logo.py index 837c098..1d3b2d4 100644 --- a/static/logo.py +++ b/static/logo.py @@ -1,3 +1,4 @@ +# flake8: noqa: F403, F405 from manim import *