Skip to content

Commit c23904a

Browse files
authored
Merge pull request #7728 from radarhere/type_hints_mpeg
2 parents 1e00c03 + 6a85653 commit c23904a

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/PIL/MpegImagePlugin.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
#
1515
from __future__ import annotations
1616

17+
from io import BytesIO
18+
1719
from . import Image, ImageFile
1820
from ._binary import i8
1921

@@ -22,15 +24,15 @@
2224

2325

2426
class BitStream:
25-
def __init__(self, fp):
27+
def __init__(self, fp: BytesIO) -> None:
2628
self.fp = fp
2729
self.bits = 0
2830
self.bitbuffer = 0
2931

30-
def next(self):
32+
def next(self) -> int:
3133
return i8(self.fp.read(1))
3234

33-
def peek(self, bits):
35+
def peek(self, bits: int) -> int:
3436
while self.bits < bits:
3537
c = self.next()
3638
if c < 0:
@@ -40,13 +42,13 @@ def peek(self, bits):
4042
self.bits += 8
4143
return self.bitbuffer >> (self.bits - bits) & (1 << bits) - 1
4244

43-
def skip(self, bits):
45+
def skip(self, bits: int) -> None:
4446
while self.bits < bits:
4547
self.bitbuffer = (self.bitbuffer << 8) + i8(self.fp.read(1))
4648
self.bits += 8
4749
self.bits = self.bits - bits
4850

49-
def read(self, bits):
51+
def read(self, bits: int) -> int:
5052
v = self.peek(bits)
5153
self.bits = self.bits - bits
5254
return v
@@ -61,9 +63,10 @@ class MpegImageFile(ImageFile.ImageFile):
6163
format = "MPEG"
6264
format_description = "MPEG"
6365

64-
def _open(self):
65-
s = BitStream(self.fp)
66+
def _open(self) -> None:
67+
assert self.fp is not None
6668

69+
s = BitStream(self.fp)
6770
if s.read(32) != 0x1B3:
6871
msg = "not an MPEG file"
6972
raise SyntaxError(msg)

0 commit comments

Comments
 (0)