From 6487286caeb86415dec24906f28beae52989c101 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Wed, 7 Jan 2026 14:40:53 +0100 Subject: [PATCH] metadata-scrubber-tool: implemented fix mypy type checking issues for piexif(it has no stub files) used basedpyright to generate a type stub, but damn that a lot more type related issues fixed most but a few remained so i modified the pyrightconfig with this: "typeCheckingMode": "standard" as it is in strict mode by default. --- .gitignore | 51 ++++++++++++++++++++++++++++++++-- typings/piexif/_common.pyi | 1 - typings/piexif/_dump.pyi | 1 - typings/piexif/_exceptions.pyi | 2 -- typings/piexif/_insert.pyi | 1 - typings/piexif/_load.pyi | 7 ++--- typings/piexif/_remove.pyi | 1 - typings/piexif/_transplant.pyi | 1 - typings/piexif/_webp.pyi | 1 - typings/piexif/helper.pyi | 5 +--- 10 files changed, 52 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 0e5ac793..bef1aeef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,49 @@ -.venv -__pycache__ \ No newline at end of file +# ============== Python ============== +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +*.egg-info/ +*.egg +dist/ +build/ + +# ============== Virtual Environment ============== +.venv/ +venv/ +ENV/ + +# ============== IDE / Editor ============== +.vscode/ +.idea/ +*.swp +*.swo +.qodo/ + +# ============== Testing ============== +.pytest_cache/ +.coverage +htmlcov/ +coverage.xml +*.cover + +# ============== Type Checking ============== +.mypy_cache/ +.pyright/ + +# ============== Linting ============== +.ruff_cache/ + +# ============== Environment ============== +.env +.env.local +*.log + +# ============== OS Generated ============== +.DS_Store +Thumbs.db + +# ============== Project Specific ============== +# Output directory for processed images +tests/assets/output/ \ No newline at end of file diff --git a/typings/piexif/_common.pyi b/typings/piexif/_common.pyi index d44b14ea..bc0a391c 100644 --- a/typings/piexif/_common.pyi +++ b/typings/piexif/_common.pyi @@ -21,4 +21,3 @@ def merge_segments(segments, exif=...): # -> bytes: """Merges Exif with APP0 and APP1 manipulations. """ ... - diff --git a/typings/piexif/_dump.pyi b/typings/piexif/_dump.pyi index 43701355..b30bc42e 100644 --- a/typings/piexif/_dump.pyi +++ b/typings/piexif/_dump.pyi @@ -17,4 +17,3 @@ def dump(exif_dict_original): # -> bytes: :rtype: bytes """ ... - diff --git a/typings/piexif/_exceptions.pyi b/typings/piexif/_exceptions.pyi index 7f1d5b52..065711d8 100644 --- a/typings/piexif/_exceptions.pyi +++ b/typings/piexif/_exceptions.pyi @@ -4,5 +4,3 @@ This type stub file was generated by pyright. class InvalidImageDataError(ValueError): ... - - diff --git a/typings/piexif/_insert.pyi b/typings/piexif/_insert.pyi index 64c35198..1ed299bf 100644 --- a/typings/piexif/_insert.pyi +++ b/typings/piexif/_insert.pyi @@ -14,4 +14,3 @@ def insert(exif, image, new_file=...): # -> None: :param str filename: JPEG """ ... - diff --git a/typings/piexif/_load.pyi b/typings/piexif/_load.pyi index 85138c25..8c778fd5 100644 --- a/typings/piexif/_load.pyi +++ b/typings/piexif/_load.pyi @@ -21,12 +21,9 @@ def load(input_data, key_is_name=...): # -> dict[str, Any]: class _ExifReader: def __init__(self, data) -> None: ... - + def get_ifd_dict(self, pointer, ifd_name, read_unknown=...): # -> dict[Any, Any]: ... - + def convert_value(self, val): # -> Any | tuple[Any, Any] | bytes | tuple[Any, ...] | tuple[tuple[Any, Any], ...]: ... - - - diff --git a/typings/piexif/_remove.pyi b/typings/piexif/_remove.pyi index 6c6da59f..aed1e529 100644 --- a/typings/piexif/_remove.pyi +++ b/typings/piexif/_remove.pyi @@ -13,4 +13,3 @@ def remove(src, new_file=...): # -> None: :param str filename: JPEG """ ... - diff --git a/typings/piexif/_transplant.pyi b/typings/piexif/_transplant.pyi index 90f2bb66..306bc2db 100644 --- a/typings/piexif/_transplant.pyi +++ b/typings/piexif/_transplant.pyi @@ -14,4 +14,3 @@ def transplant(exif_src, image, new_file=...): # -> None: :param str filename2: JPEG """ ... - diff --git a/typings/piexif/_webp.pyi b/typings/piexif/_webp.pyi index 373f9aea..51b78017 100644 --- a/typings/piexif/_webp.pyi +++ b/typings/piexif/_webp.pyi @@ -25,4 +25,3 @@ def insert(webp_bytes, exif_bytes): # -> bytes: def remove(webp_bytes): # -> bytes: ... - diff --git a/typings/piexif/helper.pyi b/typings/piexif/helper.pyi index 3579d439..0b9dfee4 100644 --- a/typings/piexif/helper.pyi +++ b/typings/piexif/helper.pyi @@ -26,7 +26,7 @@ class UserComment: or the encoding is unsupported. """ ... - + @classmethod def dump(cls, data, encoding=...): """ @@ -39,6 +39,3 @@ class UserComment: :raises: ValueError if the encoding is unsupported. """ ... - - -