Skip to content

Commit

Permalink
Added further type hints
Browse files Browse the repository at this point in the history
  • Loading branch information
radarhere authored and nulano committed Dec 31, 2023
1 parent 3896a26 commit 37b6f93
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
6 changes: 3 additions & 3 deletions src/PIL/Image.py
Original file line number Diff line number Diff line change
Expand Up @@ -3191,7 +3191,7 @@ def _decompression_bomb_check(size):
)


def open(fp, mode="r", formats=None):
def open(fp, mode="r", formats=None) -> Image:
"""
Opens and identifies the given image file.
Expand Down Expand Up @@ -3416,7 +3416,7 @@ def merge(mode, bands):
# Plugin registry


def register_open(id, factory, accept=None):
def register_open(id, factory, accept=None) -> None:
"""
Register an image file plugin. This function should not be used
in application code.
Expand Down Expand Up @@ -3470,7 +3470,7 @@ def register_save_all(id, driver):
SAVE_ALL[id.upper()] = driver


def register_extension(id, extension):
def register_extension(id, extension) -> None:
"""
Registers an image extension. This function should not be
used in application code.
Expand Down
15 changes: 8 additions & 7 deletions src/PIL/IptcImagePlugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

import os
import tempfile
from typing import Sequence

from . import Image, ImageFile
from ._binary import i16be as i16
Expand All @@ -27,7 +28,7 @@
COMPRESSION = {1: "raw", 5: "jpeg"}


def __getattr__(name):
def __getattr__(name: str) -> bytes:
if name == "PAD":
deprecate("IptcImagePlugin.PAD", 12)
return b"\0\0\0\0"
Expand All @@ -39,21 +40,21 @@ def __getattr__(name):
# Helpers


def _i(c):
def _i(c: bytes) -> int:
return i32((b"\0\0\0\0" + c)[-4:])


def _i8(c: int | bytes) -> int:
return c if isinstance(c, int) else c[0]


def i(c):
def i(c: bytes) -> int:
""".. deprecated:: 10.2.0"""
deprecate("IptcImagePlugin.i", 12)
return _i(c)


def dump(c):
def dump(c: Sequence[int | bytes]) -> None:
""".. deprecated:: 10.2.0"""
deprecate("IptcImagePlugin.dump", 12)
for i in c:
Expand All @@ -70,10 +71,10 @@ class IptcImageFile(ImageFile.ImageFile):
format = "IPTC"
format_description = "IPTC/NAA"

def getint(self, key):
def getint(self, key: tuple[int, int]) -> int:
return _i(self.info[key])

Check warning on line 75 in src/PIL/IptcImagePlugin.py

View check run for this annotation

Codecov / codecov/patch

src/PIL/IptcImagePlugin.py#L75

Added line #L75 was not covered by tests

def field(self):
def field(self) -> tuple[tuple[int, int] | None, int]:
#
# get a IPTC field header
s = self.fp.read(5)
Expand Down Expand Up @@ -101,7 +102,7 @@ def field(self):

return tag, size

def _open(self):
def _open(self) -> None:
# load descriptive fields
while True:
offset = self.fp.tell()
Expand Down

0 comments on commit 37b6f93

Please sign in to comment.