mirror of
https://github.com/davidhalter/typeshed.git
synced 2026-08-03 06:28:28 +08:00
[stubsabot] Remove ExifRead (#14920)
This commit is contained in:
@@ -1,2 +0,0 @@
|
||||
# Stub-only module.
|
||||
exifread._types
|
||||
@@ -1,3 +0,0 @@
|
||||
version = "3.0.*"
|
||||
upstream_repository = "https://github.com/ianare/exif-py"
|
||||
obsolete_since = "3.1.0" # Released on 2025-04-25
|
||||
@@ -1,17 +0,0 @@
|
||||
from logging import Logger
|
||||
from typing import Any
|
||||
|
||||
from ._types import Reader
|
||||
|
||||
__version__: str
|
||||
logger: Logger
|
||||
|
||||
def process_file(
|
||||
fh: Reader,
|
||||
stop_tag: str = "UNDEF",
|
||||
details: bool = True,
|
||||
strict: bool = False,
|
||||
debug: bool = False,
|
||||
truncate_tags: bool = True,
|
||||
auto_seek: bool = True,
|
||||
) -> dict[str, Any]: ...
|
||||
@@ -1,15 +0,0 @@
|
||||
# Stubs-only module with type aliases for ExifRead.
|
||||
|
||||
from collections.abc import Iterator
|
||||
from typing import Any, Literal, Protocol
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
# The second item of the value tuple - if it exists - can be a variety of types,
|
||||
# including a callable or another dict.
|
||||
TagDict: TypeAlias = dict[int, tuple[str] | tuple[str, Any]]
|
||||
|
||||
class Reader(Protocol):
|
||||
def __iter__(self) -> Iterator[bytes]: ...
|
||||
def read(self, size: int, /) -> bytes: ...
|
||||
def tell(self) -> int: ...
|
||||
def seek(self, offset: int, whence: Literal[0, 1] = ..., /) -> object: ...
|
||||
@@ -1,47 +0,0 @@
|
||||
from logging import Logger
|
||||
from typing import Any, Literal
|
||||
|
||||
from ._types import Reader, TagDict
|
||||
|
||||
logger: Logger
|
||||
|
||||
class IfdTag:
|
||||
printable: str
|
||||
tag: int
|
||||
field_type: int
|
||||
field_offset: int
|
||||
field_length: int
|
||||
values: Any # either string, bytes or list of data items
|
||||
def __init__(self, printable: str, tag: int, field_type: int, values: Any, field_offset: int, field_length: int) -> None: ...
|
||||
|
||||
class ExifHeader:
|
||||
file_handle: Reader
|
||||
endian: Literal["I", "M"]
|
||||
offset: int
|
||||
fake_exif: bool
|
||||
strict: bool
|
||||
debug: bool
|
||||
detailed: bool
|
||||
truncate_tags: bool
|
||||
tags: dict[str, Any]
|
||||
def __init__(
|
||||
self,
|
||||
file_handle: Reader,
|
||||
endian: Literal["I", "M"],
|
||||
offset: int,
|
||||
fake_exif: bool,
|
||||
strict: bool,
|
||||
debug: bool = False,
|
||||
detailed: bool = True,
|
||||
truncate_tags: bool = True,
|
||||
) -> None: ...
|
||||
def s2n(self, offset: int, length: int, signed: bool = False) -> int: ...
|
||||
def n2b(self, offset: int, length: int) -> bytes: ...
|
||||
def list_ifd(self) -> list[int]: ...
|
||||
def dump_ifd(
|
||||
self, ifd: int, ifd_name: str, tag_dict: TagDict | None = None, relative: int = 0, stop_tag: str = "UNDEF"
|
||||
) -> None: ...
|
||||
def extract_tiff_thumbnail(self, thumb_ifd: int) -> None: ...
|
||||
def extract_jpeg_thumbnail(self) -> None: ...
|
||||
def decode_maker_note(self) -> None: ...
|
||||
def parse_xmp(self, xmp_bytes: bytes) -> None: ...
|
||||
@@ -1,2 +0,0 @@
|
||||
class InvalidExif(Exception): ...
|
||||
class ExifNotFound(Exception): ...
|
||||
@@ -1,24 +0,0 @@
|
||||
import logging
|
||||
from typing import TextIO
|
||||
|
||||
TEXT_NORMAL: int
|
||||
TEXT_BOLD: int
|
||||
TEXT_RED: int
|
||||
TEXT_GREEN: int
|
||||
TEXT_YELLOW: int
|
||||
TEXT_BLUE: int
|
||||
TEXT_MAGENTA: int
|
||||
TEXT_CYAN: int
|
||||
|
||||
def get_logger() -> logging.Logger: ...
|
||||
def setup_logger(debug: bool, color: bool) -> None: ...
|
||||
|
||||
class Formatter(logging.Formatter):
|
||||
color: bool
|
||||
debug: bool
|
||||
def __init__(self, debug: bool = False, color: bool = False) -> None: ...
|
||||
|
||||
class Handler(logging.StreamHandler[TextIO]):
|
||||
color: bool
|
||||
debug: bool
|
||||
def __init__(self, log_level: logging._Level, debug: bool = False, color: bool = False) -> None: ...
|
||||
@@ -1,56 +0,0 @@
|
||||
from collections.abc import Callable
|
||||
from logging import Logger
|
||||
|
||||
from ._types import Reader
|
||||
|
||||
logger: Logger
|
||||
|
||||
class WrongBox(Exception): ...
|
||||
class NoParser(Exception): ...
|
||||
class BoxVersion(Exception): ...
|
||||
class BadSize(Exception): ...
|
||||
|
||||
class Box:
|
||||
version: int
|
||||
minor_version: int
|
||||
item_count: int
|
||||
size: int
|
||||
after: int
|
||||
pos: int
|
||||
compat: list[bytes]
|
||||
base_offset: int
|
||||
subs: dict[str, Box]
|
||||
locs: dict[int, list[tuple[int, int]]]
|
||||
exif_infe: Box | None
|
||||
item_id: int
|
||||
item_type: bytes
|
||||
item_name: bytes
|
||||
item_protection_index: int
|
||||
major_brand: bytes
|
||||
offset_size: int
|
||||
length_size: int
|
||||
base_offset_size: int
|
||||
index_size: int
|
||||
flags: int
|
||||
name: str
|
||||
def __init__(self, name: str) -> None: ...
|
||||
def set_sizes(self, offset: int, length: int, base_offset: int, index: int) -> None: ...
|
||||
def set_full(self, vflags: int) -> None: ...
|
||||
|
||||
class HEICExifFinder:
|
||||
file_handle: Reader
|
||||
def __init__(self, file_handle: Reader) -> None: ...
|
||||
def get(self, nbytes: int) -> bytes: ...
|
||||
def get16(self) -> int: ...
|
||||
def get32(self) -> int: ...
|
||||
def get64(self) -> int: ...
|
||||
def get_int4x2(self) -> tuple[int, int]: ...
|
||||
def get_int(self, size: int) -> int: ...
|
||||
def get_string(self) -> bytes: ...
|
||||
def next_box(self) -> Box: ...
|
||||
def get_full(self, box: Box) -> None: ...
|
||||
def skip(self, box: Box) -> None: ...
|
||||
def expect_parse(self, name: str) -> Box: ...
|
||||
def get_parser(self, box: Box) -> Callable[[Box], None]: ...
|
||||
def parse_box(self, box: Box) -> Box: ...
|
||||
def find_exif(self) -> tuple[int, bytes]: ...
|
||||
@@ -1,7 +0,0 @@
|
||||
from logging import Logger
|
||||
|
||||
from ._types import Reader
|
||||
|
||||
logger: Logger
|
||||
|
||||
def find_jpeg_exif(fh: Reader, data: bytes, fake_exif: bool) -> tuple[int, bytes, bool]: ...
|
||||
@@ -1,15 +0,0 @@
|
||||
from _typeshed import Incomplete
|
||||
|
||||
from exifread.tags.exif import EXIF_TAGS as EXIF_TAGS
|
||||
from exifread.tags.makernote import (
|
||||
apple as apple,
|
||||
canon as canon,
|
||||
casio as casio,
|
||||
fujifilm as fujifilm,
|
||||
nikon as nikon,
|
||||
olympus as olympus,
|
||||
)
|
||||
|
||||
DEFAULT_STOP_TAG: str
|
||||
FIELD_TYPES: Incomplete
|
||||
IGNORE_TAGS: Incomplete
|
||||
@@ -1,7 +0,0 @@
|
||||
from exifread._types import TagDict
|
||||
|
||||
INTEROP_TAGS: TagDict
|
||||
INTEROP_INFO: tuple[str, TagDict]
|
||||
GPS_TAGS: TagDict
|
||||
GPS_INFO: tuple[str, TagDict]
|
||||
EXIF_TAGS: TagDict
|
||||
@@ -1,3 +0,0 @@
|
||||
from exifread._types import TagDict
|
||||
|
||||
TAGS: TagDict
|
||||
@@ -1,26 +0,0 @@
|
||||
from collections.abc import Callable
|
||||
from typing import Any
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
from exifread._types import TagDict
|
||||
|
||||
TAGS: TagDict
|
||||
|
||||
CAMERA_SETTINGS: TagDict
|
||||
FOCAL_LENGTH: TagDict
|
||||
SHOT_INFO: TagDict
|
||||
AF_INFO_2: TagDict
|
||||
FILE_INFO: TagDict
|
||||
|
||||
def add_one(value: int) -> int: ...
|
||||
def subtract_one(value: int) -> int: ...
|
||||
def convert_temp(value: int) -> str: ...
|
||||
|
||||
_CameraInfo: TypeAlias = dict[int, tuple[str, str, Callable[[int], Any]]]
|
||||
|
||||
CAMERA_INFO_TAG_NAME: str
|
||||
CAMERA_INFO_5D: _CameraInfo
|
||||
CAMERA_INFO_5DMKII: _CameraInfo
|
||||
CAMERA_INFO_5DMKIII: _CameraInfo
|
||||
CAMERA_INFO_600D: _CameraInfo
|
||||
CAMERA_INFO_MODEL_MAP: dict[str, _CameraInfo]
|
||||
@@ -1,3 +0,0 @@
|
||||
from exifread._types import TagDict
|
||||
|
||||
TAGS: TagDict
|
||||
@@ -1,3 +0,0 @@
|
||||
from exifread._types import TagDict
|
||||
|
||||
TAGS: TagDict
|
||||
@@ -1,6 +0,0 @@
|
||||
from exifread._types import TagDict
|
||||
|
||||
def ev_bias(seq: list[int]) -> str: ...
|
||||
|
||||
TAGS_NEW: TagDict
|
||||
TAGS_OLD: TagDict
|
||||
@@ -1,6 +0,0 @@
|
||||
from exifread._types import TagDict
|
||||
|
||||
def special_mode(val: bytes) -> str: ...
|
||||
|
||||
TAGS: TagDict
|
||||
TAG_0x2020: TagDict
|
||||
@@ -1,22 +0,0 @@
|
||||
from collections.abc import Mapping
|
||||
from fractions import Fraction
|
||||
from typing import Any, TypeVar, overload
|
||||
from typing_extensions import Self
|
||||
|
||||
_T = TypeVar("_T")
|
||||
|
||||
@overload
|
||||
def ord_(dta: str) -> int: ...
|
||||
@overload
|
||||
def ord_(dta: _T) -> _T: ...
|
||||
def make_string(seq: str | list[int]) -> str: ...
|
||||
def make_string_uc(seq: str | list[int]) -> str: ...
|
||||
def get_gps_coords(tags: Mapping[str, Any]) -> tuple[float, float]: ...
|
||||
|
||||
class Ratio(Fraction):
|
||||
def __new__(cls, numerator: int = 0, denominator: int | None = None) -> Self: ...
|
||||
@property
|
||||
def num(self) -> int: ...
|
||||
@property
|
||||
def den(self) -> int: ...
|
||||
def decimal(self) -> float: ...
|
||||
Reference in New Issue
Block a user