mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-11-10 19:56:47 +03:00
Moved Buffer into _typing
This commit is contained in:
parent
1105256f2b
commit
8b3ef3784b
|
@ -33,6 +33,10 @@ Internal Modules
|
|||
Provides a convenient way to import type hints that are not available
|
||||
on some Python versions.
|
||||
|
||||
.. py:class:: Buffer
|
||||
|
||||
Typing alias.
|
||||
|
||||
.. py:class:: IntegralLike
|
||||
|
||||
Typing alias.
|
||||
|
|
|
@ -29,7 +29,6 @@ import itertools
|
|||
import math
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from enum import IntEnum
|
||||
from functools import cached_property
|
||||
from typing import IO, TYPE_CHECKING, Any, Literal, NamedTuple, Union
|
||||
|
@ -49,6 +48,7 @@ from ._binary import o16le as o16
|
|||
|
||||
if TYPE_CHECKING:
|
||||
from . import _imaging
|
||||
from ._typing import Buffer
|
||||
|
||||
|
||||
class LoadingStrategy(IntEnum):
|
||||
|
@ -1157,19 +1157,10 @@ def getdata(
|
|||
class Collector(BytesIO):
|
||||
data = []
|
||||
|
||||
if sys.version_info >= (3, 12):
|
||||
from collections.abc import Buffer
|
||||
|
||||
def write(self, data: Buffer) -> int:
|
||||
self.data.append(data)
|
||||
return len(data)
|
||||
|
||||
else:
|
||||
|
||||
def write(self, data: Any) -> int:
|
||||
self.data.append(data)
|
||||
return len(data)
|
||||
|
||||
im.load() # make sure raster data is available
|
||||
|
||||
fp = Collector()
|
||||
|
|
|
@ -46,7 +46,6 @@ import logging
|
|||
import math
|
||||
import os
|
||||
import struct
|
||||
import sys
|
||||
import warnings
|
||||
from collections.abc import Iterator, MutableMapping
|
||||
from fractions import Fraction
|
||||
|
@ -63,7 +62,7 @@ from ._util import is_path
|
|||
from .TiffTags import TYPES
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from ._typing import IntegralLike
|
||||
from ._typing import Buffer, IntegralLike
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -2108,17 +2107,9 @@ class AppendingTiffWriter(io.BytesIO):
|
|||
num_tags = self.readShort()
|
||||
self.f.seek(num_tags * 12, os.SEEK_CUR)
|
||||
|
||||
if sys.version_info >= (3, 12):
|
||||
from collections.abc import Buffer
|
||||
|
||||
def write(self, data: Buffer, /) -> int:
|
||||
return self.f.write(data)
|
||||
|
||||
else:
|
||||
|
||||
def write(self, data: Any, /) -> int:
|
||||
return self.f.write(data)
|
||||
|
||||
def readShort(self) -> int:
|
||||
(value,) = struct.unpack(self.shortFmt, self.f.read(2))
|
||||
return value
|
||||
|
|
|
@ -15,6 +15,11 @@ if TYPE_CHECKING:
|
|||
except (ImportError, AttributeError):
|
||||
pass
|
||||
|
||||
if sys.version_info >= (3, 12):
|
||||
from collections.abc import Buffer
|
||||
else:
|
||||
Buffer = Any
|
||||
|
||||
if sys.version_info >= (3, 10):
|
||||
from typing import TypeGuard
|
||||
else:
|
||||
|
@ -40,4 +45,4 @@ class SupportsRead(Protocol[_T_co]):
|
|||
StrOrBytesPath = Union[str, bytes, "os.PathLike[str]", "os.PathLike[bytes]"]
|
||||
|
||||
|
||||
__all__ = ["IntegralLike", "StrOrBytesPath", "SupportsRead", "TypeGuard"]
|
||||
__all__ = ["Buffer", "IntegralLike", "StrOrBytesPath", "SupportsRead", "TypeGuard"]
|
||||
|
|
Loading…
Reference in New Issue
Block a user