From 32bfb0d3e96300ab31a142d6c40fdcc975d53607 Mon Sep 17 00:00:00 2001 From: WyattBlue Date: Wed, 21 Jan 2026 16:57:36 -0500 Subject: [PATCH] Use newer mypy --- Makefile | 2 +- av/audio/fifo.py | 12 +++++++++--- tests/test_decode.py | 6 ++++-- tests/test_subtitles.py | 6 +++--- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index b37d83e57..a9fb0876f 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ fate-suite: rsync -vrltLW rsync://fate-suite.ffmpeg.org/fate-suite/ tests/assets/fate-suite/ lint: - $(PIP) install -U ruff isort pillow numpy mypy==1.17.1 pytest + $(PIP) install -U ruff isort pillow numpy mypy==1.19.1 pytest ruff format --check av examples tests setup.py isort --check-only --diff av examples tests mypy av tests diff --git a/av/audio/fifo.py b/av/audio/fifo.py index 953d24edc..ebd68adb8 100644 --- a/av/audio/fifo.py +++ b/av/audio/fifo.py @@ -193,20 +193,26 @@ def read_many(self, samples: cython.int, partial: cython.bint = False): def format(self): """The :class:`.AudioFormat` of this FIFO.""" if not self.ptr: - raise AttributeError(f"'{__name__}.AudioFifo' object has no attribute 'format'") + raise AttributeError( + f"'{__name__}.AudioFifo' object has no attribute 'format'" + ) return self.template.format @property def layout(self): """The :class:`.AudioLayout` of this FIFO.""" if not self.ptr: - raise AttributeError(f"'{__name__}.AudioFifo' object has no attribute 'layout'") + raise AttributeError( + f"'{__name__}.AudioFifo' object has no attribute 'layout'" + ) return self.template.layout @property def sample_rate(self): if not self.ptr: - raise AttributeError(f"'{__name__}.AudioFifo' object has no attribute 'sample_rate'") + raise AttributeError( + f"'{__name__}.AudioFifo' object has no attribute 'sample_rate'" + ) return self.template.sample_rate @property diff --git a/tests/test_decode.py b/tests/test_decode.py index 685b743f5..d7fffbd4c 100644 --- a/tests/test_decode.py +++ b/tests/test_decode.py @@ -8,6 +8,8 @@ import pytest import av +from av.sidedata.encparams import VideoEncParams +from av.subtitles.subtitle import SubtitleSet from .common import TestCase, fate_suite @@ -109,7 +111,7 @@ def test_decoded_time_base(self) -> None: for packet in container.demux(stream): for frame in packet.decode(): - assert not isinstance(frame, av.subtitles.subtitle.SubtitleSet) + assert not isinstance(frame, SubtitleSet) assert packet.time_base == frame.time_base assert stream.time_base == frame.time_base return @@ -146,7 +148,7 @@ def test_decoded_video_enc_params(self) -> None: for frame in container.decode(stream): video_enc_params = cast( - av.sidedata.encparams.VideoEncParams, + VideoEncParams, frame.side_data.get("VIDEO_ENC_PARAMS"), ) assert video_enc_params is not None diff --git a/tests/test_subtitles.py b/tests/test_subtitles.py index d2a199924..321b29d1e 100644 --- a/tests/test_subtitles.py +++ b/tests/test_subtitles.py @@ -4,7 +4,7 @@ import av from av.codec.context import CodecContext from av.subtitles.codeccontext import SubtitleCodecContext -from av.subtitles.subtitle import AssSubtitle, BitmapSubtitle +from av.subtitles.subtitle import AssSubtitle, BitmapSubtitle, Subtitle, SubtitleSet from .common import TestCase, fate_suite @@ -35,8 +35,8 @@ def test_subset(self) -> None: for packet in container.demux(subs): subset = subs.decode2(packet) if subset is not None: - assert not isinstance(subset, av.subtitles.subtitle.Subtitle) - assert isinstance(subset, av.subtitles.subtitle.SubtitleSet) + assert not isinstance(subset, Subtitle) + assert isinstance(subset, SubtitleSet) assert subset.format == 1 assert hasattr(subset, "pts") assert subset.start_display_time == 0