From a5047a552c574c0a68893dd587815bfb432e373a Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Sat, 3 Jan 2026 16:02:14 +0100 Subject: [PATCH 01/38] Metadata-Scrubber-Tool: initial commit --- .env.example | 5 +++ README.md | 15 +++++++++ docker-compose.yml | 10 ++++++ requirements.txt | Bin 0 -> 326 bytes src/__init__.py | 0 src/__pycache__/__init__.cpython-314.pyc | Bin 0 -> 164 bytes src/__pycache__/main.cpython-314.pyc | Bin 0 -> 1701 bytes src/commands/__init__.py | 1 + src/commands/utils.py | 1 + src/main.py | 38 +++++++++++++++++++++++ 10 files changed, 70 insertions(+) create mode 100644 .env.example create mode 100644 README.md create mode 100644 docker-compose.yml create mode 100644 requirements.txt create mode 100644 src/__init__.py create mode 100644 src/__pycache__/__init__.cpython-314.pyc create mode 100644 src/__pycache__/main.cpython-314.pyc create mode 100644 src/commands/__init__.py create mode 100644 src/commands/utils.py create mode 100644 src/main.py diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..6a81f92b --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +# Environment Variables Example +# Copy this file to .env and fill in your values + +# Example: +# API_KEY=your_api_key_here diff --git a/README.md b/README.md new file mode 100644 index 00000000..21c4e265 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# Metadata Scrubber Tool + +A tool for scrubbing metadata from files. + +## Installation + +```bash +uv pip install -r requirements.txt +``` + +## Usage + +```bash +python -m src.main +``` diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..c38bf62a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +version: '3.8' + +services: + app: + build: . + container_name: metadata-scrubber + volumes: + - .:/app + env_file: + - .env diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..50e3b916229b8d0fde24d7c193b65ff22f7f73a9 GIT binary patch literal 326 zcmX|+VG6=96od0y@F>b!r|1vw;0;7J*@kr+T}8dTnwQELZ-wSdUi$r12PuF;m4|9^E=B1tJ zXt?Fdl!Qryr|NK+nW(0%G^Z9uX8X+>u8BWSF-$^6Gh&+QXZ-SYQ;PMAfgc4f0an|ved1Omu<*$TuL;x%b>9NgLV0vkUiub% zgKh$SAyp+yDuAUoEV&>L_yu_enaVRR$Et68Bu?B4sAs#T94ir{v04rS7cT9oS;TLg zjz7Hke&Jd~XjHgSCA3y>$XCP-LXY^Y;1Om!HnX!)h1SbuLbD896e3zFcy`Utg^k!K zm2BS+n9WG3L{Eat6ELIKfwa(bG$gG^`-1K&9kKp$wI_FB2dW%K4?+?qWT|$Wz(D5G z9ISlw>S{@OWB@YWRzlfQLS-#!sY0U(O(Il|>axKr_@7bG28z6F>3PLUUg+;y?AIQ; zm4X_ko1dkx*bQ7It{Y$$U>nz=K)LklEu78vYKm(SS32{!#_$#;ghkj3D8XUi));Xc zxpZ@KIS3r=fG6^N+V*#0~Bbi##|C>5o@?) z-Be<|(nDgbg|y}~szQZKmFloi-i=uINEAW1u~rG(fJS`7>@3FA;8smkh>iiz-(_?e z2sGV5$;^{XcF)<%x8J$eHu4<>rG`5RG&1(R_T<#`{l)vU?KeJYkAAwN|1mtaqa7rW zW^AwBS=&ATv)-Ot`dxc4dg-CMOf%r{*yG@E;Z5tF6IZ?baV)^oGi929ts*5;qAB2E z5fByd7l{bi3c_IF|Du*F4+ni{5ud z$H8!x8_xh~p@Ve4&Ofg69_$(I(RUxJ?}^0XWU0j8bg5)YmrMh&(g+ES4O**IbA6al zUivsKR3ZPk1YlzAs@SU7VJO1lu<|_HcLXv-5ZpWel1ioDkhrcFXz~LuaOy7kh@J<} zydjYbq@zfZ^d~YNBm5Xm0C03;`}Q}t?|LoeQF`Q_+0sELYun>@#_yi}N9KP_S3&Yn lN3fl9hqeP5+SfM$*U2E&*l9jc&OB1}?>^sGkoua4=3n$eXo~;< literal 0 HcmV?d00001 diff --git a/src/commands/__init__.py b/src/commands/__init__.py new file mode 100644 index 00000000..fef0be3c --- /dev/null +++ b/src/commands/__init__.py @@ -0,0 +1 @@ +# Commands module diff --git a/src/commands/utils.py b/src/commands/utils.py new file mode 100644 index 00000000..d41ddc6d --- /dev/null +++ b/src/commands/utils.py @@ -0,0 +1 @@ +# Utility functions for commands diff --git a/src/main.py b/src/main.py new file mode 100644 index 00000000..15a6fccd --- /dev/null +++ b/src/main.py @@ -0,0 +1,38 @@ +import typer +from rich.console import Console +from rich.panel import Panel + +# Initialize the app and the console +app = typer.Typer() +console = Console() + + +@app.command() +def hello(name: str, formal: bool = False): + """ + Say hello to a user. + If --formal is used, it greets more politely. + """ + if formal: + message = ( + f"Good day to you, [bold magenta]{name}[/bold magenta]. It is a pleasure." + ) + color = "green" + else: + message = f"Yo [bold cyan]{name}[/bold cyan]! What's up?" + color = "yellow" + + # Use Rich to print a pretty panel instead of a boring print() + console.print(Panel(message, title="Greeting System", style=color)) + + +@app.command() +def goodbye(name: str): + """ + Say goodbye. + """ + console.print(f"[red]Goodbye, {name}![/red] 👋") + + +if __name__ == "__main__": + app() From ceb5ef6d55709e65eeb678a196e1e69caf8842a8 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Sun, 4 Jan 2026 17:29:50 +0100 Subject: [PATCH 02/38] metadata-scrubber-tool: added functionality for wiping exif data from jpeg images --- .gitignore | 2 + src/commands/utils.py | 1 - src/services/image_handler.py | 66 ++++++++++++++++++++++++++++++++ src/services/metadata_handler.py | 24 ++++++++++++ src/utils/__init__.py | 0 src/utils/jpeg_metadata.py | 54 ++++++++++++++++++++++++++ 6 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 .gitignore delete mode 100644 src/commands/utils.py create mode 100644 src/services/image_handler.py create mode 100644 src/services/metadata_handler.py create mode 100644 src/utils/__init__.py create mode 100644 src/utils/jpeg_metadata.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..0e5ac793 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.venv +__pycache__ \ No newline at end of file diff --git a/src/commands/utils.py b/src/commands/utils.py deleted file mode 100644 index d41ddc6d..00000000 --- a/src/commands/utils.py +++ /dev/null @@ -1 +0,0 @@ -# Utility functions for commands diff --git a/src/services/image_handler.py b/src/services/image_handler.py new file mode 100644 index 00000000..7d588d4c --- /dev/null +++ b/src/services/image_handler.py @@ -0,0 +1,66 @@ +import shutil +from pathlib import Path +from typing import Optional + +import piexif +from PIL import Image + +from src.services.metadata_handler import MetadataHandler +from src.utils.jpeg_metadata import JpegProcessaor + + +class ImageHandler(MetadataHandler): + def __init__(self, filepath: str): + super().__init__(filepath) + self.processors = {".jpeg": JpegProcessaor(), ".jpg": JpegProcessaor()} + self.tags_to_delete = [] + + def read(self): + """Extracts metadata into a standard dictionary.""" + with Image.open(Path(self.filepath)) as img: + extension = Path(self.filepath).suffix + processor = self.processors.get(extension) + + if not processor: + raise ValueError(f"Unsupported format: {extension}") + + self.metadata = processor.get_metadata(img)["data"] + self.tags_to_delete = processor.get_metadata(img)["tags_to_delete"] + return self.metadata + + def wipe(self) -> None: + """Wipes internal metadata state.""" + with Image.open(Path(self.filepath)) as img: + extension = Path(self.filepath).suffix + processor = self.processors.get(extension) + + if not processor: + raise ValueError(f"Unsupported format: {extension}") + + self.processed_metadata = processor.delete_metadata( + img, self.tags_to_delete + ) + + def save(self, output_path: Optional[str] = None) -> None: + """Writes the changes to a copy of the original file.""" + destination_dir = Path(output_path or "/archive/") + + # creates the destination directory if it doesn't exist + destination_dir.mkdir(parents=True, exist_ok=True) + destination_file_path = ( + destination_dir / f"processed_{Path(self.filepath).name}" + ) + + # copies the original file to the destination directory + shutil.copy2(self.filepath, destination_file_path) + + # writes the processed metadata to the image in the destination directory + with Image.open(destination_file_path) as img: + exif_bytes = piexif.dump(self.processed_metadata) + img.save(destination_file_path, exif=exif_bytes) + + +test = ImageHandler(r"C:\Users\Xheri\development\testimage\20221201_090615.jpg") +test.read() +test.wipe() +test.save() diff --git a/src/services/metadata_handler.py b/src/services/metadata_handler.py new file mode 100644 index 00000000..89c2e2db --- /dev/null +++ b/src/services/metadata_handler.py @@ -0,0 +1,24 @@ +from abc import ABC, abstractmethod +from typing import Any, Dict, Optional + + +class MetadataHandler(ABC): + def __init__(self, filepath: str): + self.filepath = filepath + self.metadata: Dict[str, Any] = {} + self.processed_metadata: Dict[str, Any] = {} + + @abstractmethod + def read(self) -> Dict[str, Any]: + """Extracts metadata into a standard dictionary.""" + pass + + @abstractmethod + def wipe(self) -> None: + """Updates internal metadata state.""" + pass + + @abstractmethod + def save(self, output_path: Optional[str] = None) -> None: + """Writes the changes to a file.""" + pass diff --git a/src/utils/__init__.py b/src/utils/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/utils/jpeg_metadata.py b/src/utils/jpeg_metadata.py new file mode 100644 index 00000000..8428c1f4 --- /dev/null +++ b/src/utils/jpeg_metadata.py @@ -0,0 +1,54 @@ +import piexif + + +class JpegProcessaor: + def __init__(self): + self.tags_to_delete = [] + self.data = {} + + def get_metadata(self, img): + if "exif" in img.info: + exif_dict = piexif.load(img.info["exif"]) + for ifd, value in exif_dict.items(): + # this exclude thumbnail IFD (its the thumbnails blob data. it can be removed but the image will take a couple more seconds to load) + if not isinstance(exif_dict[ifd], dict): + continue + + # iterate through the IFD + for tag, tag_value in exif_dict[ifd].items(): + tag_info = piexif.TAGS[ifd].get(tag, {}) + + # Get the human-readable name for the tag + tag_name = ( + tag_info.get("name", "Unknown Tag") + if tag_info + else "Unknown Tag" + ) + + # exculudes tags that are necessary for image display integrity + if ( + tag_name == "Orientation" + or tag_name == "ColorSpace" + or tag_name == "ExifTag" + ): + continue + + # save to list and dict + self.tags_to_delete.append(tag) + self.data[tag_name] = tag_value + + return {"data": self.data, "tags_to_delete": self.tags_to_delete} + + def delete_metadata(self, img, tags_to_delete): + exif_dict = piexif.load(img.info["exif"]) + for ifd, value in exif_dict.items(): + # exclude thumbnail IFD (its the thumbnails blob data so i dont wanna deal with that) + if not isinstance(exif_dict[ifd], dict): + continue + + # iterate through and delete tags + for tag in list(exif_dict[ifd]): + if tag in tags_to_delete: + del exif_dict[ifd][tag] + + return exif_dict From a517d774c2735c800ed774d9aa91685dfcbf8636 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Sun, 4 Jan 2026 21:13:37 +0100 Subject: [PATCH 03/38] metadata-scrubber-tool: added the png_metadata processing functionalities, added an exception class to handle various error --- src/__pycache__/main.cpython-314.pyc | Bin 1701 -> 0 bytes src/services/image_handler.py | 7 ++- src/utils/exceptions.py | 22 +++++++ src/utils/jpeg_metadata.py | 89 +++++++++++++++------------ src/utils/png_metadata.py | 60 ++++++++++++++++++ 5 files changed, 137 insertions(+), 41 deletions(-) delete mode 100644 src/__pycache__/main.cpython-314.pyc create mode 100644 src/utils/exceptions.py create mode 100644 src/utils/png_metadata.py diff --git a/src/__pycache__/main.cpython-314.pyc b/src/__pycache__/main.cpython-314.pyc deleted file mode 100644 index b26d92cb358627fd7aa5227d0adeed0f42283206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1701 zcmah}%WoS+7@vK4ZFlQDC~8VlGD+Hm6|sXL&X8X+>u8BWSF-$^6Gh&+QXZ-SYQ;PMAfgc4f0an|ved1Omu<*$TuL;x%b>9NgLV0vkUiub% zgKh$SAyp+yDuAUoEV&>L_yu_enaVRR$Et68Bu?B4sAs#T94ir{v04rS7cT9oS;TLg zjz7Hke&Jd~XjHgSCA3y>$XCP-LXY^Y;1Om!HnX!)h1SbuLbD896e3zFcy`Utg^k!K zm2BS+n9WG3L{Eat6ELIKfwa(bG$gG^`-1K&9kKp$wI_FB2dW%K4?+?qWT|$Wz(D5G z9ISlw>S{@OWB@YWRzlfQLS-#!sY0U(O(Il|>axKr_@7bG28z6F>3PLUUg+;y?AIQ; zm4X_ko1dkx*bQ7It{Y$$U>nz=K)LklEu78vYKm(SS32{!#_$#;ghkj3D8XUi));Xc zxpZ@KIS3r=fG6^N+V*#0~Bbi##|C>5o@?) z-Be<|(nDgbg|y}~szQZKmFloi-i=uINEAW1u~rG(fJS`7>@3FA;8smkh>iiz-(_?e z2sGV5$;^{XcF)<%x8J$eHu4<>rG`5RG&1(R_T<#`{l)vU?KeJYkAAwN|1mtaqa7rW zW^AwBS=&ATv)-Ot`dxc4dg-CMOf%r{*yG@E;Z5tF6IZ?baV)^oGi929ts*5;qAB2E z5fByd7l{bi3c_IF|Du*F4+ni{5ud z$H8!x8_xh~p@Ve4&Ofg69_$(I(RUxJ?}^0XWU0j8bg5)YmrMh&(g+ES4O**IbA6al zUivsKR3ZPk1YlzAs@SU7VJO1lu<|_HcLXv-5ZpWel1ioDkhrcFXz~LuaOy7kh@J<} zydjYbq@zfZ^d~YNBm5Xm0C03;`}Q}t?|LoeQF`Q_+0sELYun>@#_yi}N9KP_S3&Yn lN3fl9hqeP5+SfM$*U2E&*l9jc&OB1}?>^sGkoua4=3n$eXo~;< diff --git a/src/services/image_handler.py b/src/services/image_handler.py index 7d588d4c..e09435f6 100644 --- a/src/services/image_handler.py +++ b/src/services/image_handler.py @@ -7,12 +7,17 @@ from PIL import Image from src.services.metadata_handler import MetadataHandler from src.utils.jpeg_metadata import JpegProcessaor +from src.utils.png_metadata import PngProcessor class ImageHandler(MetadataHandler): def __init__(self, filepath: str): super().__init__(filepath) - self.processors = {".jpeg": JpegProcessaor(), ".jpg": JpegProcessaor()} + self.processors = { + ".jpeg": JpegProcessaor(), + ".jpg": JpegProcessaor(), + ".png": PngProcessor(), + } self.tags_to_delete = [] def read(self): diff --git a/src/utils/exceptions.py b/src/utils/exceptions.py new file mode 100644 index 00000000..90bb1c43 --- /dev/null +++ b/src/utils/exceptions.py @@ -0,0 +1,22 @@ +class MetadataException(Exception): + """Base class for other exceptions in this module.""" + + pass + + +class UnsupportedFormatError(MetadataException): + """Exception raised when an unsupported file format is encountered.""" + + pass + + +class MetadataNotFoundError(MetadataException): + """Exception raised when metadata is not found.""" + + pass + + +class MetadataProcessingError(MetadataException): + """Exception raised when an error occurs during metadata processing.""" + + pass diff --git a/src/utils/jpeg_metadata.py b/src/utils/jpeg_metadata.py index 8428c1f4..ed005c2d 100644 --- a/src/utils/jpeg_metadata.py +++ b/src/utils/jpeg_metadata.py @@ -1,4 +1,6 @@ -import piexif +import piexif # pyright: ignore[reportMissingTypeStubs] + +from src.utils.exceptions import MetadataNotFoundError, MetadataProcessingError class JpegProcessaor: @@ -7,48 +9,55 @@ class JpegProcessaor: self.data = {} def get_metadata(self, img): - if "exif" in img.info: + try: + if "exif" in img.info: + exif_dict = piexif.load(img.info["exif"]) + for ifd, value in exif_dict.items(): + # this exclude thumbnail IFD (its the thumbnails blob data. it can be removed but the image will take a couple more seconds to load) + if not isinstance(exif_dict[ifd], dict): + continue + + # iterate through the IFD + for tag, tag_value in exif_dict[ifd].items(): + tag_info = piexif.TAGS[ifd].get(tag, {}) + + # Get the human-readable name for the tag + tag_name = ( + tag_info.get("name", "Unknown Tag") + if tag_info + else "Unknown Tag" + ) + + # exculudes tags that are necessary for image display integrity + if ( + tag_name == "Orientation" + or tag_name == "ColorSpace" + or tag_name == "ExifTag" + ): + continue + + # save to list and dict + self.tags_to_delete.append(tag) + self.data[tag_name] = tag_value + return {"data": self.data, "tags_to_delete": self.tags_to_delete} + else: + raise MetadataNotFoundError("No EXIF data found in the image.") + except MetadataNotFoundError as e: + return f"Error: {str(e)}" + + def delete_metadata(self, img, tags_to_delete): + try: exif_dict = piexif.load(img.info["exif"]) for ifd, value in exif_dict.items(): - # this exclude thumbnail IFD (its the thumbnails blob data. it can be removed but the image will take a couple more seconds to load) + # exclude thumbnail IFD (its the thumbnails blob data so i dont wanna deal with that) if not isinstance(exif_dict[ifd], dict): continue - # iterate through the IFD - for tag, tag_value in exif_dict[ifd].items(): - tag_info = piexif.TAGS[ifd].get(tag, {}) + # iterate through and delete tags + for tag in list(exif_dict[ifd]): + if tag in tags_to_delete: + del exif_dict[ifd][tag] - # Get the human-readable name for the tag - tag_name = ( - tag_info.get("name", "Unknown Tag") - if tag_info - else "Unknown Tag" - ) - - # exculudes tags that are necessary for image display integrity - if ( - tag_name == "Orientation" - or tag_name == "ColorSpace" - or tag_name == "ExifTag" - ): - continue - - # save to list and dict - self.tags_to_delete.append(tag) - self.data[tag_name] = tag_value - - return {"data": self.data, "tags_to_delete": self.tags_to_delete} - - def delete_metadata(self, img, tags_to_delete): - exif_dict = piexif.load(img.info["exif"]) - for ifd, value in exif_dict.items(): - # exclude thumbnail IFD (its the thumbnails blob data so i dont wanna deal with that) - if not isinstance(exif_dict[ifd], dict): - continue - - # iterate through and delete tags - for tag in list(exif_dict[ifd]): - if tag in tags_to_delete: - del exif_dict[ifd][tag] - - return exif_dict + return exif_dict + except Exception as e: + raise MetadataProcessingError(f"Error Processing: {str(e)}") diff --git a/src/utils/png_metadata.py b/src/utils/png_metadata.py new file mode 100644 index 00000000..1d88e0b3 --- /dev/null +++ b/src/utils/png_metadata.py @@ -0,0 +1,60 @@ +from PIL import ExifTags + +from src.utils.exceptions import MetadataNotFoundError, MetadataProcessingError + + +class PngProcessor: + def __init__(self): + self.tags_to_delete = [] + self.data = {} + + def get_metadata(self, img): + img.load() + exif = img.getexif() + try: + if exif: + # iterate through the (0th) IFD + for tag, value in exif.items(): + # Get the human-readable name for the tag + tag_name = ExifTags.TAGS.get(tag, tag) + + # save to list and dict + self.tags_to_delete.append(tag) + self.data[tag_name] = value + print(f"{tag_name}: {value}") + + # terate through the (GPS) IFD + gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) + for tag, value in gps_ifd.items(): + # Get the human-readable name for the tag + tag_name = ExifTags.GPSTAGS.get(tag, tag) + + # save to list and dict + self.tags_to_delete.append(tag) + self.data[tag_name] = value + print(f"{tag_name}: {value}") + + return {"data": self.data, "tags_to_delete": self.tags_to_delete} + else: + raise MetadataNotFoundError("No EXIF data found in the image.") + except MetadataNotFoundError as e: + return f"Error: {str(e)}" + + def delete_metadata(self, img, tags_to_delete): + img.load() + exif = img.getexif() + try: + # iterate through the (0th) IFD + for tag_id, value in exif.items(): + if tag_id in tags_to_delete: + del exif[tag_id] + + # terate through the (GPS) IFD + gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) + for tag_id, value in gps_ifd.items(): + if tag_id in tags_to_delete: + del gps_ifd[tag_id] + + return exif + gps_ifd + except Exception as e: + raise MetadataProcessingError(f"Error Processing image: {str(e)}") From fbd303f6d97cd6b3349d5867549a52297da6ecec Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Mon, 5 Jan 2026 17:15:13 +0100 Subject: [PATCH 04/38] metadata-scrubber-tool: implemented single file processing and recursive processing of file within a folder based on the extension provided in the -ext flag. implemented cli command for displaying metadata. implemented human readable format for display metadata value. refactored and moved png and jpg metadata processor logic to the core dir. implemented logging with -v(verbose flag) --- requirements.txt | Bin 326 -> 984 bytes src/commands/read.py | 53 ++++++++++++++++++++ src/core/jpeg_metadata.py | 59 +++++++++++++++++++++++ src/core/png_metadata.py | 58 ++++++++++++++++++++++ src/main.py | 52 ++++++++++---------- src/services/image_handler.py | 6 +-- src/services/metadata_factory.py | 26 ++++++++++ src/utils/display.py | 80 +++++++++++++++++++++++++++++++ src/utils/formatter.py | 23 +++++++++ src/utils/get_target_files.py | 5 ++ src/utils/jpeg_metadata.py | 63 ------------------------ src/utils/logger.py | 32 +++++++++++++ src/utils/png_metadata.py | 60 ----------------------- 13 files changed, 365 insertions(+), 152 deletions(-) create mode 100644 src/commands/read.py create mode 100644 src/core/jpeg_metadata.py create mode 100644 src/core/png_metadata.py create mode 100644 src/services/metadata_factory.py create mode 100644 src/utils/display.py create mode 100644 src/utils/formatter.py create mode 100644 src/utils/get_target_files.py delete mode 100644 src/utils/jpeg_metadata.py create mode 100644 src/utils/logger.py delete mode 100644 src/utils/png_metadata.py diff --git a/requirements.txt b/requirements.txt index 50e3b916229b8d0fde24d7c193b65ff22f7f73a9..23f28d13208a86700aebc2783762dcc5cb77a850 100644 GIT binary patch literal 984 zcmaJC_D_)SHVI{-OYH$3$y6F_&itERw>AuVCGzd z(z*)k+Hh7F-c?hb@F%Ms|J0=G`dibC>PJIw0LN?5=J+Jq!(U3S$g?0~>T8OV{VLOzT&g8RoylHM$4DKW{Y$e?#1uMq zt4A|)VDl}kus6RwHBNXZiaIlMBCRRa#BKFt5MRx_pEdE|7Uh!%o!Xz!J#$UUsj^Dg)$?r* ziq#Vt2BK%|b1%a8o2C2*ZmkUHo|5WmU>G@7P@U_m_@>((6O$5GIZ=ad?~P3E!m+d& q&vc?z?PIWM*QU+76R#?R>Ytn7${zl;|B;UGL=|sD7pokeEWsbw*Nkld delta 58 zcmcb?evFCf|G$Y!b`w7tOm<+DVhorZ%A`E`7L&|m5oWE)3CtRd@ssNrB?U|v^cV~o NOo5~U11|#?0{}jG4($K{ diff --git a/src/commands/read.py b/src/commands/read.py new file mode 100644 index 00000000..d200824f --- /dev/null +++ b/src/commands/read.py @@ -0,0 +1,53 @@ +import logging +from pathlib import Path + +import typer +from rich.console import Console + +from src.services.metadata_factory import MetadataFactory +from src.utils.display import print_metadata_table +from src.utils.get_target_files import get_target_files + +console = Console() +log = logging.getLogger("metadata-scrubber") + + +# fmt: off +def get_metadata( + file_path: Path = typer.Argument( + exists=True, # Must exist on the filesystem + file_okay=True, # Can be a file + dir_okay=True, # Can be a directory + readable=True, # Must be readable (permissions check) + writable=True, # Must be writable (permissions check) + resolve_path=True, # Auto-convert to absolute path + help="The path to the file you want to process", + ), + recursive: bool = typer.Option(False, "--recursive", "-r", help="Recursively process files in the specified directory."), + ext: str = typer.Option(None,"--extension", "-ext", help="The file extension to filter by. eg: jpg, png, pdf"), +): + if recursive and not ext: + raise typer.BadParameter("If you provide --recursive or -r, you must also provide --extension or -ext.") + if ext and not recursive: + raise typer.BadParameter("If you provide --extension or -ext, you must also provide --recursive or -r.") + + for file in get_target_files(file_path, ext) if recursive else [file_path]: + try: + # Get the correct object from the factory + handler = MetadataFactory.get_handler(str(file)) + + # Read + console.print(f"🔎 Processing [bold cyan]{file.name}[/bold cyan]...") + current_data = handler.read() + log.info(f"Successfully read metadata from {file_path.name}") + print_metadata_table(current_data) + + except Exception as e: + # display error in console + console.print(f"❌ [bold red]Skipped[/bold red] [cyan]{file_path.name}[/cyan]: [dim]{e}[/dim]") + + # LOG: Full technical details (Stack trace) for you to debug + + if log.isEnabledFor(logging.DEBUG): + # if verbose mode is enabled, log the traceback + log.error(f"Failed to process {file_path}", exc_info=True) diff --git a/src/core/jpeg_metadata.py b/src/core/jpeg_metadata.py new file mode 100644 index 00000000..9e382851 --- /dev/null +++ b/src/core/jpeg_metadata.py @@ -0,0 +1,59 @@ +import piexif # pyright: ignore[reportMissingTypeStubs] + +from src.utils.exceptions import MetadataNotFoundError, MetadataProcessingError + + +class JpegProcessaor: + def __init__(self): + self.tags_to_delete = [] + self.data = {} + + def get_metadata(self, img): + if "exif" not in img.info: + raise MetadataNotFoundError("No EXIF data found in the image.") + + exif_dict = piexif.load(img.info["exif"]) + for ifd, value in exif_dict.items(): + # this exclude thumbnail IFD (its the thumbnails blob data. it can be removed but the image will take a couple more seconds to load) + if not isinstance(exif_dict[ifd], dict): + continue + + # iterate through the IFD + for tag, tag_value in exif_dict[ifd].items(): + tag_info = piexif.TAGS[ifd].get(tag, {}) + + # Get the human-readable name for the tag + tag_name = ( + tag_info.get("name", "Unknown Tag") if tag_info else "Unknown Tag" + ) + + # exculudes tags that are necessary for image display integrity + if ( + tag_name == "Orientation" + or tag_name == "ColorSpace" + or tag_name == "ExifTag" + ): + continue + + # save to list and dict + self.tags_to_delete.append(tag) + self.data[tag_name] = tag_value + + return {"data": self.data, "tags_to_delete": self.tags_to_delete} + + def delete_metadata(self, img, tags_to_delete): + try: + exif_dict = piexif.load(img.info["exif"]) + for ifd, value in exif_dict.items(): + # exclude thumbnail IFD (its the thumbnails blob data so i dont wanna deal with that) + if not isinstance(exif_dict[ifd], dict): + continue + + # iterate through and delete tags + for tag in list(exif_dict[ifd]): + if tag in tags_to_delete: + del exif_dict[ifd][tag] + + return exif_dict + except Exception as e: + raise MetadataProcessingError(f"Error Processing: {str(e)}") diff --git a/src/core/png_metadata.py b/src/core/png_metadata.py new file mode 100644 index 00000000..2e0f61d0 --- /dev/null +++ b/src/core/png_metadata.py @@ -0,0 +1,58 @@ +from PIL import ExifTags + +from src.utils.exceptions import MetadataNotFoundError, MetadataProcessingError + + +class PngProcessor: + def __init__(self): + self.tags_to_delete = [] + self.data = {} + + def get_metadata(self, img): + img.load() + exif = img.getexif() + + if not exif: + raise MetadataNotFoundError("No EXIF data found in the image.") + + # iterate through the (0th) IFD + for tag, value in exif.items(): + # Get the human-readable name for the tag + tag_name = ExifTags.TAGS.get(tag, tag) + + # save to list and dict + self.tags_to_delete.append(tag) + self.data[tag_name] = value + print(f"{tag_name}: {value}") + + # iterate through the (GPS) IFD + gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) + for tag, value in gps_ifd.items(): + # Get the human-readable name for the tag + tag_name = ExifTags.GPSTAGS.get(tag, tag) + + # save to list and dict + self.tags_to_delete.append(tag) + self.data[tag_name] = value + print(f"{tag_name}: {value}") + + return {"data": self.data, "tags_to_delete": self.tags_to_delete} + + def delete_metadata(self, img, tags_to_delete): + img.load() + exif = img.getexif() + try: + # iterate through the (0th) IFD + for tag_id, value in exif.items(): + if tag_id in tags_to_delete: + del exif[tag_id] + + # terate through the (GPS) IFD + gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) + for tag_id, value in gps_ifd.items(): + if tag_id in tags_to_delete: + del gps_ifd[tag_id] + + return exif + gps_ifd + except Exception as e: + raise MetadataProcessingError(f"Error Processing image: {str(e)}") diff --git a/src/main.py b/src/main.py index 15a6fccd..05341901 100644 --- a/src/main.py +++ b/src/main.py @@ -1,38 +1,38 @@ +import logging + import typer -from rich.console import Console -from rich.panel import Panel + +from src.commands.read import get_metadata +from src.utils.logger import setup_logging # Initialize the app and the console -app = typer.Typer() -console = Console() +app = typer.Typer(no_args_is_help=True, pretty_exceptions_show_locals=False) +log = logging.getLogger("metadata-scrubber") -@app.command() -def hello(name: str, formal: bool = False): +# fmt: off +@app.callback() +def main( + verbose: bool = typer.Option( + False, + "--verbose", + "-v", + help="Show detailed debug logs for every file processed.", + ), +): """ - Say hello to a user. - If --formal is used, it greets more politely. + Metadata Scrubber Tool - Clean your images privacy data. """ - if formal: - message = ( - f"Good day to you, [bold magenta]{name}[/bold magenta]. It is a pleasure." - ) - color = "green" - else: - message = f"Yo [bold cyan]{name}[/bold cyan]! What's up?" - color = "yellow" + # Initialize the logger based on the user's flag + setup_logging(verbose) - # Use Rich to print a pretty panel instead of a boring print() - console.print(Panel(message, title="Greeting System", style=color)) - - -@app.command() -def goodbye(name: str): - """ - Say goodbye. - """ - console.print(f"[red]Goodbye, {name}![/red] 👋") + if verbose: + log.debug("🐛 Verbose mode enabled. Detailed logs active.") +# fmt: on +# register commands +app.command(name="get-metadata")(get_metadata) +# run app if __name__ == "__main__": app() diff --git a/src/services/image_handler.py b/src/services/image_handler.py index e09435f6..c54999e7 100644 --- a/src/services/image_handler.py +++ b/src/services/image_handler.py @@ -2,12 +2,12 @@ import shutil from pathlib import Path from typing import Optional -import piexif +import piexif # pyright: ignore[reportMissingTypeStubs] from PIL import Image +from src.core.jpeg_metadata import JpegProcessaor +from src.core.png_metadata import PngProcessor from src.services.metadata_handler import MetadataHandler -from src.utils.jpeg_metadata import JpegProcessaor -from src.utils.png_metadata import PngProcessor class ImageHandler(MetadataHandler): diff --git a/src/services/metadata_factory.py b/src/services/metadata_factory.py new file mode 100644 index 00000000..2f78de66 --- /dev/null +++ b/src/services/metadata_factory.py @@ -0,0 +1,26 @@ +from pathlib import Path + +from src.services.image_handler import ImageHandler + + +class MetadataFactory: + @staticmethod + def get_handler(filepath: str): + ext = Path(filepath).suffix.lower() + if Path(filepath).is_file(): + if ext in [".jpg", ".jpeg", ".png"]: + return ImageHandler(filepath) + + # TODO: implement other handlers + # elif ext == ".pdf": + # return PDFHandler(filepath) + # elif ext == ".xlsx": + # return ExcelHandler(filepath) + # elif ext == ".pptx": + # return PowerPointHandler(filepath) + else: + raise ValueError(f"No handler defined for {ext} files.") + else: + raise ValueError( + f"{filepath} is not a file. if you want to process a directory, use the --recursive flag." + ) diff --git a/src/utils/display.py b/src/utils/display.py new file mode 100644 index 00000000..73393e5d --- /dev/null +++ b/src/utils/display.py @@ -0,0 +1,80 @@ +from typing import Any, Dict + +from rich import box +from rich.console import Console +from rich.panel import Panel +from rich.table import Table +from rich.text import Text + +from src.utils.formatter import clean_value + +console = Console() + + +def print_metadata_table(metadata: Dict[str, Any]): + """ + Displays metadata organized by logical groups. + """ + + # Define the groups using simple lists of keys + groups = { + "📸 Device Info": ["Make", "Model", "Software", "ExifVersion"], + "⚙️ Exposure Settings": [ + "ExposureTime", + "FNumber", + "ISOSpeedRatings", + "ShutterSpeedValue", + "ApertureValue", + "Flash", + "FocalLength", + ], + "🖼️ Image Data": [ + "ImageWidth", + "ImageLength", + "PixelXDimension", + "PixelYDimension", + "Orientation", + "ResolutionUnit", + ], + "📅 Dates": ["DateTime", "DateTimeOriginal", "DateTimeDigitized", "OffsetTime"], + } + + # Create the main table + table = Table(box=box.ROUNDED, show_header=True, header_style="bold magenta") + table.add_column("Property", style="cyan") + table.add_column("Value", style="green") + + # Track which keys we have displayed to handle the "leftovers" + displayed_keys = set() + + # Loop through the defined groups to create sections + for section_name, keys in groups.items(): + # Check if we have any data for this section + section_data = {k: metadata[k] for k in keys if k in metadata} + + if section_data: + # Add a section row (acts as a sub-header) + table.add_row(Text(section_name, style="bold yellow"), "") + + for key, val in section_data.items(): + table.add_row(f" {key}", clean_value(val)) + displayed_keys.add(key) + + # Add a blank row for spacing + table.add_section() + + # Handle "Other" (Any keys that isn't in the groups) + leftovers = { + k: v + for k, v in metadata.items() + if k not in displayed_keys and k != "JPEGInterchangeFormat" + } # skip binary blobs + if leftovers: + table.add_row(Text("📝 Other", style="bold yellow"), "") + for key, val in leftovers.items(): + table.add_row(f" {key}", clean_value(val)) + + # Print nicely inside a panel + console.print( + Panel(table, title="Metadata Report", border_style="blue", expand=False) + ) diff --git a/src/utils/formatter.py b/src/utils/formatter.py new file mode 100644 index 00000000..4a16a5c7 --- /dev/null +++ b/src/utils/formatter.py @@ -0,0 +1,23 @@ +from typing import Any + + +def clean_value(value: Any) -> str: + """ + Helper to make raw EXIF data human-readable. + """ + # Decode bytes (e.g., b'samsung' -> 'samsung') + if isinstance(value, bytes): + try: + return value.decode("utf-8").strip() + except UnicodeDecodeError: + return str(value) + + # Format Tuples (e.g., (1, 50) -> '1/50') + if isinstance(value, tuple) or isinstance(value, list): + return "/".join(map(str, value)) + + # Handle empty values + if value == "": + return "-" + + return str(value) diff --git a/src/utils/get_target_files.py b/src/utils/get_target_files.py new file mode 100644 index 00000000..849773e2 --- /dev/null +++ b/src/utils/get_target_files.py @@ -0,0 +1,5 @@ +def get_target_files(input_path_str, ext: str): + """Yields a list of files to process based on the input path. handles recursive searches""" + # if input_path_str is a directory, yield all files with the specified extension + if input_path_str.is_dir(): + yield from input_path_str.rglob(f"*.{ext}") diff --git a/src/utils/jpeg_metadata.py b/src/utils/jpeg_metadata.py deleted file mode 100644 index ed005c2d..00000000 --- a/src/utils/jpeg_metadata.py +++ /dev/null @@ -1,63 +0,0 @@ -import piexif # pyright: ignore[reportMissingTypeStubs] - -from src.utils.exceptions import MetadataNotFoundError, MetadataProcessingError - - -class JpegProcessaor: - def __init__(self): - self.tags_to_delete = [] - self.data = {} - - def get_metadata(self, img): - try: - if "exif" in img.info: - exif_dict = piexif.load(img.info["exif"]) - for ifd, value in exif_dict.items(): - # this exclude thumbnail IFD (its the thumbnails blob data. it can be removed but the image will take a couple more seconds to load) - if not isinstance(exif_dict[ifd], dict): - continue - - # iterate through the IFD - for tag, tag_value in exif_dict[ifd].items(): - tag_info = piexif.TAGS[ifd].get(tag, {}) - - # Get the human-readable name for the tag - tag_name = ( - tag_info.get("name", "Unknown Tag") - if tag_info - else "Unknown Tag" - ) - - # exculudes tags that are necessary for image display integrity - if ( - tag_name == "Orientation" - or tag_name == "ColorSpace" - or tag_name == "ExifTag" - ): - continue - - # save to list and dict - self.tags_to_delete.append(tag) - self.data[tag_name] = tag_value - return {"data": self.data, "tags_to_delete": self.tags_to_delete} - else: - raise MetadataNotFoundError("No EXIF data found in the image.") - except MetadataNotFoundError as e: - return f"Error: {str(e)}" - - def delete_metadata(self, img, tags_to_delete): - try: - exif_dict = piexif.load(img.info["exif"]) - for ifd, value in exif_dict.items(): - # exclude thumbnail IFD (its the thumbnails blob data so i dont wanna deal with that) - if not isinstance(exif_dict[ifd], dict): - continue - - # iterate through and delete tags - for tag in list(exif_dict[ifd]): - if tag in tags_to_delete: - del exif_dict[ifd][tag] - - return exif_dict - except Exception as e: - raise MetadataProcessingError(f"Error Processing: {str(e)}") diff --git a/src/utils/logger.py b/src/utils/logger.py new file mode 100644 index 00000000..3ee3bd05 --- /dev/null +++ b/src/utils/logger.py @@ -0,0 +1,32 @@ +import logging + +from rich.logging import RichHandler + + +def setup_logging(verbose: bool = False): + """ + - Default (Info): Shows main steps and errors. + - Verbose (Debug): Shows file paths, extraction details, and raw values. + """ + # Define the log level + level = logging.DEBUG if verbose else logging.INFO + + # Configure the logger + # remove existing handlers to avoid duplicate lines if the app restarts + logging.getLogger().handlers.clear() + + logging.basicConfig( + level=level, + format="%(message)s", + datefmt="[%X]", + handlers=[ + RichHandler( + rich_tracebacks=True, # Beautiful colorful stack traces + markup=True, # Allow [bold red] styles in logs + show_path=False, # Hide line number (cleaner for CLI tools) + ) + ], + ) + + # Return the logger instance + return logging.getLogger("metadata-scrubber") diff --git a/src/utils/png_metadata.py b/src/utils/png_metadata.py deleted file mode 100644 index 1d88e0b3..00000000 --- a/src/utils/png_metadata.py +++ /dev/null @@ -1,60 +0,0 @@ -from PIL import ExifTags - -from src.utils.exceptions import MetadataNotFoundError, MetadataProcessingError - - -class PngProcessor: - def __init__(self): - self.tags_to_delete = [] - self.data = {} - - def get_metadata(self, img): - img.load() - exif = img.getexif() - try: - if exif: - # iterate through the (0th) IFD - for tag, value in exif.items(): - # Get the human-readable name for the tag - tag_name = ExifTags.TAGS.get(tag, tag) - - # save to list and dict - self.tags_to_delete.append(tag) - self.data[tag_name] = value - print(f"{tag_name}: {value}") - - # terate through the (GPS) IFD - gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) - for tag, value in gps_ifd.items(): - # Get the human-readable name for the tag - tag_name = ExifTags.GPSTAGS.get(tag, tag) - - # save to list and dict - self.tags_to_delete.append(tag) - self.data[tag_name] = value - print(f"{tag_name}: {value}") - - return {"data": self.data, "tags_to_delete": self.tags_to_delete} - else: - raise MetadataNotFoundError("No EXIF data found in the image.") - except MetadataNotFoundError as e: - return f"Error: {str(e)}" - - def delete_metadata(self, img, tags_to_delete): - img.load() - exif = img.getexif() - try: - # iterate through the (0th) IFD - for tag_id, value in exif.items(): - if tag_id in tags_to_delete: - del exif[tag_id] - - # terate through the (GPS) IFD - gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) - for tag_id, value in gps_ifd.items(): - if tag_id in tags_to_delete: - del gps_ifd[tag_id] - - return exif + gps_ifd - except Exception as e: - raise MetadataProcessingError(f"Error Processing image: {str(e)}") From ff367d1e37aac8075692704036278a573184fdcd Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Tue, 6 Jan 2026 00:22:04 +0100 Subject: [PATCH 05/38] metadata-scrubber-tool: implemented batch processing of file. optimized logs to only show when the verbose flag is used. added docstring documentation. png processing not fully supported yet. --- src/commands/read.py | 12 +- src/commands/scrub.py | 141 +++++++++++++++++ src/core/jpeg_metadata.py | 58 ++++++- src/core/png_metadata.py | 56 ++++++- src/main.py | 17 +- src/services/batch_processor.py | 257 +++++++++++++++++++++++++++++++ src/services/image_handler.py | 58 +++++-- src/services/metadata_factory.py | 33 ++++ src/services/metadata_handler.py | 54 ++++++- src/utils/display.py | 62 +++++++- src/utils/exceptions.py | 16 +- src/utils/formatter.py | 17 +- src/utils/get_target_files.py | 29 +++- src/utils/logger.py | 22 ++- 14 files changed, 783 insertions(+), 49 deletions(-) create mode 100644 src/commands/scrub.py create mode 100644 src/services/batch_processor.py diff --git a/src/commands/read.py b/src/commands/read.py index d200824f..eb50d502 100644 --- a/src/commands/read.py +++ b/src/commands/read.py @@ -1,3 +1,10 @@ +""" +Read command - Display metadata from files. + +This command reads and displays metadata from image files in a +formatted table view. Supports single files or recursive directory processing. +""" + import logging from pathlib import Path @@ -19,7 +26,6 @@ def get_metadata( file_okay=True, # Can be a file dir_okay=True, # Can be a directory readable=True, # Must be readable (permissions check) - writable=True, # Must be writable (permissions check) resolve_path=True, # Auto-convert to absolute path help="The path to the file you want to process", ), @@ -39,7 +45,9 @@ def get_metadata( # Read console.print(f"🔎 Processing [bold cyan]{file.name}[/bold cyan]...") current_data = handler.read() - log.info(f"Successfully read metadata from {file_path.name}") + if log.isEnabledFor(logging.DEBUG): + # if verbose mode is enabled, log the Info + log.info(f"Successfully read metadata from {file_path.name}") print_metadata_table(current_data) except Exception as e: diff --git a/src/commands/scrub.py b/src/commands/scrub.py new file mode 100644 index 00000000..17d59714 --- /dev/null +++ b/src/commands/scrub.py @@ -0,0 +1,141 @@ +""" +Scrub command - Remove metadata from files. + +This command processes files through the read→wipe→save pipeline, +removing privacy-sensitive metadata like EXIF, GPS, and author info. + +Supports concurrent processing for efficient batch operations on large file sets. +""" + +import logging +import os +from pathlib import Path + +import typer +from rich.console import Console +from rich.progress import ( + BarColumn, + MofNCompleteColumn, + Progress, + SpinnerColumn, + TaskProgressColumn, + TextColumn, + TimeElapsedColumn, +) + +from src.services.batch_processor import BatchProcessor +from src.utils.display import print_batch_summary +from src.utils.get_target_files import get_target_files + +console = Console() +log = logging.getLogger("metadata-scrubber") + + +# fmt: off +def scrub( + file_path: Path = typer.Argument( + exists=True, + file_okay=True, + dir_okay=True, + readable=True, + writable=True, + resolve_path=True, + help="The file or directory to process.", + ), + recursive: bool = typer.Option( + False, "--recursive", "-r", + help="Recursively process files in the specified directory." + ), + ext: str = typer.Option( + None, "--extension", "-ext", + help="File extension to filter by (e.g., jpg, png)." + ), + output_dir: str = typer.Option( + "./scrubbed", "--output", "-o", + help="Directory to save processed files." + ), + dry_run: bool = typer.Option( + False, "--dry-run", "-d", + help="Preview what would be processed without making changes." + ), + workers: int = typer.Option( + min(4, (os.cpu_count() or 1)), + "--workers", "-w", + help="Number of concurrent worker threads (default: 4 or CPU count)." + ), +): + # fmt: on + """ + Remove metadata from files. + + Scrubs privacy-sensitive metadata (EXIF, GPS, author info) from images. + Works with JPEG, PNG, and will support PDF/Office docs in future. + + Examples: + + scrub photo.jpg + + scrub ./photos/ -r -ext jpg --output ./cleaned + + scrub ./folder/ -r -ext png --dry-run + + scrub ./large_batch/ -r -ext jpg --workers 8 + """ + # Validate recursive/extension combo + if recursive and not ext: + raise typer.BadParameter( + "If you provide --recursive or -r, you must also provide --extension or -ext." + ) + if ext and not recursive: + raise typer.BadParameter( + "If you provide --extension or -ext, you must also provide --recursive or -r." + ) + + # Show dry-run banner + if dry_run: + console.print("\n[bold yellow]🔍 DRY-RUN MODE[/bold yellow] - No files will be modified.\n") + + # Collect files to process + files = list(get_target_files(file_path, ext)) if recursive else [file_path] + + if not files: + console.print("[yellow]No files found to process.[/yellow]") + raise typer.Exit(0) + + # Show worker count for batch operations + if len(files) > 1: + console.print(f"[dim]Processing {len(files)} files with {workers} workers...[/dim]\n") + + # Initialize processor with worker count + processor = BatchProcessor(output_dir=output_dir, dry_run=dry_run, max_workers=workers) + + # Process with thread-safe progress bar + with Progress( + SpinnerColumn(), + TextColumn("[progress.description]{task.description}"), + BarColumn(), + MofNCompleteColumn(), + TaskProgressColumn(), + TimeElapsedColumn(), + console=console, + refresh_per_second=10, # Smooth updates for concurrent processing + ) as progress: + task_id = progress.add_task( + "[cyan]Scrubbing metadata...", + total=len(files), + ) + + def on_file_complete(result): + """Callback for progress updates from concurrent workers.""" + status = "✓" if result.success else "✗" + progress.update( + task_id, + description=f"[cyan]{status} {result.filepath.name}", + advance=1, + ) + + # Use concurrent batch processing + processor.process_batch(files, progress_callback=on_file_complete) + + # Display summary + print_batch_summary(processor.get_summary()) diff --git a/src/core/jpeg_metadata.py b/src/core/jpeg_metadata.py index 9e382851..1b4f3c41 100644 --- a/src/core/jpeg_metadata.py +++ b/src/core/jpeg_metadata.py @@ -1,24 +1,55 @@ +""" +JPEG metadata processor using piexif. + +This module provides the JpegProcessor class which handles EXIF metadata +extraction and manipulation for JPEG images using the piexif library. +""" + import piexif # pyright: ignore[reportMissingTypeStubs] from src.utils.exceptions import MetadataNotFoundError, MetadataProcessingError -class JpegProcessaor: +class JpegProcessor: + """ + Processor for JPEG image metadata. + + Handles reading, extracting, and deleting EXIF metadata from JPEG files. + Preserves essential tags (Orientation, ColorSpace) needed for proper display. + + Attributes: + tags_to_delete: List of EXIF tag IDs to remove. + data: Dict of extracted metadata with human-readable keys. + """ + def __init__(self): + """Initialize the JPEG processor with empty data structures.""" self.tags_to_delete = [] self.data = {} def get_metadata(self, img): + """ + Extract EXIF metadata from a JPEG image. + + Args: + img: PIL Image object with EXIF data. + + Returns: + Dict with 'data' (metadata dict) and 'tags_to_delete' (tag IDs list). + + Raises: + MetadataNotFoundError: If no EXIF data is found in the image. + """ if "exif" not in img.info: raise MetadataNotFoundError("No EXIF data found in the image.") exif_dict = piexif.load(img.info["exif"]) for ifd, value in exif_dict.items(): - # this exclude thumbnail IFD (its the thumbnails blob data. it can be removed but the image will take a couple more seconds to load) + # Exclude thumbnail IFD (blob data that slows loading if removed) if not isinstance(exif_dict[ifd], dict): continue - # iterate through the IFD + # Iterate through the IFD for tag, tag_value in exif_dict[ifd].items(): tag_info = piexif.TAGS[ifd].get(tag, {}) @@ -27,7 +58,7 @@ class JpegProcessaor: tag_info.get("name", "Unknown Tag") if tag_info else "Unknown Tag" ) - # exculudes tags that are necessary for image display integrity + # Exclude tags necessary for image display integrity if ( tag_name == "Orientation" or tag_name == "ColorSpace" @@ -35,21 +66,34 @@ class JpegProcessaor: ): continue - # save to list and dict + # Save to list and dict self.tags_to_delete.append(tag) self.data[tag_name] = tag_value return {"data": self.data, "tags_to_delete": self.tags_to_delete} def delete_metadata(self, img, tags_to_delete): + """ + Remove specified EXIF tags from a JPEG image. + + Args: + img: PIL Image object with EXIF data. + tags_to_delete: List of tag IDs to remove. + + Returns: + Modified EXIF dictionary with specified tags removed. + + Raises: + MetadataProcessingError: If an error occurs during processing. + """ try: exif_dict = piexif.load(img.info["exif"]) for ifd, value in exif_dict.items(): - # exclude thumbnail IFD (its the thumbnails blob data so i dont wanna deal with that) + # Exclude thumbnail IFD if not isinstance(exif_dict[ifd], dict): continue - # iterate through and delete tags + # Iterate through and delete tags for tag in list(exif_dict[ifd]): if tag in tags_to_delete: del exif_dict[ifd][tag] diff --git a/src/core/png_metadata.py b/src/core/png_metadata.py index 2e0f61d0..8d00fd08 100644 --- a/src/core/png_metadata.py +++ b/src/core/png_metadata.py @@ -1,37 +1,68 @@ +""" +PNG metadata processor using PIL. + +This module provides the PngProcessor class which handles EXIF metadata +extraction and manipulation for PNG images using PIL's built-in EXIF support. +""" + from PIL import ExifTags from src.utils.exceptions import MetadataNotFoundError, MetadataProcessingError class PngProcessor: + """ + Processor for PNG image metadata. + + Handles reading, extracting, and deleting EXIF metadata from PNG files. + Processes both standard EXIF tags and GPS IFD data. + + Attributes: + tags_to_delete: List of EXIF tag IDs to remove. + data: Dict of extracted metadata with human-readable keys. + """ + def __init__(self): + """Initialize the PNG processor with empty data structures.""" self.tags_to_delete = [] self.data = {} def get_metadata(self, img): + """ + Extract EXIF metadata from a PNG image. + + Args: + img: PIL Image object. + + Returns: + Dict with 'data' (metadata dict) and 'tags_to_delete' (tag IDs list). + + Raises: + MetadataNotFoundError: If no EXIF data is found in the image. + """ img.load() exif = img.getexif() if not exif: raise MetadataNotFoundError("No EXIF data found in the image.") - # iterate through the (0th) IFD + # Iterate through the (0th) IFD for tag, value in exif.items(): # Get the human-readable name for the tag tag_name = ExifTags.TAGS.get(tag, tag) - # save to list and dict + # Save to list and dict self.tags_to_delete.append(tag) self.data[tag_name] = value print(f"{tag_name}: {value}") - # iterate through the (GPS) IFD + # Iterate through the (GPS) IFD gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) for tag, value in gps_ifd.items(): # Get the human-readable name for the tag tag_name = ExifTags.GPSTAGS.get(tag, tag) - # save to list and dict + # Save to list and dict self.tags_to_delete.append(tag) self.data[tag_name] = value print(f"{tag_name}: {value}") @@ -39,15 +70,28 @@ class PngProcessor: return {"data": self.data, "tags_to_delete": self.tags_to_delete} def delete_metadata(self, img, tags_to_delete): + """ + Remove specified EXIF tags from a PNG image. + + Args: + img: PIL Image object. + tags_to_delete: List of tag IDs to remove. + + Returns: + Modified EXIF data with specified tags removed. + + Raises: + MetadataProcessingError: If an error occurs during processing. + """ img.load() exif = img.getexif() try: - # iterate through the (0th) IFD + # Iterate through the (0th) IFD for tag_id, value in exif.items(): if tag_id in tags_to_delete: del exif[tag_id] - # terate through the (GPS) IFD + # Iterate through the (GPS) IFD gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) for tag_id, value in gps_ifd.items(): if tag_id in tags_to_delete: diff --git a/src/main.py b/src/main.py index 05341901..86f106b2 100644 --- a/src/main.py +++ b/src/main.py @@ -1,11 +1,23 @@ +""" +Metadata Scrubber Tool - CLI Application Entry Point. + +This module serves as the main entry point for the CLI application. +It initializes the Typer app, registers commands, and configures logging. + +Commands: + read: Display metadata from files. + scrub: Remove metadata from files. +""" + import logging import typer from src.commands.read import get_metadata +from src.commands.scrub import scrub from src.utils.logger import setup_logging -# Initialize the app and the console +# Initialize the Typer app with helpful defaults app = typer.Typer(no_args_is_help=True, pretty_exceptions_show_locals=False) log = logging.getLogger("metadata-scrubber") @@ -31,7 +43,8 @@ def main( # fmt: on # register commands -app.command(name="get-metadata")(get_metadata) +app.command(name="read")(get_metadata) +app.command(name="scrub")(scrub) # run app if __name__ == "__main__": diff --git a/src/services/batch_processor.py b/src/services/batch_processor.py new file mode 100644 index 00000000..de90d503 --- /dev/null +++ b/src/services/batch_processor.py @@ -0,0 +1,257 @@ +""" +Batch processing service for metadata operations. + +This module provides handler-agnostic batch processing that works with any +MetadataHandler subclass (images now, PDF/Office docs in future). + +Supports concurrent processing via ThreadPoolExecutor for efficient handling +of large batches (1000+ files). +""" + +import logging +import threading +from concurrent.futures import ThreadPoolExecutor, as_completed +from dataclasses import dataclass, field +from pathlib import Path +from typing import Callable, Iterable, List, Optional + +from rich.console import Console + +from src.services.metadata_factory import MetadataFactory + +log = logging.getLogger("metadata-scrubber") +console = Console() + + +@dataclass +class FileResult: + """Result of processing a single file.""" + + filepath: Path + success: bool + action: str # "scrubbed", "skipped", "dry-run" + output_path: Optional[Path] = None + error: Optional[str] = None + + +@dataclass +class BatchSummary: + """Aggregated statistics for batch processing.""" + + total: int = 0 + success: int = 0 + skipped: int = 0 + failed: int = 0 + dry_run: bool = False + output_dir: Optional[Path] = None + results: List[FileResult] = field(default_factory=list) + + +class BatchProcessor: + """ + Handler-agnostic batch processor for metadata operations. + + Works with any MetadataHandler subclass via MetadataFactory. + Supports dry-run mode, automatic duplicate suffix handling, + and concurrent processing via ThreadPoolExecutor. + """ + + def __init__( + self, + output_dir: Optional[str] = None, + dry_run: bool = False, + max_workers: int = 4, + ): + """ + Initialize the batch processor. + + Args: + output_dir: Directory to save processed files. Defaults to "./scrubbed". + dry_run: If True, preview what would be processed without writing files. + max_workers: Maximum number of concurrent worker threads. Defaults to 4. + """ + self.output_dir = Path(output_dir) if output_dir else Path("./scrubbed") + self.dry_run = dry_run + self.max_workers = max_workers + self.results: List[FileResult] = [] + + # Thread synchronization + self._path_lock = threading.Lock() # Protects unique path generation + self._results_lock = threading.Lock() # Protects results list + + def process_file(self, file: Path) -> FileResult: + """ + Process a single file through the read→wipe→save pipeline. + + Uses MetadataFactory to get the appropriate handler, so this method + automatically works with any file type that has a registered handler. + + Args: + file: Path to the file to process. + + Returns: + FileResult with success status and details. + """ + try: + # Dry-run mode: just report what would happen + if self.dry_run: + # Verify the file can be handled (will raise if not) + MetadataFactory.get_handler(str(file)) + output_path = self._get_unique_output_path(file) + result = FileResult( + filepath=file, + success=True, + action="dry-run", + output_path=output_path, + ) + self._append_result(result) + log.debug(f"[DRY-RUN] Would process: {file}") + return result + + # Get handler from factory + handler = MetadataFactory.get_handler(str(file)) + + # Execute the read → wipe → save pipeline + handler.read() + handler.wipe() + + output_path = self._get_unique_output_path(file) + handler.save(str(output_path)) + + result = FileResult( + filepath=file, + success=True, + action="scrubbed", + output_path=output_path, + ) + self._append_result(result) + if log.isEnabledFor(logging.DEBUG): + # if verbose mode is enabled, log the Info + log.info(f"✅ Scrubbed: {file.name} → {output_path}") + return result + + except Exception as e: + result = FileResult( + filepath=file, + success=False, + action="skipped", + error=str(e), + ) + self._append_result(result) + if log.isEnabledFor(logging.DEBUG): + # if verbose mode is enabled, log the traceback + log.warning(f"⚠️ Skipped {file.name}: {e}") + return result + + def process_batch( + self, + files: Iterable[Path], + progress_callback: Optional[Callable[[FileResult], None]] = None, + ) -> List[FileResult]: + """ + Process multiple files concurrently using ThreadPoolExecutor. + + Args: + files: Iterable of file paths to process. + progress_callback: Optional callback called after each file completes. + Receives the FileResult for progress updates. + + Returns: + List of FileResult objects for all processed files. + """ + file_list = list(files) + + if not file_list: + return self.results + + # Used ThreadPoolExecutor for I/O-bound concurrent processing + with ThreadPoolExecutor(max_workers=self.max_workers) as executor: + # Submit all files for processing + future_to_file = { + executor.submit(self.process_file, file): file for file in file_list + } + + # Collect results as they complete + for future in as_completed(future_to_file): + result = future.result() + if progress_callback: + progress_callback(result) + + return self.results + + def process_batch_sequential(self, files: Iterable[Path]) -> List[FileResult]: + """ + Process files sequentially (legacy behavior for debugging). + + Args: + files: Iterable of file paths to process. + + Returns: + List of FileResult objects for all processed files. + """ + for file in files: + self.process_file(file) + return self.results + + def get_summary(self) -> BatchSummary: + """ + Return aggregated statistics for all processed files. + + Returns: + BatchSummary with counts and result details. + """ + with self._results_lock: + results_copy = list(self.results) + + summary = BatchSummary( + total=len(results_copy), + success=sum( + 1 for r in results_copy if r.success and r.action == "scrubbed" + ), + skipped=sum(1 for r in results_copy if not r.success), + dry_run=self.dry_run, + output_dir=self.output_dir, + results=results_copy, + ) + # Count dry-run as separate from success for clarity + if self.dry_run: + summary.success = sum(1 for r in results_copy if r.success) + return summary + + def _append_result(self, result: FileResult) -> None: + """Thread-safe append to results list.""" + with self._results_lock: + self.results.append(result) + + def _get_unique_output_path(self, file: Path) -> Path: + """ + Generate unique output path with suffix (_1, _2) if file exists. + + Thread-safe: uses lock to prevent race conditions during concurrent processing. + + Args: + file: Original file path. + + Returns: + Unique path in output directory that doesn't conflict with existing files. + """ + with self._path_lock: + # creates the destination directory if it doesn't exist + self.output_dir.mkdir(parents=True, exist_ok=True) + + base_name = file.stem + extension = file.suffix + output_path = self.output_dir / f"processed_{base_name}{extension}" + + # If file exists, add incrementing suffix + counter = 1 + while output_path.exists(): + output_path = ( + self.output_dir / f"processed_{base_name}_{counter}{extension}" + ) + counter += 1 + + # Create empty placeholder to reserve the path + output_path.touch() + + return output_path diff --git a/src/services/image_handler.py b/src/services/image_handler.py index c54999e7..1134ffa2 100644 --- a/src/services/image_handler.py +++ b/src/services/image_handler.py @@ -1,3 +1,11 @@ +""" +Image metadata handler for JPEG and PNG files. + +This module provides the ImageHandler class which implements the MetadataHandler +interface for image files. It delegates the actual metadata operations to +format-specific processors (JpegProcessor, PngProcessor). +""" + import shutil from pathlib import Path from typing import Optional @@ -5,23 +13,40 @@ from typing import Optional import piexif # pyright: ignore[reportMissingTypeStubs] from PIL import Image -from src.core.jpeg_metadata import JpegProcessaor +from src.core.jpeg_metadata import JpegProcessor from src.core.png_metadata import PngProcessor from src.services.metadata_handler import MetadataHandler class ImageHandler(MetadataHandler): + """ + Metadata handler for image files (JPEG, PNG). + + Implements the MetadataHandler interface using format-specific processors + to read, wipe, and save image metadata. Uses piexif for EXIF manipulation. + + Attributes: + processors: Dict mapping file extensions to processor instances. + tags_to_delete: List of EXIF tags to remove during wipe operation. + """ + def __init__(self, filepath: str): + """ + Initialize the image handler. + + Args: + filepath: Path to the image file to process. + """ super().__init__(filepath) self.processors = { - ".jpeg": JpegProcessaor(), - ".jpg": JpegProcessaor(), + ".jpeg": JpegProcessor(), + ".jpg": JpegProcessor(), ".png": PngProcessor(), } self.tags_to_delete = [] def read(self): - """Extracts metadata into a standard dictionary.""" + """Extract metadata from the file.""" with Image.open(Path(self.filepath)) as img: extension = Path(self.filepath).suffix processor = self.processors.get(extension) @@ -47,14 +72,19 @@ class ImageHandler(MetadataHandler): ) def save(self, output_path: Optional[str] = None) -> None: - """Writes the changes to a copy of the original file.""" - destination_dir = Path(output_path or "/archive/") + """ + Writes the changes to a copy of the original file. - # creates the destination directory if it doesn't exist - destination_dir.mkdir(parents=True, exist_ok=True) - destination_file_path = ( - destination_dir / f"processed_{Path(self.filepath).name}" - ) + Args: + output_path: Can be a directory path (legacy behavior) or a full file path. + If a directory, generates filename as 'processed_{original_name}'. + If a file path, uses it directly. + """ + destination_file_path = "" + if output_path: + # setup the destination directory. + # which was created by the batch_processor + destination_file_path = Path(output_path) # copies the original file to the destination directory shutil.copy2(self.filepath, destination_file_path) @@ -63,9 +93,3 @@ class ImageHandler(MetadataHandler): with Image.open(destination_file_path) as img: exif_bytes = piexif.dump(self.processed_metadata) img.save(destination_file_path, exif=exif_bytes) - - -test = ImageHandler(r"C:\Users\Xheri\development\testimage\20221201_090615.jpg") -test.read() -test.wipe() -test.save() diff --git a/src/services/metadata_factory.py b/src/services/metadata_factory.py index 2f78de66..3502aebf 100644 --- a/src/services/metadata_factory.py +++ b/src/services/metadata_factory.py @@ -1,11 +1,44 @@ +""" +Factory for creating metadata handlers. + +This module provides the MetadataFactory class which uses the factory pattern +to create appropriate handler instances based on file type. It enables +extensibility for supporting new file formats (PDF, Office docs, etc.). +""" + from pathlib import Path from src.services.image_handler import ImageHandler class MetadataFactory: + """ + Factory class for creating metadata handlers. + + Uses the factory pattern to return the appropriate handler instance + based on file extension. This design allows easy extension to support + new file types without modifying existing code. + + Supported formats: + - Images: .jpg, .jpeg, .png + - Future: .pdf, .docx, .xlsx, .pptx + """ + @staticmethod def get_handler(filepath: str): + """ + Create and return the appropriate metadata handler for a file. + + Args: + filepath: Path to the file to process. + + Returns: + MetadataHandler: An instance of the appropriate handler subclass. + + Raises: + ValueError: If no handler is defined for the file type or + if the path is not a valid file. + """ ext = Path(filepath).suffix.lower() if Path(filepath).is_file(): if ext in [".jpg", ".jpeg", ".png"]: diff --git a/src/services/metadata_handler.py b/src/services/metadata_handler.py index 89c2e2db..dea9b48b 100644 --- a/src/services/metadata_handler.py +++ b/src/services/metadata_handler.py @@ -1,24 +1,72 @@ +""" +Abstract base class for metadata handlers. + +This module defines the MetadataHandler ABC which establishes the interface +for all metadata handlers. Concrete implementations (ImageHandler, PDFHandler, etc.) +must implement the read, wipe, and save methods. +""" + from abc import ABC, abstractmethod from typing import Any, Dict, Optional class MetadataHandler(ABC): + """ + Abstract base class for all metadata handlers. + + Defines the common interface for reading, modifying, and saving + metadata across different file types. All concrete handlers must + implement the abstract methods. + + Attributes: + filepath: Path to the file being processed. + metadata: Dictionary containing the extracted metadata. + processed_metadata: Dictionary containing metadata after processing. + """ + def __init__(self, filepath: str): + """ + Initialize the metadata handler. + + Args: + filepath: Path to the file to process. + """ self.filepath = filepath self.metadata: Dict[str, Any] = {} self.processed_metadata: Dict[str, Any] = {} @abstractmethod def read(self) -> Dict[str, Any]: - """Extracts metadata into a standard dictionary.""" + """ + Extract metadata from the file. + + Returns: + Dict containing the extracted metadata with human-readable keys. + + Raises: + MetadataNotFoundError: If no metadata is found in the file. + """ pass @abstractmethod def wipe(self) -> None: - """Updates internal metadata state.""" + """ + Remove privacy-sensitive metadata from the file. + + Updates self.processed_metadata with the cleaned metadata state. + + Raises: + MetadataProcessingError: If an error occurs during processing. + """ pass @abstractmethod def save(self, output_path: Optional[str] = None) -> None: - """Writes the changes to a file.""" + """ + Save the processed file with cleaned metadata. + + Args: + output_path: Destination path for the processed file. + If None, uses a default location. + """ pass diff --git a/src/utils/display.py b/src/utils/display.py index 73393e5d..dfb7d657 100644 --- a/src/utils/display.py +++ b/src/utils/display.py @@ -1,3 +1,10 @@ +""" +Display utilities for rich terminal output. + +This module provides functions for displaying metadata and batch processing +results in beautifully formatted tables and panels using the Rich library. +""" + from typing import Any, Dict from rich import box @@ -13,7 +20,13 @@ console = Console() def print_metadata_table(metadata: Dict[str, Any]): """ - Displays metadata organized by logical groups. + Display metadata in a formatted table organized by logical groups. + + Organizes metadata into categories (Device Info, Exposure Settings, + Image Data, Dates) and displays them in a Rich panel with color coding. + + Args: + metadata: Dict of metadata key-value pairs to display. """ # Define the groups using simple lists of keys @@ -78,3 +91,50 @@ def print_metadata_table(metadata: Dict[str, Any]): console.print( Panel(table, title="Metadata Report", border_style="blue", expand=False) ) + + +def print_batch_summary(summary) -> None: + """ + Display batch processing results in a rich panel. + + Args: + summary: BatchSummary object with processing statistics. + """ + # Build the summary table + table = Table(box=box.ROUNDED, show_header=False, expand=False) + table.add_column("Metric", style="cyan") + table.add_column("Value", style="green") + + if summary.dry_run: + table.add_row("Mode", "[yellow]DRY-RUN (no changes made)[/yellow]") + table.add_row("Would process", str(summary.success)) + table.add_row("Would skip", str(summary.skipped)) + else: + table.add_row("Total processed", str(summary.total)) + table.add_row("✅ Success", f"[green]{summary.success}[/green]") + table.add_row("⚠️ Skipped", f"[yellow]{summary.skipped}[/yellow]") + if summary.output_dir: + table.add_row("📁 Output", str(summary.output_dir.resolve())) + + # Show failed files if any + failed = [r for r in summary.results if not r.success] + if failed: + table.add_section() + table.add_row(Text("Failed files:", style="bold red"), "") + for result in failed[:5]: # Show max 5 failures + table.add_row(f" {result.filepath.name}", f"[dim]{result.error}[/dim]") + if len(failed) > 5: + table.add_row("", f"[dim]... and {len(failed) - 5} more[/dim]") + + # Determine panel title and style + if summary.dry_run: + title = "🔍 Dry-Run Summary" + border_style = "yellow" + elif summary.skipped == 0: + title = "✅ Scrub Complete" + border_style = "green" + else: + title = "⚠️ Scrub Complete (with warnings)" + border_style = "yellow" + + console.print(Panel(table, title=title, border_style=border_style, expand=False)) diff --git a/src/utils/exceptions.py b/src/utils/exceptions.py index 90bb1c43..8cf00cd7 100644 --- a/src/utils/exceptions.py +++ b/src/utils/exceptions.py @@ -1,22 +1,30 @@ +""" +Custom exceptions for metadata processing operations. + +This module defines a hierarchy of exceptions used throughout the +metadata scrubber tool for handling various error conditions. +""" + + class MetadataException(Exception): - """Base class for other exceptions in this module.""" + """Base class for all metadata-related exceptions.""" pass class UnsupportedFormatError(MetadataException): - """Exception raised when an unsupported file format is encountered.""" + """Raised when attempting to process an unsupported file format.""" pass class MetadataNotFoundError(MetadataException): - """Exception raised when metadata is not found.""" + """Raised when no metadata is found in a file.""" pass class MetadataProcessingError(MetadataException): - """Exception raised when an error occurs during metadata processing.""" + """Raised when an error occurs during metadata processing.""" pass diff --git a/src/utils/formatter.py b/src/utils/formatter.py index 4a16a5c7..997bfa3a 100644 --- a/src/utils/formatter.py +++ b/src/utils/formatter.py @@ -1,9 +1,24 @@ +""" +Value formatting utilities for metadata display. + +This module provides helper functions to convert raw EXIF data into +human-readable strings for display in the terminal. +""" + from typing import Any def clean_value(value: Any) -> str: """ - Helper to make raw EXIF data human-readable. + Convert raw EXIF data into a human-readable string. + + Handles various EXIF value types including bytes, tuples, and empty values. + + Args: + value: Raw EXIF value (bytes, tuple, str, int, etc.). + + Returns: + Human-readable string representation of the value. """ # Decode bytes (e.g., b'samsung' -> 'samsung') if isinstance(value, bytes): diff --git a/src/utils/get_target_files.py b/src/utils/get_target_files.py index 849773e2..12b84c6c 100644 --- a/src/utils/get_target_files.py +++ b/src/utils/get_target_files.py @@ -1,5 +1,28 @@ -def get_target_files(input_path_str, ext: str): - """Yields a list of files to process based on the input path. handles recursive searches""" - # if input_path_str is a directory, yield all files with the specified extension +""" +File discovery utilities for batch processing. + +This module provides functions to find and yield files for processing, +supporting recursive directory traversal with extension filtering. +""" + +from pathlib import Path +from typing import Generator + + +def get_target_files(input_path_str: Path, ext: str) -> Generator[Path, None, None]: + """ + Yield files to process based on input path and extension filter. + + Recursively searches the input directory for files matching the + specified extension. + + Args: + input_path_str: Path object pointing to the target directory. + ext: File extension to filter by (without dot, e.g., 'jpg'). + + Yields: + Path objects for each matching file found. + """ + # If input is a directory, yield all files with the specified extension if input_path_str.is_dir(): yield from input_path_str.rglob(f"*.{ext}") diff --git a/src/utils/logger.py b/src/utils/logger.py index 3ee3bd05..6df8280e 100644 --- a/src/utils/logger.py +++ b/src/utils/logger.py @@ -1,3 +1,10 @@ +""" +Logging configuration for the metadata scrubber CLI. + +This module provides the setup_logging function which configures the +application's logging with Rich handlers for beautiful terminal output. +""" + import logging from rich.logging import RichHandler @@ -5,14 +12,23 @@ from rich.logging import RichHandler def setup_logging(verbose: bool = False): """ - - Default (Info): Shows main steps and errors. - - Verbose (Debug): Shows file paths, extraction details, and raw values. + Configure application logging with Rich formatting. + + Sets up the logger with appropriate level and Rich handlers for + beautiful terminal output including colorful stack traces. + + Args: + verbose: If True, enables DEBUG level logging. + If False (default), enables INFO level logging. + + Returns: + Logger instance for 'metadata-scrubber'. """ # Define the log level level = logging.DEBUG if verbose else logging.INFO # Configure the logger - # remove existing handlers to avoid duplicate lines if the app restarts + # Remove existing handlers to avoid duplicate lines if the app restarts logging.getLogger().handlers.clear() logging.basicConfig( From 5aa7e1d01dba4c2690e9e44940bf9be47b379255 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Tue, 6 Jan 2026 01:48:26 +0100 Subject: [PATCH 06/38] metadata-scrubber-tool: refactored buggy implementation. png processing supports reading EXIF and pngInfo and not-serialized-to-human-readable-format data but not XMP OR IPTC. --- src/commands/read.py | 8 +- src/core/png_metadata.py | 165 +++++++++++++++++++++++-------- src/services/batch_processor.py | 27 +++++ src/services/image_handler.py | 144 ++++++++++++++++++++------- src/services/metadata_factory.py | 7 +- src/utils/get_target_files.py | 13 ++- 6 files changed, 274 insertions(+), 90 deletions(-) diff --git a/src/commands/read.py b/src/commands/read.py index eb50d502..fb45e69b 100644 --- a/src/commands/read.py +++ b/src/commands/read.py @@ -43,19 +43,19 @@ def get_metadata( handler = MetadataFactory.get_handler(str(file)) # Read - console.print(f"🔎 Processing [bold cyan]{file.name}[/bold cyan]...") + console.print(f"🔎 Reading [bold cyan]{file.name}[/bold cyan]...") current_data = handler.read() if log.isEnabledFor(logging.DEBUG): # if verbose mode is enabled, log the Info - log.info(f"Successfully read metadata from {file_path.name}") + log.info(f"Successfully read metadata from {file.name}") print_metadata_table(current_data) except Exception as e: # display error in console - console.print(f"❌ [bold red]Skipped[/bold red] [cyan]{file_path.name}[/cyan]: [dim]{e}[/dim]") + console.print(f"❌ [bold red]Skipped[/bold red] [cyan]{file.name}[/cyan]: [dim]{e}[/dim]") # LOG: Full technical details (Stack trace) for you to debug if log.isEnabledFor(logging.DEBUG): # if verbose mode is enabled, log the traceback - log.error(f"Failed to process {file_path}", exc_info=True) + log.error(f"Failed to read metadata from {file}", exc_info=True) diff --git a/src/core/png_metadata.py b/src/core/png_metadata.py index 8d00fd08..f240a472 100644 --- a/src/core/png_metadata.py +++ b/src/core/png_metadata.py @@ -1,11 +1,15 @@ """ PNG metadata processor using PIL. -This module provides the PngProcessor class which handles EXIF metadata -extraction and manipulation for PNG images using PIL's built-in EXIF support. +This module provides the PngProcessor class which handles metadata +extraction and manipulation for PNG images, including both EXIF data +and PNG textual metadata (PngInfo chunks). """ -from PIL import ExifTags +from typing import Any, Dict, List, Optional + +from PIL import ExifTags, PngImagePlugin +from PIL.Image import Exif, Image from src.utils.exceptions import MetadataNotFoundError, MetadataProcessingError @@ -14,71 +18,110 @@ class PngProcessor: """ Processor for PNG image metadata. - Handles reading, extracting, and deleting EXIF metadata from PNG files. - Processes both standard EXIF tags and GPS IFD data. + Handles reading, extracting, and deleting metadata from PNG files. + Processes both EXIF data and PNG textual chunks (PngInfo). Attributes: tags_to_delete: List of EXIF tag IDs to remove. + text_keys_to_delete: List of PngInfo text keys to remove. data: Dict of extracted metadata with human-readable keys. """ + # Privacy-sensitive PNG text keys to remove + SENSITIVE_TEXT_KEYS = { + "Author", + "Comment", + "Copyright", + "Creation Time", + "Description", + "Disclaimer", + "Software", + "Source", + "Title", + "Warning", + "XML:com.adobe.xmp", # XMP metadata + } + def __init__(self): """Initialize the PNG processor with empty data structures.""" - self.tags_to_delete = [] - self.data = {} + self.tags_to_delete: List[int] = [] + self.text_keys_to_delete: List[str] = [] + self.data: Dict[str, Any] = {} - def get_metadata(self, img): + def get_metadata(self, img: Image) -> Dict[str, Any]: """ - Extract EXIF metadata from a PNG image. + Extract metadata from a PNG image. + + Extracts both EXIF data (if present) and PNG textual chunks (PngInfo). Args: img: PIL Image object. Returns: - Dict with 'data' (metadata dict) and 'tags_to_delete' (tag IDs list). + Dict with 'data' (metadata dict), 'tags_to_delete' (EXIF tag IDs), + and 'text_keys' (PngInfo keys to remove). Raises: - MetadataNotFoundError: If no EXIF data is found in the image. + MetadataNotFoundError: If no metadata is found in the image. """ img.load() + found_metadata = False + + # Extract EXIF data (if present) exif = img.getexif() + if exif: + found_metadata = True + # Main IFD + for tag, value in exif.items(): + tag_name = ExifTags.TAGS.get(tag, f"Tag_{tag}") + self.tags_to_delete.append(tag) + self.data[f"EXIF:{tag_name}"] = value - if not exif: - raise MetadataNotFoundError("No EXIF data found in the image.") + # GPS IFD + gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) + for tag, value in gps_ifd.items(): + tag_name = ExifTags.GPSTAGS.get(tag, f"GPSTag_{tag}") + self.tags_to_delete.append(tag) + self.data[f"GPS:{tag_name}"] = value - # Iterate through the (0th) IFD - for tag, value in exif.items(): - # Get the human-readable name for the tag - tag_name = ExifTags.TAGS.get(tag, tag) + # Extract PNG textual metadata (PngInfo chunks) + if hasattr(img, "info") and img.info: + for key, value in img.info.items(): + # Skip binary/internal data + if key in ("icc_profile", "exif", "transparency", "gamma"): + continue - # Save to list and dict - self.tags_to_delete.append(tag) - self.data[tag_name] = value - print(f"{tag_name}: {value}") + if isinstance(value, (str, bytes)): + found_metadata = True + if isinstance(value, bytes): + try: + value = value.decode("utf-8", errors="replace") + except Exception: + value = str(value) - # Iterate through the (GPS) IFD - gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) - for tag, value in gps_ifd.items(): - # Get the human-readable name for the tag - tag_name = ExifTags.GPSTAGS.get(tag, tag) + self.data[f"PNG:{key}"] = value + if isinstance(key, str): # Only add string keys + self.text_keys_to_delete.append(key) - # Save to list and dict - self.tags_to_delete.append(tag) - self.data[tag_name] = value - print(f"{tag_name}: {value}") + if not found_metadata: + raise MetadataNotFoundError("No metadata found in the PNG image.") - return {"data": self.data, "tags_to_delete": self.tags_to_delete} + return { + "data": self.data, + "tags_to_delete": self.tags_to_delete, + "text_keys": self.text_keys_to_delete, + } - def delete_metadata(self, img, tags_to_delete): + def delete_metadata(self, img: Image, tags_to_delete: List[int]) -> Exif: """ - Remove specified EXIF tags from a PNG image. + Remove EXIF tags from a PNG image. Args: img: PIL Image object. - tags_to_delete: List of tag IDs to remove. + tags_to_delete: List of EXIF tag IDs to remove. Returns: - Modified EXIF data with specified tags removed. + Mutated Exif object with specified tags removed. Raises: MetadataProcessingError: If an error occurs during processing. @@ -86,17 +129,53 @@ class PngProcessor: img.load() exif = img.getexif() try: - # Iterate through the (0th) IFD - for tag_id, value in exif.items(): + # Delete tags from main IFD (iterate over copy of keys) + for tag_id in list(exif.keys()): if tag_id in tags_to_delete: del exif[tag_id] - # Iterate through the (GPS) IFD + # Clear GPS IFD entirely (privacy-sensitive) gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) - for tag_id, value in gps_ifd.items(): - if tag_id in tags_to_delete: - del gps_ifd[tag_id] + gps_ifd.clear() - return exif + gps_ifd + return exif except Exception as e: - raise MetadataProcessingError(f"Error Processing image: {str(e)}") + raise MetadataProcessingError(f"Error processing PNG EXIF: {str(e)}") + + def get_clean_pnginfo( + self, img: Image, keys_to_remove: Optional[List[str]] = None + ) -> Optional[PngImagePlugin.PngInfo]: + """ + Create a new PngInfo with sensitive keys removed. + + Args: + img: PIL Image object. + keys_to_remove: Specific keys to remove. If None, removes all sensitive keys. + + Returns: + New PngInfo object with only safe metadata, or None if no safe metadata. + """ + if not hasattr(img, "info") or not img.info: + return None + + keys_to_remove = keys_to_remove or list(self.text_keys_to_delete) + + # Create new PngInfo with only safe keys + pnginfo = PngImagePlugin.PngInfo() + has_safe_data = False + + for key, value in img.info.items(): + # Skip keys to remove + if key in keys_to_remove: + continue + + # Skip binary/internal data + if key in ("icc_profile", "exif", "transparency", "gamma"): + continue + + # Only include text data with string keys + if isinstance(key, str) and isinstance(value, str): + pnginfo.add_text(key, value) + has_safe_data = True + + return pnginfo if has_safe_data else None diff --git a/src/services/batch_processor.py b/src/services/batch_processor.py index de90d503..cb5eed82 100644 --- a/src/services/batch_processor.py +++ b/src/services/batch_processor.py @@ -92,6 +92,8 @@ class BatchProcessor: Returns: FileResult with success status and details. """ + output_path: Optional[Path] = None # Track reserved path for cleanup + try: # Dry-run mode: just report what would happen if self.dry_run: @@ -131,6 +133,9 @@ class BatchProcessor: return result except Exception as e: + # Cleanup: remove empty placeholder file if reservation failed + self._cleanup_reserved_path(output_path) + result = FileResult( filepath=file, success=False, @@ -223,6 +228,28 @@ class BatchProcessor: with self._results_lock: self.results.append(result) + def _cleanup_reserved_path(self, output_path: Optional[Path]) -> None: + """ + Remove empty placeholder file created during path reservation. + + Called when processing fails after _get_unique_output_path() reserved + a path via touch(). Only removes files that are empty (0 bytes) to + avoid deleting partially written data. + + Args: + output_path: Path that was reserved, or None if not yet reserved. + """ + if output_path is None: + return + + try: + if output_path.exists() and output_path.stat().st_size == 0: + output_path.unlink() + log.debug(f"Cleaned up empty placeholder: {output_path}") + except OSError: + # Best effort cleanup - don't fail if we can't delete + pass + def _get_unique_output_path(self, file: Path) -> Path: """ Generate unique output path with suffix (_1, _2) if file exists. diff --git a/src/services/image_handler.py b/src/services/image_handler.py index 1134ffa2..0259d501 100644 --- a/src/services/image_handler.py +++ b/src/services/image_handler.py @@ -16,6 +16,14 @@ from PIL import Image from src.core.jpeg_metadata import JpegProcessor from src.core.png_metadata import PngProcessor from src.services.metadata_handler import MetadataHandler +from src.utils.exceptions import UnsupportedFormatError + +# Map Pillow format names to processor keys +FORMAT_MAP = { + "jpeg": "jpeg", + "jpg": "jpeg", + "png": "png", +} class ImageHandler(MetadataHandler): @@ -23,11 +31,13 @@ class ImageHandler(MetadataHandler): Metadata handler for image files (JPEG, PNG). Implements the MetadataHandler interface using format-specific processors - to read, wipe, and save image metadata. Uses piexif for EXIF manipulation. + to read, wipe, and save image metadata. Uses Pillow's format detection + to handle files with incorrect extensions. Attributes: - processors: Dict mapping file extensions to processor instances. + processors: Dict mapping format names to processor instances. tags_to_delete: List of EXIF tags to remove during wipe operation. + detected_format: Actual image format detected by Pillow. """ def __init__(self, filepath: str): @@ -39,57 +49,121 @@ class ImageHandler(MetadataHandler): """ super().__init__(filepath) self.processors = { - ".jpeg": JpegProcessor(), - ".jpg": JpegProcessor(), - ".png": PngProcessor(), + "jpeg": JpegProcessor(), + "png": PngProcessor(), } self.tags_to_delete = [] + self.detected_format: Optional[str] = None + self.text_keys_to_delete = [] + + def _detect_format(self) -> str: + """ + Detect actual image format using Pillow, not file extension. + + This protects against misnamed files (e.g., a PNG saved as .jpg). + + Returns: + Normalized format string ('jpeg' or 'png'). + + Raises: + UnsupportedFormatError: If format is not supported or undetectable. + """ + with Image.open(Path(self.filepath)) as img: + if img.format is None: + raise UnsupportedFormatError( + f"Could not detect format for: {self.filepath}" + ) + + pillow_format = img.format.lower() + normalized = FORMAT_MAP.get(pillow_format) + + if normalized is None: + raise UnsupportedFormatError( + f"Unsupported format: {pillow_format} (file: {self.filepath})" + ) + + return normalized def read(self): - """Extract metadata from the file.""" + """ + Extract metadata from the file. + + Uses actual format detection to select the appropriate processor. + """ + self.detected_format = self._detect_format() + processor = self.processors.get(self.detected_format) + + if not processor: + raise UnsupportedFormatError(f"Unsupported format: {self.detected_format}") + with Image.open(Path(self.filepath)) as img: - extension = Path(self.filepath).suffix - processor = self.processors.get(extension) - - if not processor: - raise ValueError(f"Unsupported format: {extension}") - - self.metadata = processor.get_metadata(img)["data"] - self.tags_to_delete = processor.get_metadata(img)["tags_to_delete"] + result = processor.get_metadata(img) + self.metadata = result["data"] + self.tags_to_delete = result["tags_to_delete"] + # Store text keys for PNG processing + self.text_keys_to_delete = result.get("text_keys", []) return self.metadata def wipe(self) -> None: - """Wipes internal metadata state.""" + """ + Remove privacy-sensitive metadata from the file. + + Uses actual format detection to select the appropriate processor. + """ + # Use cached format if available, otherwise detect + if not self.detected_format: + self.detected_format = self._detect_format() + + processor = self.processors.get(self.detected_format) + + if not processor: + raise UnsupportedFormatError(f"Unsupported format: {self.detected_format}") + with Image.open(Path(self.filepath)) as img: - extension = Path(self.filepath).suffix - processor = self.processors.get(extension) - - if not processor: - raise ValueError(f"Unsupported format: {extension}") - self.processed_metadata = processor.delete_metadata( img, self.tags_to_delete ) + # For PNG, also get clean PngInfo + if self.detected_format == "png" and hasattr( + processor, "get_clean_pnginfo" + ): + self.clean_pnginfo = processor.get_clean_pnginfo( + img, self.text_keys_to_delete + ) def save(self, output_path: Optional[str] = None) -> None: """ Writes the changes to a copy of the original file. + Handles format-specific saving: + - JPEG: Uses piexif to write cleaned EXIF data + - PNG: Saves without EXIF and strips textual metadata + Args: - output_path: Can be a directory path (legacy behavior) or a full file path. - If a directory, generates filename as 'processed_{original_name}'. - If a file path, uses it directly. + output_path: Full path to the destination file. """ - destination_file_path = "" - if output_path: - # setup the destination directory. - # which was created by the batch_processor - destination_file_path = Path(output_path) + destination_file_path = Path(output_path) if output_path else None - # copies the original file to the destination directory - shutil.copy2(self.filepath, destination_file_path) + if not destination_file_path: + raise ValueError("output_path is required") - # writes the processed metadata to the image in the destination directory - with Image.open(destination_file_path) as img: - exif_bytes = piexif.dump(self.processed_metadata) - img.save(destination_file_path, exif=exif_bytes) + # Use detected format (falls back to extension if not detected) + actual_format = self.detected_format or self._detect_format() + + if actual_format == "jpeg": + # JPEG: Copy then write cleaned EXIF data + shutil.copy2(self.filepath, destination_file_path) + with Image.open(destination_file_path) as img: + exif_bytes = piexif.dump(self.processed_metadata) + img.save(destination_file_path, exif=exif_bytes) + elif actual_format == "png": + # PNG: Open original, save fresh copy without metadata + with Image.open(Path(self.filepath)) as img: + # Save without exif and without pnginfo to strip all metadata + # Preserve image mode and data integrity + img.save( + destination_file_path, + format="PNG", + exif=None, + pnginfo=getattr(self, "clean_pnginfo", None), + ) diff --git a/src/services/metadata_factory.py b/src/services/metadata_factory.py index 3502aebf..27089b17 100644 --- a/src/services/metadata_factory.py +++ b/src/services/metadata_factory.py @@ -9,6 +9,7 @@ extensibility for supporting new file formats (PDF, Office docs, etc.). from pathlib import Path from src.services.image_handler import ImageHandler +from src.utils.exceptions import UnsupportedFormatError class MetadataFactory: @@ -36,8 +37,8 @@ class MetadataFactory: MetadataHandler: An instance of the appropriate handler subclass. Raises: - ValueError: If no handler is defined for the file type or - if the path is not a valid file. + UnsupportedFormatError: If no handler is defined for the file type. + ValueError: If the path is not a valid file. """ ext = Path(filepath).suffix.lower() if Path(filepath).is_file(): @@ -52,7 +53,7 @@ class MetadataFactory: # elif ext == ".pptx": # return PowerPointHandler(filepath) else: - raise ValueError(f"No handler defined for {ext} files.") + raise UnsupportedFormatError(f"No handler defined for {ext} files.") else: raise ValueError( f"{filepath} is not a file. if you want to process a directory, use the --recursive flag." diff --git a/src/utils/get_target_files.py b/src/utils/get_target_files.py index 12b84c6c..89a3d9b8 100644 --- a/src/utils/get_target_files.py +++ b/src/utils/get_target_files.py @@ -13,16 +13,19 @@ def get_target_files(input_path_str: Path, ext: str) -> Generator[Path, None, No """ Yield files to process based on input path and extension filter. - Recursively searches the input directory for files matching the - specified extension. + Handles both directories (recursive search) and single files (defensive). Args: - input_path_str: Path object pointing to the target directory. + input_path_str: Path object pointing to a file or directory. ext: File extension to filter by (without dot, e.g., 'jpg'). Yields: Path objects for each matching file found. """ - # If input is a directory, yield all files with the specified extension if input_path_str.is_dir(): - yield from input_path_str.rglob(f"*.{ext}") + # Directory: recursively yield all files with the specified extension + yield from input_path_str.rglob(f"*.{ext.lower()}") + elif input_path_str.is_file(): + # Defensive: if a file is passed, yield it if extension matches + if input_path_str.suffix.lstrip(".").lower() == ext.lower(): + yield input_path_str From 5f5befab29ac632794ee52652094559656f3ac39 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Tue, 6 Jan 2026 01:57:44 +0100 Subject: [PATCH 07/38] updated README --- README.md | 116 +++++++++++++++++++++++-- examples/test_images/test_canon.jpg | Bin 0 -> 7958 bytes examples/test_images/test_fuji.jpg | Bin 0 -> 2241 bytes examples/test_images/test_metadata.png | Bin 0 -> 572 bytes 4 files changed, 111 insertions(+), 5 deletions(-) create mode 100644 examples/test_images/test_canon.jpg create mode 100644 examples/test_images/test_fuji.jpg create mode 100644 examples/test_images/test_metadata.png diff --git a/README.md b/README.md index 21c4e265..0228194f 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,121 @@ -# Metadata Scrubber Tool +# 🔒 Metadata Scrubber Tool -A tool for scrubbing metadata from files. +A privacy-focused CLI tool that removes sensitive metadata (EXIF, GPS, author info) from image files. Perfect for protecting your privacy before sharing photos online. -## Installation +## ✨ Features + +- **Multi-format support** - JPEG, PNG (with PDF/Office planned) +- **Concurrent processing** - Process 1000+ files efficiently with ThreadPoolExecutor +- **Dry-run mode** - Preview what would be scrubbed without making changes +- **Smart format detection** - Uses Pillow's format detection, not just file extensions +- **Beautiful CLI** - Rich progress bars and formatted output +- **Privacy-first** - Removes GPS coordinates, camera info, timestamps, author data + +## 📚 Educational Value + +This project demonstrates: +- **Factory pattern** for extensible file type handling +- **Abstract base classes** for consistent handler interfaces +- **Concurrent processing** with thread-safe operations +- **CLI development** with Typer and Rich +- **Image metadata handling** with Pillow and piexif + +## 📋 Prerequisites + +- Python 3.10+ +- [uv](https://github.com/astral-sh/uv) (recommended) or pip + +## 🚀 Installation ```bash +# Clone the repository +git clone https://github.com/Heritage-XioN/metadata-scrubber-tool.git +cd metadata-scrubber-tool + +# Create virtual environment and install dependencies +uv venv +.venv\Scripts\activate # Windows +# source .venv/bin/activate # Linux/Mac + uv pip install -r requirements.txt ``` -## Usage +## 📖 Usage + +### Read Metadata ```bash -python -m src.main +# Single file +python -m src.main read photo.jpg + +# Recursive directory scan +python -m src.main read ./photos/ -r -ext jpg ``` + +### Scrub Metadata + +```bash +# Single file +python -m src.main scrub photo.jpg --output ./cleaned + +# Batch process with 8 workers +python -m src.main scrub ./photos/ -r -ext jpg --output ./cleaned --workers 8 + +# Preview without changes +python -m src.main scrub ./photos/ -r -ext jpg --dry-run +``` + +### CLI Options + +| Command | Options | +|---------|---------| +| `read` | `-r` / `--recursive`, `-ext` / `--extension` | +| `scrub` | `-r`, `-ext`, `-o` / `--output`, `-d` / `--dry-run`, `-w` / `--workers` | +| Global | `-v` / `--verbose` | + +## 🏗️ Architecture + +``` +src/ +├── main.py # CLI entry point (Typer app) +├── commands/ +│ ├── read.py # Read metadata command +│ └── scrub.py # Scrub metadata command (batch processing) +├── services/ +│ ├── metadata_factory.py # Factory for creating handlers +│ ├── metadata_handler.py # Abstract base class +│ ├── image_handler.py # JPEG/PNG handler +│ └── batch_processor.py # Concurrent batch processing +├── core/ +│ ├── jpeg_metadata.py # JPEG EXIF processor (piexif) +│ └── png_metadata.py # PNG metadata processor (PIL) +└── utils/ + ├── display.py # Rich output formatting + ├── formatter.py # Value formatting helpers + ├── exceptions.py # Custom exceptions + └── logger.py # Logging configuration +``` + +**Data Flow:** +``` +CLI Command → MetadataFactory → Handler (read→wipe→save) → Output + ↓ + Format Detection + ↓ + JpegProcessor / PngProcessor +``` + +## ⚠️ Security Considerations + +- **Always backup files** before scrubbing in production +- **Use `--dry-run`** to preview changes before committing +- **GPS coordinates** are completely stripped for privacy +- **Original files are not modified** - processed copies are created + +## 📄 License + +MIT License - See [LICENSE](LICENSE) for details. + +--- + +Made with ❤️ for privacy diff --git a/examples/test_images/test_canon.jpg b/examples/test_images/test_canon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6eb33f12d1d9b3e837c151e9913f0a82061028e1 GIT binary patch literal 7958 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 literal 0 HcmV?d00001 diff --git a/examples/test_images/test_fuji.jpg b/examples/test_images/test_fuji.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8cf1e5ca4e12aba21288c9ebcc5749cf7b26ab21 GIT binary patch literal 2241 zcmb7^X;4#F6oBtr0vH2%0a*$(MnFNU@)A)(Sj5OG23$sP8%01gB7(9ERIQ2*XjR0x zv_)lD0y2zC7uSG_0tOe53JRiBQ30ihrL{_JXVUY+BgE;i-Z%H&@11+jx#ym{=-PD8 z5H%+#GzeiBhN9s^x=wOeV1_atA%y}>LI{~59>zyF&?u+{7^PW77s~jaFhkRn(+EQc+>ykue;fsF{Ed7G3QQbQGpmQ1I?5=S`W0Am`2T(a_qSAfdy12HNY%7Z@DYNL78II9mjYQl(3 zjF@Z0yb%Tyra&GE5v?xwXWD*aVhm<)F|B->N+mJ1u&e(zd47UGe zsE77b`9tP^_(byH#~P}sK0UN}8jUC%t`R~OkWGvt^hc9fInFX5B8-?~84`sA6j!fr z1GXYo4v5AX={p&*GcaSfos1@EBe~d!B`h<3kYFet1~DT>mLqbCW#-Z&s}VV7#JCYN zYC)mlf%=OD3@L=dFN6lBWP2Q#36xymC1vg#bGu0z&K~qg_ZZDa)M%ask4ssYTUZJx zD?2xPI~yB2vGe%P-DJ~zeY~bgJ^e$Lhx-Ra1$s*7CC-mp8M9{X8b8Ix%;dO?<*V1k zGEOjorKO#1zx`=-LE|9bs=F&Uc`&no-)g&mR^}wtANsO4Dx_uO)uf05i@-jSPF(wPr^xKN&+eO<#@ICGCN?DH*OU!3E$)}L=}@nY+BR1>xUt|)o9kx_OIIk< z!Yh25#_slbSXXhIS7p96#9m?kS8JDW+%=nMPuH%l^p-I9*5tE(nn7ND-1-c`C0X{n z^Qj5^#}y|J9UujHE=gk(I+px=JfPb7%LH3X z(vB|^zJ67HF00II0&CRgFN%qlvX@5lB#Uc2WauRnf0qOxz_(g)e$Q(Ir2T3Yh;*o&eE>CO9k%O;xCdrNWa zUDieGGR^O4vzIu=Tt)n_uD2mglX~}QUwvWaJjUmkfCUFP~J z-*mM6Xh+t*^FDApOWq^C(%=)_oIi_`n(eUGwVdN}q`)?K+v9Z;T}sCYO^KXMhe*ps$e?iv{MeyztMeShweV@Pn*naQZeq(pmSTqnqv$d*o0PB1< zreH$rSND&wd}x2(brAabeW?U$uI6kt(3UIHm}wBhL4>T$GFszgTAQ0NcY2b$mOKp;K8N^wd5}aFf&nC6N?Fhyy zsXT5*k&oBR)gl3g@{ZYovoj`uvPoC#m{B?y49vlb8L18}mdjELT1Fwxm~K1jYnu=QkI^2VkmJ7cbFRm!@I_Xzgci*r1sukf#~D|` z)sf2N2!ANP=3=CLxv}4sKCZgzM4VbQyAX1@I~QZSMgL=sjQ_k8{-4{S09iPxCx}T$ YL(kNsJLj3RnE(I) literal 0 HcmV?d00001 From c2854d324183ba739017847813da057ee6cb84c9 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION <143282101+Heritage-XioN@users.noreply.github.com> Date: Tue, 6 Jan 2026 02:01:43 +0100 Subject: [PATCH 08/38] Add MIT License to the project --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..d1a703c6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 HERITAGE-XION + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 989902d86e3e40a333427870f4bfd70a6ec70db3 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Tue, 6 Jan 2026 21:49:46 +0100 Subject: [PATCH 09/38] metadata-scrubber-tool: added unit test for image handler --- scripts/generate_png_tests.py | 29 ++++++ src/services/image_handler.py | 3 +- src/services/metadata_factory.py | 8 +- tests/__init__.py | 0 tests/e2e/__init__.py | 0 tests/integration/__init__.py | 0 tests/unit/__init__.py | 0 tests/unit/test_image_handler.py | 163 +++++++++++++++++++++++++++++++ 8 files changed, 200 insertions(+), 3 deletions(-) create mode 100644 scripts/generate_png_tests.py create mode 100644 tests/__init__.py create mode 100644 tests/e2e/__init__.py create mode 100644 tests/integration/__init__.py create mode 100644 tests/unit/__init__.py create mode 100644 tests/unit/test_image_handler.py diff --git a/scripts/generate_png_tests.py b/scripts/generate_png_tests.py new file mode 100644 index 00000000..8d40e3ef --- /dev/null +++ b/scripts/generate_png_tests.py @@ -0,0 +1,29 @@ +"""Generate PNG test images with metadata.""" + +import random +from pathlib import Path + +from PIL import Image, PngImagePlugin + +dest_dir = Path("tests/assets/test_images") + +# Generate 45 PNG images with various metadata +for i in range(1, 46): + # Create a simple colored image + r, g, b = random.randint(50, 200), random.randint(50, 200), random.randint(50, 200) + img = Image.new("RGB", (100, 100), color=(r, g, b)) + + # Add PNG text metadata + pnginfo = PngImagePlugin.PngInfo() + pnginfo.add_text("Author", f"Test Author {i}") + pnginfo.add_text("Description", f"Test image number {i} for metadata scrubbing") + pnginfo.add_text("Software", "Python PIL Test Generator") + pnginfo.add_text("Copyright", f"Copyright 2024 Test {i}") + pnginfo.add_text("Creation Time", f"2024-01-{i % 28 + 1:02d}") + + # Save with metadata + filename = dest_dir / f"generated_test_{i:02d}.png" + img.save(filename, pnginfo=pnginfo) + +print("Generated 45 PNG images with metadata") +print(f"Total PNG count: {len(list(dest_dir.glob('*.png')))}") diff --git a/src/services/image_handler.py b/src/services/image_handler.py index 0259d501..ede104a9 100644 --- a/src/services/image_handler.py +++ b/src/services/image_handler.py @@ -131,7 +131,7 @@ class ImageHandler(MetadataHandler): img, self.text_keys_to_delete ) - def save(self, output_path: Optional[str] = None) -> None: + def save(self, output_path: Optional[str | Path] = None) -> None: """ Writes the changes to a copy of the original file. @@ -156,6 +156,7 @@ class ImageHandler(MetadataHandler): with Image.open(destination_file_path) as img: exif_bytes = piexif.dump(self.processed_metadata) img.save(destination_file_path, exif=exif_bytes) + elif actual_format == "png": # PNG: Open original, save fresh copy without metadata with Image.open(Path(self.filepath)) as img: diff --git a/src/services/metadata_factory.py b/src/services/metadata_factory.py index 27089b17..5ca789b7 100644 --- a/src/services/metadata_factory.py +++ b/src/services/metadata_factory.py @@ -40,6 +40,7 @@ class MetadataFactory: UnsupportedFormatError: If no handler is defined for the file type. ValueError: If the path is not a valid file. """ + supported_extensions = ".jpg, .jpeg, .png" ext = Path(filepath).suffix.lower() if Path(filepath).is_file(): if ext in [".jpg", ".jpeg", ".png"]: @@ -53,8 +54,11 @@ class MetadataFactory: # elif ext == ".pptx": # return PowerPointHandler(filepath) else: - raise UnsupportedFormatError(f"No handler defined for {ext} files.") + print("i ran") + raise UnsupportedFormatError( + f"No handler defined for {ext} files. we curently only support {supported_extensions} files." + ) else: raise ValueError( - f"{filepath} is not a file. if you want to process a directory, use the --recursive flag." + f"{filepath} is not a file. if you want to process a directory, use the --recursive or -r flag." ) diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/e2e/__init__.py b/tests/e2e/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/integration/__init__.py b/tests/integration/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/unit/__init__.py b/tests/unit/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/unit/test_image_handler.py b/tests/unit/test_image_handler.py new file mode 100644 index 00000000..862685bc --- /dev/null +++ b/tests/unit/test_image_handler.py @@ -0,0 +1,163 @@ +import shutil +from pathlib import Path + +import pytest + +from src.services.image_handler import ImageHandler +from src.utils.exceptions import MetadataNotFoundError, UnsupportedFormatError + +# Test file paths +JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\DSCN0012.jpg" +PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_45.png" + + +# ============== success Case Tests ============== + + +@pytest.mark.parametrize( + "x", + [JPG_TEST_FILE, PNG_TEST_FILE], +) +def test_read_image_metadata(x): + """ + test for reading image metadata + """ + # checks if file exists + assert Path(x).exists() + processor = ImageHandler(x) + metadata = processor.read() + + # checks if metadata is not empty + assert processor.metadata == metadata + + # checks if tags_to_delete or text_keys_to_delete is not empty + assert ( + processor.tags_to_delete is not None + or processor.text_keys_to_delete is not None + ) + + # checks if metadata is a dictionary + assert isinstance(metadata, dict) + + +@pytest.mark.parametrize( + "x", + [JPG_TEST_FILE, PNG_TEST_FILE], +) +def test_wipe_image_metadata(x): + """ + test for wiping image metadata + """ + # checks if file exists + assert Path(x).exists() + processor = ImageHandler(x) + metadata = processor.read() + processor.wipe() + + # checks if processed_metadata is not equal to metadata + assert processor.processed_metadata != metadata + + +@pytest.mark.parametrize( + "x", + [JPG_TEST_FILE, PNG_TEST_FILE], +) +def test_save_processed_image_metadata(x): + """ + test for saving image processed metadata to a copy of the file + """ + # creates output directory + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + processor = ImageHandler(x) + metadata = processor.read() + processor.wipe() + + # checks if processed_metadata is not equal to metadata + assert processor.processed_metadata != metadata + + # Pass full file path + output_file = output_dir / Path(x).name + processor.save(str(output_file)) + + # checks if output file exists and then deletes it + assert output_file.exists() + shutil.rmtree(output_dir) + + +@pytest.mark.parametrize( + "x", + [JPG_TEST_FILE, PNG_TEST_FILE], +) +def test_output_file_has_less_metadata(x): + """ + Test that the output file has metadata stripped + """ + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + # Process original file + processor = ImageHandler(x) + original_metadata = processor.read() + original_count = len(original_metadata) + processor.wipe() + + # Save processed file + output_file = output_dir / Path(x).name + processor.save(str(output_file)) + + # Read output file and verify metadata is reduced or gone + try: + output_processor = ImageHandler(str(output_file)) + output_metadata = output_processor.read() + # Output should have fewer metadata entries + assert len(output_metadata) < original_count + except MetadataNotFoundError: + # If no metadata found, that's expected for fully stripped files + pass + # clean up + shutil.rmtree(output_dir) + + +def test_format_detection_works(): + """ + Test that format detection uses Pillow, not file extension + """ + handler = ImageHandler(JPG_TEST_FILE) + detected = handler._detect_format() + assert detected == "jpeg" + + handler_png = ImageHandler(PNG_TEST_FILE) + detected_png = handler_png._detect_format() + assert detected_png == "png" + + +# ============== Error Case Tests ============== + + +def test_unsupported_format_raises_error(tmp_path): + """ + Test that unsupported file formats raise an error (PIL or custom) + """ + from PIL import UnidentifiedImageError + + # Create a fake text file + fake_file = tmp_path / "test.txt" + fake_file.write_text("not an image") + + handler = ImageHandler(str(fake_file)) + # Either our UnsupportedFormatError or PIL's UnidentifiedImageError is acceptable + with pytest.raises((UnsupportedFormatError, UnidentifiedImageError)): + handler.read() + + +def test_save_without_output_path_raises_error(): + """ + Test that save() raises ValueError when output_path is None + """ + handler = ImageHandler(JPG_TEST_FILE) + handler.read() + handler.wipe() + with pytest.raises(ValueError): + handler.save(None) From b628130596e248f50aba44f50dfb3ee3c50faaaa Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Tue, 6 Jan 2026 22:14:26 +0100 Subject: [PATCH 10/38] metadata-scrubber-tool: added integration test for metadata factory --- src/services/metadata_factory.py | 1 - tests/integration/test_metadata_factory.py | 159 +++++++++++++++++++++ 2 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 tests/integration/test_metadata_factory.py diff --git a/src/services/metadata_factory.py b/src/services/metadata_factory.py index 5ca789b7..3d9e11fe 100644 --- a/src/services/metadata_factory.py +++ b/src/services/metadata_factory.py @@ -54,7 +54,6 @@ class MetadataFactory: # elif ext == ".pptx": # return PowerPointHandler(filepath) else: - print("i ran") raise UnsupportedFormatError( f"No handler defined for {ext} files. we curently only support {supported_extensions} files." ) diff --git a/tests/integration/test_metadata_factory.py b/tests/integration/test_metadata_factory.py new file mode 100644 index 00000000..c3cec054 --- /dev/null +++ b/tests/integration/test_metadata_factory.py @@ -0,0 +1,159 @@ +import shutil +from pathlib import Path + +import pytest + +from src.services.metadata_factory import MetadataFactory +from src.utils.exceptions import MetadataNotFoundError + +# Test file paths +JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\DSCN0012.jpg" +PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_45.png" + + +# ============== success Case Tests ============== + + +@pytest.mark.parametrize( + "x", + [JPG_TEST_FILE, PNG_TEST_FILE], +) +def test_read_image_metadata(x): + """ + test for reading image metadata + """ + # checks if file exists + assert Path(x).exists() + handler = MetadataFactory.get_handler(str(x)) + metadata = handler.read() + + # checks if metadata is not empty + assert handler.metadata == metadata + + # checks if tags_to_delete or text_keys_to_delete is not empty + assert handler.tags_to_delete is not None or handler.text_keys_to_delete is not None + + # checks if metadata is a dictionary + assert isinstance(metadata, dict) + + +@pytest.mark.parametrize( + "x", + [JPG_TEST_FILE, PNG_TEST_FILE], +) +def test_wipe_image_metadata(x): + """ + test for wiping image metadata + """ + # checks if file exists + assert Path(x).exists() + handler = MetadataFactory.get_handler(str(x)) + metadata = handler.read() + handler.wipe() + + # checks if processed_metadata is not equal to metadata + assert handler.processed_metadata != metadata + + +@pytest.mark.parametrize( + "x", + [JPG_TEST_FILE, PNG_TEST_FILE], +) +def test_save_processed_image_metadata(x): + """ + test for saving image processed metadata to a copy of the file + """ + # creates output directory + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + handler = MetadataFactory.get_handler(str(x)) + metadata = handler.read() + handler.wipe() + + # checks if processed_metadata is not equal to metadata + assert handler.processed_metadata != metadata + + # Pass full file path + output_file = output_dir / Path(x).name + handler.save(str(output_file)) + + # checks if output file exists and then deletes it + assert output_file.exists() + shutil.rmtree(output_dir) + + +@pytest.mark.parametrize( + "x", + [JPG_TEST_FILE, PNG_TEST_FILE], +) +def test_output_file_has_less_metadata(x): + """ + Test that the output file has metadata stripped + """ + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + # Process original file + handler = MetadataFactory.get_handler(str(x)) + original_metadata = handler.read() + original_count = len(original_metadata) + handler.wipe() + + # Save processed file + output_file = output_dir / Path(x).name + handler.save(str(output_file)) + + # Read output file and verify metadata is reduced or gone + try: + output_processor = MetadataFactory.get_handler(str(output_file)) + output_metadata = output_processor.read() + # Output should have fewer metadata entries + assert len(output_metadata) < original_count + except MetadataNotFoundError: + # If no metadata found, that's expected for fully stripped files + pass + # clean up + shutil.rmtree(output_dir) + + +def test_format_detection_works(): + """ + Test that format detection uses Pillow, not file extension + """ + handler = MetadataFactory.get_handler(JPG_TEST_FILE) + detected = handler._detect_format() + assert detected == "jpeg" + + handler_png = MetadataFactory.get_handler(PNG_TEST_FILE) + detected_png = handler_png._detect_format() + assert detected_png == "png" + + +# ============== Error Case Tests ============== + + +def test_unsupported_format_raises_error(tmp_path): + """ + Test that unsupported file formats raise an error + """ + from src.utils.exceptions import UnsupportedFormatError + + # Create a fake text file + fake_file = tmp_path / "test.txt" + fake_file.write_text("not an image") + + # MetadataFactory.get_handler() raises UnsupportedFormatError for .txt files + with pytest.raises(UnsupportedFormatError): + MetadataFactory.get_handler(str(fake_file)) + + +def test_save_without_output_path_raises_error(): + """ + Test that save() raises ValueError when output_path is None + """ + handler = MetadataFactory.get_handler(JPG_TEST_FILE) + handler.read() + handler.wipe() + with pytest.raises(ValueError): + handler.save(None) From ab70844c8e6f45465a6be8db772a388c75cda10f Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Tue, 6 Jan 2026 23:45:36 +0100 Subject: [PATCH 11/38] metadata-scrubber-tool: added end-to-end test for cli commands, which includes for read and scrub commands. added the version flag and modified the verbose to use capital V --- src/commands/read.py | 2 +- src/main.py | 34 ++++++++- src/services/batch_processor.py | 11 ++- tests/e2e/test_main.py | 24 ++++++ tests/e2e/test_read_command.py | 79 +++++++++++++++++++ tests/e2e/test_scrub_command.py | 129 ++++++++++++++++++++++++++++++++ 6 files changed, 270 insertions(+), 9 deletions(-) create mode 100644 tests/e2e/test_main.py create mode 100644 tests/e2e/test_read_command.py create mode 100644 tests/e2e/test_scrub_command.py diff --git a/src/commands/read.py b/src/commands/read.py index fb45e69b..1c2d3ba5 100644 --- a/src/commands/read.py +++ b/src/commands/read.py @@ -20,7 +20,7 @@ log = logging.getLogger("metadata-scrubber") # fmt: off -def get_metadata( +def read( file_path: Path = typer.Argument( exists=True, # Must exist on the filesystem file_okay=True, # Can be a file diff --git a/src/main.py b/src/main.py index 86f106b2..3c8d98a9 100644 --- a/src/main.py +++ b/src/main.py @@ -13,7 +13,7 @@ import logging import typer -from src.commands.read import get_metadata +from src.commands.read import read from src.commands.scrub import scrub from src.utils.logger import setup_logging @@ -22,18 +22,44 @@ app = typer.Typer(no_args_is_help=True, pretty_exceptions_show_locals=False) log = logging.getLogger("metadata-scrubber") +__version__ = "0.1.0" + + +# --------------------------------------------------------- +# VERSION CALLBACK +# --------------------------------------------------------- +def version_callback(value: bool): + """ + Prints the version and exits. + """ + if value: + print(f"Version: {__version__}") + raise typer.Exit() + + +# --------------------------------------------------------- +# MAIN ENTRY POINT +# --------------------------------------------------------- # fmt: off @app.callback() def main( verbose: bool = typer.Option( False, "--verbose", - "-v", + "-V", help="Show detailed debug logs for every file processed.", ), + version: bool = typer.Option( + None, + "--version", + "-v", + callback=version_callback, + is_eager=True, + help="Show the application version and exit." + ), ): """ - Metadata Scrubber Tool - Clean your images privacy data. + Metadata Scrubber Tool - Clean your images personal identifying data. eg: author name, camera model, GPS coordinates, etc. """ # Initialize the logger based on the user's flag setup_logging(verbose) @@ -43,7 +69,7 @@ def main( # fmt: on # register commands -app.command(name="read")(get_metadata) +app.command(name="read")(read) app.command(name="scrub")(scrub) # run app diff --git a/src/services/batch_processor.py b/src/services/batch_processor.py index cb5eed82..a4ad2d0f 100644 --- a/src/services/batch_processor.py +++ b/src/services/batch_processor.py @@ -99,7 +99,7 @@ class BatchProcessor: if self.dry_run: # Verify the file can be handled (will raise if not) MetadataFactory.get_handler(str(file)) - output_path = self._get_unique_output_path(file) + output_path = self._get_unique_output_path(file, reserve=False) result = FileResult( filepath=file, success=True, @@ -250,7 +250,7 @@ class BatchProcessor: # Best effort cleanup - don't fail if we can't delete pass - def _get_unique_output_path(self, file: Path) -> Path: + def _get_unique_output_path(self, file: Path, reserve: bool = True) -> Path: """ Generate unique output path with suffix (_1, _2) if file exists. @@ -258,6 +258,8 @@ class BatchProcessor: Args: file: Original file path. + reserve: If True, create placeholder file to reserve the path. + Set to False for dry-run mode. Returns: Unique path in output directory that doesn't conflict with existing files. @@ -278,7 +280,8 @@ class BatchProcessor: ) counter += 1 - # Create empty placeholder to reserve the path - output_path.touch() + # Create empty placeholder to reserve the path (skip in dry-run) + if reserve: + output_path.touch() return output_path diff --git a/tests/e2e/test_main.py b/tests/e2e/test_main.py new file mode 100644 index 00000000..bf705910 --- /dev/null +++ b/tests/e2e/test_main.py @@ -0,0 +1,24 @@ +from typer.testing import CliRunner + +from src.main import __version__, app + +# Initialize the runner +runner = CliRunner() + + +def test_app_version(): + """ + Ensure the --version flag prints the correct version and exits cleanly. + """ + result = runner.invoke(app, ["--version"]) + assert result.exit_code == 0, "The app crashed!" + assert __version__ in result.stdout, "Version number not found in output" + + +def test_app_help(): + """ + Ensure the --help flag works. + """ + result = runner.invoke(app, ["--help"]) + assert result.exit_code == 0 + assert "Metadata Scrubber Tool" in result.stdout diff --git a/tests/e2e/test_read_command.py b/tests/e2e/test_read_command.py new file mode 100644 index 00000000..2911bf11 --- /dev/null +++ b/tests/e2e/test_read_command.py @@ -0,0 +1,79 @@ +from pathlib import Path + +import pytest +from typer.testing import CliRunner + +from src.main import app + +runner = CliRunner() + +# Test file paths +JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\DSCN0012.jpg" +PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_45.png" +TEST_DIR = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images" + + +# ============== Success Case Tests ============== + + +@pytest.mark.parametrize( + "x", + [JPG_TEST_FILE, PNG_TEST_FILE], +) +def test_read_command_single_file_success(x): + """ + Test the 'read' command with a single file (JPG and PNG). + """ + result = runner.invoke(app, ["read", str(x)]) + + assert result.exit_code == 0 + assert "Reading" in result.stdout + assert Path(x).name in result.stdout + + +@pytest.mark.parametrize( + "ext", + ["jpg", "png"], +) +def test_read_command_recursive_directory_success(ext): + """ + Test the 'read' command with recursive directory processing. + """ + result = runner.invoke(app, ["read", TEST_DIR, "-r", "-ext", ext]) + + assert result.exit_code == 0 + assert "Reading" in result.stdout + + +def test_read_command_requires_ext_with_recursive(): + """ + Test that --recursive requires --extension flag. + """ + result = runner.invoke(app, ["read", TEST_DIR, "-r"]) + + assert result.exit_code != 0 + # Should fail with bad parameter error + + +def test_read_command_requires_recursive_with_ext(): + """ + Test that --extension requires --recursive flag. + """ + result = runner.invoke(app, ["read", JPG_TEST_FILE, "-ext", "jpg"]) + + assert result.exit_code != 0 + + +# ============== Error Case Tests ============== + + +def test_read_command_file_not_found(): + """ + Test that the app handles missing files gracefully. + """ + result = runner.invoke(app, ["read", "ghost_file.jpg"]) + + # Typer returns exit code 2 (Usage Error) for bad arguments + assert result.exit_code == 2 + assert "Invalid value for 'FILE_PATH'" in result.stderr + assert "does not exist" in result.stderr diff --git a/tests/e2e/test_scrub_command.py b/tests/e2e/test_scrub_command.py new file mode 100644 index 00000000..4941bf37 --- /dev/null +++ b/tests/e2e/test_scrub_command.py @@ -0,0 +1,129 @@ +""" +E2E tests for the 'scrub' command. + +Tests the full CLI flow for scrubbing metadata from files. +""" + +from pathlib import Path + +import pytest +from typer.testing import CliRunner + +from src.main import app + +runner = CliRunner() + +# Test file paths - use examples folder for faster tests (fewer files) +JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\DSCN0012.jpg" +PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_45.png" +# Use examples folder (small) instead of full test_images folder (100+ files) +EXAMPLES_DIR = ( + r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images" +) + + +@pytest.fixture +def output_dir(tmp_path): + """Create isolated output directory for each test using tmp_path.""" + output = tmp_path / "output" + output.mkdir(parents=True, exist_ok=True) + return output + + +# ============== Success Case Tests ============== + + +@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) +def test_scrub_command_single_file_success(x, output_dir): + """ + Test the 'scrub' command with a single file. + """ + result = runner.invoke(app, ["scrub", x, "--output", str(output_dir)]) + + assert result.exit_code == 0 + # Check output file was created (has processed_ prefix) + output_file = output_dir / f"processed_{Path(x).name}" + assert output_file.exists() + + +def test_scrub_command_recursive_jpg_success(output_dir): + """ + Test the 'scrub' command with recursive directory processing for JPG. + Uses examples folder (smaller) for faster tests. + """ + result = runner.invoke( + app, ["scrub", EXAMPLES_DIR, "-r", "-ext", "jpg", "--output", str(output_dir)] + ) + + assert result.exit_code == 0 + # Check at least one output file was created + output_files = list(output_dir.glob("processed_*.jpg")) + assert len(output_files) > 0 + + +def test_scrub_command_dry_run(output_dir): + """ + Test that --dry-run doesn't create files. + """ + result = runner.invoke( + app, ["scrub", JPG_TEST_FILE, "--output", str(output_dir), "--dry-run"] + ) + + assert result.exit_code == 0 + assert "DRY-RUN" in result.stdout + # No files should be created in dry-run mode + output_file = output_dir / f"processed_{Path(JPG_TEST_FILE).name}" + assert not output_file.exists() + + +def test_scrub_command_with_workers(output_dir): + """ + Test the --workers option for concurrent processing. + """ + result = runner.invoke( + app, + [ + "scrub", + EXAMPLES_DIR, + "-r", + "-ext", + "jpg", + "--output", + str(output_dir), + "--workers", + "2", + ], + ) + + assert result.exit_code == 0 + + +# ============== Error Case Tests ============== + + +def test_scrub_command_file_not_found(): + """ + Test that the app handles missing files gracefully. + """ + result = runner.invoke(app, ["scrub", "ghost_file.jpg"]) + + assert result.exit_code == 2 + assert "Invalid value" in result.stderr + + +def test_scrub_command_requires_ext_with_recursive(): + """ + Test that --recursive requires --extension flag. + """ + result = runner.invoke(app, ["scrub", EXAMPLES_DIR, "-r"]) + + assert result.exit_code != 0 + + +def test_scrub_command_requires_recursive_with_ext(): + """ + Test that --extension requires --recursive flag. + """ + result = runner.invoke(app, ["scrub", JPG_TEST_FILE, "-ext", "jpg"]) + + assert result.exit_code != 0 From d652f7f19c8d00ff63dd13aaffc73c363106afd5 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Tue, 6 Jan 2026 23:47:43 +0100 Subject: [PATCH 12/38] updated readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0228194f..bba2e38b 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ python -m src.main scrub ./photos/ -r -ext jpg --dry-run |---------|---------| | `read` | `-r` / `--recursive`, `-ext` / `--extension` | | `scrub` | `-r`, `-ext`, `-o` / `--output`, `-d` / `--dry-run`, `-w` / `--workers` | -| Global | `-v` / `--verbose` | +| Global | `-V` / `--verbose`, `-v` / `--version` | ## 🏗️ Architecture From fc1cf236c6bd36ebba24e03dc6d52a093535fc83 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Tue, 6 Jan 2026 23:58:07 +0100 Subject: [PATCH 13/38] metadata-srubber-tool: added test file directory and modified test to use it --- examples/test_images/test_metadata.png | Bin 572 -> 0 bytes tests/assets/test_images/generated_test_03.png | Bin 0 -> 514 bytes tests/assets/test_images/generated_test_04.png | Bin 0 -> 514 bytes tests/assets/test_images/generated_test_05.png | Bin 0 -> 514 bytes .../assets}/test_images/test_canon.jpg | Bin .../assets}/test_images/test_fuji.jpg | Bin tests/e2e/test_read_command.py | 4 ++-- tests/e2e/test_scrub_command.py | 7 +++---- tests/integration/test_metadata_factory.py | 5 ++--- tests/unit/test_image_handler.py | 4 ++-- 10 files changed, 9 insertions(+), 11 deletions(-) delete mode 100644 examples/test_images/test_metadata.png create mode 100644 tests/assets/test_images/generated_test_03.png create mode 100644 tests/assets/test_images/generated_test_04.png create mode 100644 tests/assets/test_images/generated_test_05.png rename {examples => tests/assets}/test_images/test_canon.jpg (100%) rename {examples => tests/assets}/test_images/test_fuji.jpg (100%) diff --git a/examples/test_images/test_metadata.png b/examples/test_images/test_metadata.png deleted file mode 100644 index 55aa11f8447e5f20fa0802de7b48bfcccbf8d4cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 572 zcmY+BzfT)66vs`4gme;!fr+J-7(C@nf&j(315qxJs3bxVsTsNWOk(AJ)#s2S8weyi zbY`i<-l6{h0}>Mhe*ps$e?iv{MeyztMeShweV@Pn*naQZeq(pmSTqnqv$d*o0PB1< zreH$rSND&wd}x2(brAabeW?U$uI6kt(3UIHm}wBhL4>T$GFszgTAQ0NcY2b$mOKp;K8N^wd5}aFf&nC6N?Fhyy zsXT5*k&oBR)gl3g@{ZYovoj`uvPoC#m{B?y49vlb8L18}mdjELT1Fwxm~K1jYnu=QkI^2VkmJ7cbFRm!@I_Xzgci*r1sukf#~D|` z)sf2N2!ANP=3=CLxv}4sKCZgzM4VbQyAX1@I~QZSMgL=sjQ_k8{-4{S09iPxCx}T$ YL(kNsJLj3RnE(I) diff --git a/tests/assets/test_images/generated_test_03.png b/tests/assets/test_images/generated_test_03.png new file mode 100644 index 0000000000000000000000000000000000000000..55c0f9bbfa9d71b110ca4bf160f976de6c341fa1 GIT binary patch literal 514 zcmeAS@N?(olHy`uVBq!ia0vp^DImokksN51qfTg zIAr6J?Lc`mki1K3adJ^+K}lwQ9z;=QZen_>LSAWZQfiTcu|isYkwR{2Nn%Q3NumN! zX=zeYW?uRuql&vg6O=$E1m~xflqVLYG6Yltt;$mf@bpmtTj!pdms*rql3&z!gi8mg zS{|g@IlrK?C^J2ygaOV{FfuSQfoL&aVf(uPs8j;1v?w(ZGd&bW;>myk<+5$rx cW}p4*bDL?N=l&NQKwmR>y85}Sb4q9e0LsgNvH$=8 literal 0 HcmV?d00001 diff --git a/tests/assets/test_images/generated_test_04.png b/tests/assets/test_images/generated_test_04.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9fe76738e848003a270aade828d805013a573c GIT binary patch literal 514 zcmeAS@N?(olHy`uVBq!ia0vp^DImokksN51qfTg zRt527eDH!(d`A+IzyDYZz!L?JD|NFg`1BrzqiBvApV zv@|IxGcWzJmj5cC2}&Rng7ec#$`gxH83HPSR^=%Kc={-St#eP!OD#$)$uH_V!leUL zEe}%doL^8`l$oAU!T@I}7#SFuK(v^cMdn=wDwO~$ElN!Uxl17=GdGn1q)6AmP}jh; zl(7Wl?^m8Kjv*Cu-d-{kWKa}fajfY4afpZO{vqFcviT-kfA85n<7b=okt`c+fuRkv b&;Fei$`pAqZpJa7uNgdD{an^LB{Ts5O?H3- literal 0 HcmV?d00001 diff --git a/tests/assets/test_images/generated_test_05.png b/tests/assets/test_images/generated_test_05.png new file mode 100644 index 0000000000000000000000000000000000000000..3a870f81076d4874016b7509ccfbde23076cf3c5 GIT binary patch literal 514 zcmeAS@N?(olHy`uVBq!ia0vp^DImokksN51qfTg zbnhj`CZN0-NZuv2IJqdZpd>Rt527eDH!(d`A+IzyDYZz!R3R)ccGQi~Ex@{9V8aOnV5 z%Y#%q=ND8KWu|A8Fu+*~Mg~SE5G|&TadECdr4nGJMX8A(cPWHq=B6@$6zLim>Kd56 z;ZWTGRP)Ny#WAE}&f80df((iRERGey9nO4i_Ye8rlg&5T`g`u~89&>sk7U_s3k+?T befBTcYbM!qks<$pzGm=r^>bP0l+XkKlF5Ef literal 0 HcmV?d00001 diff --git a/examples/test_images/test_canon.jpg b/tests/assets/test_images/test_canon.jpg similarity index 100% rename from examples/test_images/test_canon.jpg rename to tests/assets/test_images/test_canon.jpg diff --git a/examples/test_images/test_fuji.jpg b/tests/assets/test_images/test_fuji.jpg similarity index 100% rename from examples/test_images/test_fuji.jpg rename to tests/assets/test_images/test_fuji.jpg diff --git a/tests/e2e/test_read_command.py b/tests/e2e/test_read_command.py index 2911bf11..840461b4 100644 --- a/tests/e2e/test_read_command.py +++ b/tests/e2e/test_read_command.py @@ -8,8 +8,8 @@ from src.main import app runner = CliRunner() # Test file paths -JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\DSCN0012.jpg" -PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_45.png" +JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\test_fuji.jpg" +PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_03.png" TEST_DIR = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images" diff --git a/tests/e2e/test_scrub_command.py b/tests/e2e/test_scrub_command.py index 4941bf37..21bcc28a 100644 --- a/tests/e2e/test_scrub_command.py +++ b/tests/e2e/test_scrub_command.py @@ -13,10 +13,9 @@ from src.main import app runner = CliRunner() -# Test file paths - use examples folder for faster tests (fewer files) -JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\DSCN0012.jpg" -PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_45.png" -# Use examples folder (small) instead of full test_images folder (100+ files) +# Test file paths +JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\test_fuji.jpg" +PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_03.png" EXAMPLES_DIR = ( r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images" ) diff --git a/tests/integration/test_metadata_factory.py b/tests/integration/test_metadata_factory.py index c3cec054..db9656b6 100644 --- a/tests/integration/test_metadata_factory.py +++ b/tests/integration/test_metadata_factory.py @@ -7,9 +7,8 @@ from src.services.metadata_factory import MetadataFactory from src.utils.exceptions import MetadataNotFoundError # Test file paths -JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\DSCN0012.jpg" -PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_45.png" - +JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\test_fuji.jpg" +PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_03.png" # ============== success Case Tests ============== diff --git a/tests/unit/test_image_handler.py b/tests/unit/test_image_handler.py index 862685bc..4bf31419 100644 --- a/tests/unit/test_image_handler.py +++ b/tests/unit/test_image_handler.py @@ -7,8 +7,8 @@ from src.services.image_handler import ImageHandler from src.utils.exceptions import MetadataNotFoundError, UnsupportedFormatError # Test file paths -JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\DSCN0012.jpg" -PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_45.png" +JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\test_fuji.jpg" +PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_03.png" # ============== success Case Tests ============== From aabecd547f67d1b4128e5449bad0c1fd86ed0818 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Wed, 7 Jan 2026 14:38:16 +0100 Subject: [PATCH 14/38] 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. --- .env.example | 5 - pyrightconfig.json | 8 + src/commands/read.py | 2 +- src/core/jpeg_metadata.py | 28 ++- src/core/png_metadata.py | 16 +- src/main.py | 8 +- src/services/batch_processor.py | 24 +-- src/services/image_handler.py | 23 +-- src/services/metadata_handler.py | 10 +- src/utils/display.py | 4 +- src/utils/get_target_files.py | 2 +- typings/piexif/__init__.pyi | 15 ++ typings/piexif/_common.pyi | 24 +++ typings/piexif/_dump.pyi | 20 ++ typings/piexif/_exceptions.pyi | 8 + typings/piexif/_exif.pyi | 341 +++++++++++++++++++++++++++++++ typings/piexif/_insert.pyi | 17 ++ typings/piexif/_load.pyi | 32 +++ typings/piexif/_remove.pyi | 16 ++ typings/piexif/_transplant.pyi | 17 ++ typings/piexif/_webp.pyi | 28 +++ typings/piexif/helper.pyi | 44 ++++ 22 files changed, 635 insertions(+), 57 deletions(-) delete mode 100644 .env.example create mode 100644 pyrightconfig.json create mode 100644 typings/piexif/__init__.pyi create mode 100644 typings/piexif/_common.pyi create mode 100644 typings/piexif/_dump.pyi create mode 100644 typings/piexif/_exceptions.pyi create mode 100644 typings/piexif/_exif.pyi create mode 100644 typings/piexif/_insert.pyi create mode 100644 typings/piexif/_load.pyi create mode 100644 typings/piexif/_remove.pyi create mode 100644 typings/piexif/_transplant.pyi create mode 100644 typings/piexif/_webp.pyi create mode 100644 typings/piexif/helper.pyi diff --git a/.env.example b/.env.example deleted file mode 100644 index 6a81f92b..00000000 --- a/.env.example +++ /dev/null @@ -1,5 +0,0 @@ -# Environment Variables Example -# Copy this file to .env and fill in your values - -# Example: -# API_KEY=your_api_key_here diff --git a/pyrightconfig.json b/pyrightconfig.json new file mode 100644 index 00000000..848796cb --- /dev/null +++ b/pyrightconfig.json @@ -0,0 +1,8 @@ +{ + "stubPath": "./typings", + "reportMissingTypeStubs": false, + "venvPath": ".", + "venv": ".venv", + "pythonVersion": "3.12", + "typeCheckingMode": "standard", +} diff --git a/src/commands/read.py b/src/commands/read.py index 1c2d3ba5..01ba37ff 100644 --- a/src/commands/read.py +++ b/src/commands/read.py @@ -36,7 +36,7 @@ def read( raise typer.BadParameter("If you provide --recursive or -r, you must also provide --extension or -ext.") if ext and not recursive: raise typer.BadParameter("If you provide --extension or -ext, you must also provide --recursive or -r.") - + for file in get_target_files(file_path, ext) if recursive else [file_path]: try: # Get the correct object from the factory diff --git a/src/core/jpeg_metadata.py b/src/core/jpeg_metadata.py index 1b4f3c41..29962176 100644 --- a/src/core/jpeg_metadata.py +++ b/src/core/jpeg_metadata.py @@ -5,10 +5,23 @@ This module provides the JpegProcessor class which handles EXIF metadata extraction and manipulation for JPEG images using the piexif library. """ -import piexif # pyright: ignore[reportMissingTypeStubs] +from typing import TypedDict + +import piexif +from PIL import Image from src.utils.exceptions import MetadataNotFoundError, MetadataProcessingError +# Type alias for EXIF tag values (strings, bytes, ints, tuples, or lists) +ExifValue = str | bytes | int | tuple[object, ...] | list[object] + + +class JpegMetadataResult(TypedDict): + """Return type for JpegProcessor.get_metadata().""" + + data: dict[str, ExifValue] + tags_to_delete: list[int] + class JpegProcessor: """ @@ -24,10 +37,10 @@ class JpegProcessor: def __init__(self): """Initialize the JPEG processor with empty data structures.""" - self.tags_to_delete = [] - self.data = {} + self.tags_to_delete: list[int] = [] + self.data: dict[str, ExifValue] = {} - def get_metadata(self, img): + def get_metadata(self, img: Image.Image) -> JpegMetadataResult: """ Extract EXIF metadata from a JPEG image. @@ -51,10 +64,11 @@ class JpegProcessor: # Iterate through the IFD for tag, tag_value in exif_dict[ifd].items(): - tag_info = piexif.TAGS[ifd].get(tag, {}) + ifd_tags = piexif.TAGS.get(ifd, {}) + tag_info = ifd_tags.get(tag, {}) if isinstance(ifd_tags, dict) else {} # Get the human-readable name for the tag - tag_name = ( + tag_name = str( tag_info.get("name", "Unknown Tag") if tag_info else "Unknown Tag" ) @@ -72,7 +86,7 @@ class JpegProcessor: return {"data": self.data, "tags_to_delete": self.tags_to_delete} - def delete_metadata(self, img, tags_to_delete): + def delete_metadata(self, img: Image.Image, tags_to_delete: list[int]): """ Remove specified EXIF tags from a JPEG image. diff --git a/src/core/png_metadata.py b/src/core/png_metadata.py index f240a472..2362d7b5 100644 --- a/src/core/png_metadata.py +++ b/src/core/png_metadata.py @@ -6,7 +6,7 @@ extraction and manipulation for PNG images, including both EXIF data and PNG textual metadata (PngInfo chunks). """ -from typing import Any, Dict, List, Optional +from typing import Any from PIL import ExifTags, PngImagePlugin from PIL.Image import Exif, Image @@ -44,11 +44,11 @@ class PngProcessor: def __init__(self): """Initialize the PNG processor with empty data structures.""" - self.tags_to_delete: List[int] = [] - self.text_keys_to_delete: List[str] = [] - self.data: Dict[str, Any] = {} + self.tags_to_delete: list[int] = [] + self.text_keys_to_delete: list[str] = [] + self.data: dict[str, Any] = {} - def get_metadata(self, img: Image) -> Dict[str, Any]: + def get_metadata(self, img: Image) -> dict[str, Any]: """ Extract metadata from a PNG image. @@ -112,7 +112,7 @@ class PngProcessor: "text_keys": self.text_keys_to_delete, } - def delete_metadata(self, img: Image, tags_to_delete: List[int]) -> Exif: + def delete_metadata(self, img: Image, tags_to_delete: list[int]) -> Exif: """ Remove EXIF tags from a PNG image. @@ -143,8 +143,8 @@ class PngProcessor: raise MetadataProcessingError(f"Error processing PNG EXIF: {str(e)}") def get_clean_pnginfo( - self, img: Image, keys_to_remove: Optional[List[str]] = None - ) -> Optional[PngImagePlugin.PngInfo]: + self, img: Image, keys_to_remove: list[str] | None = None + ) -> PngImagePlugin.PngInfo | None: """ Create a new PngInfo with sensitive keys removed. diff --git a/src/main.py b/src/main.py index 3c8d98a9..2c5543c8 100644 --- a/src/main.py +++ b/src/main.py @@ -50,10 +50,10 @@ def main( help="Show detailed debug logs for every file processed.", ), version: bool = typer.Option( - None, - "--version", - "-v", - callback=version_callback, + None, + "--version", + "-v", + callback=version_callback, is_eager=True, help="Show the application version and exit." ), diff --git a/src/services/batch_processor.py b/src/services/batch_processor.py index a4ad2d0f..0f4543f2 100644 --- a/src/services/batch_processor.py +++ b/src/services/batch_processor.py @@ -10,10 +10,10 @@ of large batches (1000+ files). import logging import threading +from collections.abc import Callable, Iterable from concurrent.futures import ThreadPoolExecutor, as_completed from dataclasses import dataclass, field from pathlib import Path -from typing import Callable, Iterable, List, Optional from rich.console import Console @@ -30,8 +30,8 @@ class FileResult: filepath: Path success: bool action: str # "scrubbed", "skipped", "dry-run" - output_path: Optional[Path] = None - error: Optional[str] = None + output_path: Path | None = None + error: str | None = None @dataclass @@ -43,8 +43,8 @@ class BatchSummary: skipped: int = 0 failed: int = 0 dry_run: bool = False - output_dir: Optional[Path] = None - results: List[FileResult] = field(default_factory=list) + output_dir: Path | None = None + results: list[FileResult] = field(default_factory=list) class BatchProcessor: @@ -58,7 +58,7 @@ class BatchProcessor: def __init__( self, - output_dir: Optional[str] = None, + output_dir: str | None = None, dry_run: bool = False, max_workers: int = 4, ): @@ -73,7 +73,7 @@ class BatchProcessor: self.output_dir = Path(output_dir) if output_dir else Path("./scrubbed") self.dry_run = dry_run self.max_workers = max_workers - self.results: List[FileResult] = [] + self.results: list[FileResult] = [] # Thread synchronization self._path_lock = threading.Lock() # Protects unique path generation @@ -92,7 +92,7 @@ class BatchProcessor: Returns: FileResult with success status and details. """ - output_path: Optional[Path] = None # Track reserved path for cleanup + output_path: Path | None = None # Track reserved path for cleanup try: # Dry-run mode: just report what would happen @@ -151,8 +151,8 @@ class BatchProcessor: def process_batch( self, files: Iterable[Path], - progress_callback: Optional[Callable[[FileResult], None]] = None, - ) -> List[FileResult]: + progress_callback: Callable[[FileResult], None] | None = None, + ) -> list[FileResult]: """ Process multiple files concurrently using ThreadPoolExecutor. @@ -184,7 +184,7 @@ class BatchProcessor: return self.results - def process_batch_sequential(self, files: Iterable[Path]) -> List[FileResult]: + def process_batch_sequential(self, files: Iterable[Path]) -> list[FileResult]: """ Process files sequentially (legacy behavior for debugging). @@ -228,7 +228,7 @@ class BatchProcessor: with self._results_lock: self.results.append(result) - def _cleanup_reserved_path(self, output_path: Optional[Path]) -> None: + def _cleanup_reserved_path(self, output_path: Path | None) -> None: """ Remove empty placeholder file created during path reservation. diff --git a/src/services/image_handler.py b/src/services/image_handler.py index ede104a9..07d52a57 100644 --- a/src/services/image_handler.py +++ b/src/services/image_handler.py @@ -8,7 +8,7 @@ format-specific processors (JpegProcessor, PngProcessor). import shutil from pathlib import Path -from typing import Optional +from typing import Any, cast import piexif # pyright: ignore[reportMissingTypeStubs] from PIL import Image @@ -48,13 +48,13 @@ class ImageHandler(MetadataHandler): filepath: Path to the image file to process. """ super().__init__(filepath) - self.processors = { + self.processors: dict[str, JpegProcessor | PngProcessor] = { "jpeg": JpegProcessor(), "png": PngProcessor(), } - self.tags_to_delete = [] - self.detected_format: Optional[str] = None - self.text_keys_to_delete = [] + self.tags_to_delete: list[int] = [] + self.detected_format: str | None = None + self.text_keys_to_delete: list[str] = [] def _detect_format(self) -> str: """ @@ -101,7 +101,8 @@ class ImageHandler(MetadataHandler): self.metadata = result["data"] self.tags_to_delete = result["tags_to_delete"] # Store text keys for PNG processing - self.text_keys_to_delete = result.get("text_keys", []) + if isinstance(result, PngProcessor): + self.text_keys_to_delete = result.get("text_keys", []) return self.metadata def wipe(self) -> None: @@ -120,18 +121,16 @@ class ImageHandler(MetadataHandler): raise UnsupportedFormatError(f"Unsupported format: {self.detected_format}") with Image.open(Path(self.filepath)) as img: - self.processed_metadata = processor.delete_metadata( - img, self.tags_to_delete + self.processed_metadata = cast( + dict[str, Any], processor.delete_metadata(img, self.tags_to_delete) ) # For PNG, also get clean PngInfo - if self.detected_format == "png" and hasattr( - processor, "get_clean_pnginfo" - ): + if isinstance(processor, PngProcessor): self.clean_pnginfo = processor.get_clean_pnginfo( img, self.text_keys_to_delete ) - def save(self, output_path: Optional[str | Path] = None) -> None: + def save(self, output_path: str | Path | None = None) -> None: """ Writes the changes to a copy of the original file. diff --git a/src/services/metadata_handler.py b/src/services/metadata_handler.py index dea9b48b..8d0e94f0 100644 --- a/src/services/metadata_handler.py +++ b/src/services/metadata_handler.py @@ -7,7 +7,7 @@ must implement the read, wipe, and save methods. """ from abc import ABC, abstractmethod -from typing import Any, Dict, Optional +from typing import Any class MetadataHandler(ABC): @@ -32,11 +32,11 @@ class MetadataHandler(ABC): filepath: Path to the file to process. """ self.filepath = filepath - self.metadata: Dict[str, Any] = {} - self.processed_metadata: Dict[str, Any] = {} + self.metadata: dict[str, Any] = {} + self.processed_metadata: dict[str, Any] = {} @abstractmethod - def read(self) -> Dict[str, Any]: + def read(self) -> dict[str, Any]: """ Extract metadata from the file. @@ -61,7 +61,7 @@ class MetadataHandler(ABC): pass @abstractmethod - def save(self, output_path: Optional[str] = None) -> None: + def save(self, output_path: str | None = None) -> None: """ Save the processed file with cleaned metadata. diff --git a/src/utils/display.py b/src/utils/display.py index dfb7d657..ccf0fc33 100644 --- a/src/utils/display.py +++ b/src/utils/display.py @@ -5,7 +5,7 @@ This module provides functions for displaying metadata and batch processing results in beautifully formatted tables and panels using the Rich library. """ -from typing import Any, Dict +from typing import Any from rich import box from rich.console import Console @@ -18,7 +18,7 @@ from src.utils.formatter import clean_value console = Console() -def print_metadata_table(metadata: Dict[str, Any]): +def print_metadata_table(metadata: dict[str, Any]): """ Display metadata in a formatted table organized by logical groups. diff --git a/src/utils/get_target_files.py b/src/utils/get_target_files.py index 89a3d9b8..43ac4132 100644 --- a/src/utils/get_target_files.py +++ b/src/utils/get_target_files.py @@ -5,8 +5,8 @@ This module provides functions to find and yield files for processing, supporting recursive directory traversal with extension filtering. """ +from collections.abc import Generator from pathlib import Path -from typing import Generator def get_target_files(input_path_str: Path, ext: str) -> Generator[Path, None, None]: diff --git a/typings/piexif/__init__.pyi b/typings/piexif/__init__.pyi new file mode 100644 index 00000000..580fd2c3 --- /dev/null +++ b/typings/piexif/__init__.pyi @@ -0,0 +1,15 @@ +""" +This type stub file was generated by pyright. +""" + +from ._dump import dump as dump +from ._exceptions import * +from ._exif import * +from ._insert import insert as insert +from ._load import load as load +from ._remove import remove as remove +from ._transplant import transplant as transplant + +__all__ = ["remove", "load", "dump", "transplant", "insert", "VERSION"] + +VERSION: str diff --git a/typings/piexif/_common.pyi b/typings/piexif/_common.pyi new file mode 100644 index 00000000..d44b14ea --- /dev/null +++ b/typings/piexif/_common.pyi @@ -0,0 +1,24 @@ +""" +This type stub file was generated by pyright. +""" + +def split_into_segments(data): # -> list[bytes]: + """Slices JPEG meta data into a list from JPEG binary data. + """ + ... + +def read_exif_from_file(filename): # -> bytes | None: + """Slices JPEG meta data into a list from JPEG binary data. + """ + ... + +def get_exif_seg(segments): # -> None: + """Returns Exif from JPEG meta data list + """ + ... + +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 new file mode 100644 index 00000000..43701355 --- /dev/null +++ b/typings/piexif/_dump.pyi @@ -0,0 +1,20 @@ +""" +This type stub file was generated by pyright. +""" + +from ._common import * +from ._exif import * + +TIFF_HEADER_LENGTH = ... +def dump(exif_dict_original): # -> bytes: + """ + py:function:: piexif.load(data) + + Return exif as bytes. + + :param dict exif: Exif data({"0th":dict, "Exif":dict, "GPS":dict, "Interop":dict, "1st":dict, "thumbnail":bytes}) + :return: Exif + :rtype: bytes + """ + ... + diff --git a/typings/piexif/_exceptions.pyi b/typings/piexif/_exceptions.pyi new file mode 100644 index 00000000..7f1d5b52 --- /dev/null +++ b/typings/piexif/_exceptions.pyi @@ -0,0 +1,8 @@ +""" +This type stub file was generated by pyright. +""" + +class InvalidImageDataError(ValueError): + ... + + diff --git a/typings/piexif/_exif.pyi b/typings/piexif/_exif.pyi new file mode 100644 index 00000000..6612462d --- /dev/null +++ b/typings/piexif/_exif.pyi @@ -0,0 +1,341 @@ +""" +Type stubs for piexif EXIF tag definitions. +""" + +from typing import Final + +class TYPES: + """EXIF data type identifiers.""" + + Byte: Final[int] = ... + Ascii: Final[int] = ... + Short: Final[int] = ... + Long: Final[int] = ... + Rational: Final[int] = ... + SByte: Final[int] = ... + Undefined: Final[int] = ... + SShort: Final[int] = ... + SLong: Final[int] = ... + SRational: Final[int] = ... + Float: Final[int] = ... + DFloat: Final[int] = ... + +TAGS: dict[str, dict[int, dict[str, str | int]]] + +class ImageIFD: + """Exif tag number reference - 0th IFD""" + + ProcessingSoftware: Final[int] = ... + NewSubfileType: Final[int] = ... + SubfileType: Final[int] = ... + ImageWidth: Final[int] = ... + ImageLength: Final[int] = ... + BitsPerSample: Final[int] = ... + Compression: Final[int] = ... + PhotometricInterpretation: Final[int] = ... + Threshholding: Final[int] = ... + CellWidth: Final[int] = ... + CellLength: Final[int] = ... + FillOrder: Final[int] = ... + DocumentName: Final[int] = ... + ImageDescription: Final[int] = ... + Make: Final[int] = ... + Model: Final[int] = ... + StripOffsets: Final[int] = ... + Orientation: Final[int] = ... + SamplesPerPixel: Final[int] = ... + RowsPerStrip: Final[int] = ... + StripByteCounts: Final[int] = ... + XResolution: Final[int] = ... + YResolution: Final[int] = ... + PlanarConfiguration: Final[int] = ... + GrayResponseUnit: Final[int] = ... + GrayResponseCurve: Final[int] = ... + T4Options: Final[int] = ... + T6Options: Final[int] = ... + ResolutionUnit: Final[int] = ... + TransferFunction: Final[int] = ... + Software: Final[int] = ... + DateTime: Final[int] = ... + Artist: Final[int] = ... + HostComputer: Final[int] = ... + Predictor: Final[int] = ... + WhitePoint: Final[int] = ... + PrimaryChromaticities: Final[int] = ... + ColorMap: Final[int] = ... + HalftoneHints: Final[int] = ... + TileWidth: Final[int] = ... + TileLength: Final[int] = ... + TileOffsets: Final[int] = ... + TileByteCounts: Final[int] = ... + SubIFDs: Final[int] = ... + InkSet: Final[int] = ... + InkNames: Final[int] = ... + NumberOfInks: Final[int] = ... + DotRange: Final[int] = ... + TargetPrinter: Final[int] = ... + ExtraSamples: Final[int] = ... + SampleFormat: Final[int] = ... + SMinSampleValue: Final[int] = ... + SMaxSampleValue: Final[int] = ... + TransferRange: Final[int] = ... + ClipPath: Final[int] = ... + XClipPathUnits: Final[int] = ... + YClipPathUnits: Final[int] = ... + Indexed: Final[int] = ... + JPEGTables: Final[int] = ... + OPIProxy: Final[int] = ... + JPEGProc: Final[int] = ... + JPEGInterchangeFormat: Final[int] = ... + JPEGInterchangeFormatLength: Final[int] = ... + JPEGRestartInterval: Final[int] = ... + JPEGLosslessPredictors: Final[int] = ... + JPEGPointTransforms: Final[int] = ... + JPEGQTables: Final[int] = ... + JPEGDCTables: Final[int] = ... + JPEGACTables: Final[int] = ... + YCbCrCoefficients: Final[int] = ... + YCbCrSubSampling: Final[int] = ... + YCbCrPositioning: Final[int] = ... + ReferenceBlackWhite: Final[int] = ... + XMLPacket: Final[int] = ... + Rating: Final[int] = ... + RatingPercent: Final[int] = ... + ImageID: Final[int] = ... + CFARepeatPatternDim: Final[int] = ... + CFAPattern: Final[int] = ... + BatteryLevel: Final[int] = ... + Copyright: Final[int] = ... + ExposureTime: Final[int] = ... + ImageResources: Final[int] = ... + ExifTag: Final[int] = ... + InterColorProfile: Final[int] = ... + GPSTag: Final[int] = ... + Interlace: Final[int] = ... + TimeZoneOffset: Final[int] = ... + SelfTimerMode: Final[int] = ... + FlashEnergy: Final[int] = ... + SpatialFrequencyResponse: Final[int] = ... + Noise: Final[int] = ... + FocalPlaneXResolution: Final[int] = ... + FocalPlaneYResolution: Final[int] = ... + FocalPlaneResolutionUnit: Final[int] = ... + ImageNumber: Final[int] = ... + SecurityClassification: Final[int] = ... + ImageHistory: Final[int] = ... + ExposureIndex: Final[int] = ... + TIFFEPStandardID: Final[int] = ... + SensingMethod: Final[int] = ... + XPTitle: Final[int] = ... + XPComment: Final[int] = ... + XPAuthor: Final[int] = ... + XPKeywords: Final[int] = ... + XPSubject: Final[int] = ... + PrintImageMatching: Final[int] = ... + DNGVersion: Final[int] = ... + DNGBackwardVersion: Final[int] = ... + UniqueCameraModel: Final[int] = ... + LocalizedCameraModel: Final[int] = ... + CFAPlaneColor: Final[int] = ... + CFALayout: Final[int] = ... + LinearizationTable: Final[int] = ... + BlackLevelRepeatDim: Final[int] = ... + BlackLevel: Final[int] = ... + BlackLevelDeltaH: Final[int] = ... + BlackLevelDeltaV: Final[int] = ... + WhiteLevel: Final[int] = ... + DefaultScale: Final[int] = ... + DefaultCropOrigin: Final[int] = ... + DefaultCropSize: Final[int] = ... + ColorMatrix1: Final[int] = ... + ColorMatrix2: Final[int] = ... + CameraCalibration1: Final[int] = ... + CameraCalibration2: Final[int] = ... + ReductionMatrix1: Final[int] = ... + ReductionMatrix2: Final[int] = ... + AnalogBalance: Final[int] = ... + AsShotNeutral: Final[int] = ... + AsShotWhiteXY: Final[int] = ... + BaselineExposure: Final[int] = ... + BaselineNoise: Final[int] = ... + BaselineSharpness: Final[int] = ... + BayerGreenSplit: Final[int] = ... + LinearResponseLimit: Final[int] = ... + CameraSerialNumber: Final[int] = ... + LensInfo: Final[int] = ... + ChromaBlurRadius: Final[int] = ... + AntiAliasStrength: Final[int] = ... + ShadowScale: Final[int] = ... + DNGPrivateData: Final[int] = ... + MakerNoteSafety: Final[int] = ... + CalibrationIlluminant1: Final[int] = ... + CalibrationIlluminant2: Final[int] = ... + BestQualityScale: Final[int] = ... + RawDataUniqueID: Final[int] = ... + OriginalRawFileName: Final[int] = ... + OriginalRawFileData: Final[int] = ... + ActiveArea: Final[int] = ... + MaskedAreas: Final[int] = ... + AsShotICCProfile: Final[int] = ... + AsShotPreProfileMatrix: Final[int] = ... + CurrentICCProfile: Final[int] = ... + CurrentPreProfileMatrix: Final[int] = ... + ColorimetricReference: Final[int] = ... + CameraCalibrationSignature: Final[int] = ... + ProfileCalibrationSignature: Final[int] = ... + AsShotProfileName: Final[int] = ... + NoiseReductionApplied: Final[int] = ... + ProfileName: Final[int] = ... + ProfileHueSatMapDims: Final[int] = ... + ProfileHueSatMapData1: Final[int] = ... + ProfileHueSatMapData2: Final[int] = ... + ProfileToneCurve: Final[int] = ... + ProfileEmbedPolicy: Final[int] = ... + ProfileCopyright: Final[int] = ... + ForwardMatrix1: Final[int] = ... + ForwardMatrix2: Final[int] = ... + PreviewApplicationName: Final[int] = ... + PreviewApplicationVersion: Final[int] = ... + PreviewSettingsName: Final[int] = ... + PreviewSettingsDigest: Final[int] = ... + PreviewColorSpace: Final[int] = ... + PreviewDateTime: Final[int] = ... + RawImageDigest: Final[int] = ... + OriginalRawFileDigest: Final[int] = ... + SubTileBlockSize: Final[int] = ... + RowInterleaveFactor: Final[int] = ... + ProfileLookTableDims: Final[int] = ... + ProfileLookTableData: Final[int] = ... + OpcodeList1: Final[int] = ... + OpcodeList2: Final[int] = ... + OpcodeList3: Final[int] = ... + NoiseProfile: Final[int] = ... + ZZZTestSlong1: Final[int] = ... + ZZZTestSlong2: Final[int] = ... + ZZZTestSByte: Final[int] = ... + ZZZTestSShort: Final[int] = ... + ZZZTestDFloat: Final[int] = ... + +class ExifIFD: + """Exif tag number reference - Exif IFD""" + + ExposureTime: Final[int] = ... + FNumber: Final[int] = ... + ExposureProgram: Final[int] = ... + SpectralSensitivity: Final[int] = ... + ISOSpeedRatings: Final[int] = ... + OECF: Final[int] = ... + SensitivityType: Final[int] = ... + StandardOutputSensitivity: Final[int] = ... + RecommendedExposureIndex: Final[int] = ... + ISOSpeed: Final[int] = ... + ISOSpeedLatitudeyyy: Final[int] = ... + ISOSpeedLatitudezzz: Final[int] = ... + ExifVersion: Final[int] = ... + DateTimeOriginal: Final[int] = ... + DateTimeDigitized: Final[int] = ... + OffsetTime: Final[int] = ... + OffsetTimeOriginal: Final[int] = ... + OffsetTimeDigitized: Final[int] = ... + ComponentsConfiguration: Final[int] = ... + CompressedBitsPerPixel: Final[int] = ... + ShutterSpeedValue: Final[int] = ... + ApertureValue: Final[int] = ... + BrightnessValue: Final[int] = ... + ExposureBiasValue: Final[int] = ... + MaxApertureValue: Final[int] = ... + SubjectDistance: Final[int] = ... + MeteringMode: Final[int] = ... + LightSource: Final[int] = ... + Flash: Final[int] = ... + FocalLength: Final[int] = ... + Temperature: Final[int] = ... + Humidity: Final[int] = ... + Pressure: Final[int] = ... + WaterDepth: Final[int] = ... + Acceleration: Final[int] = ... + CameraElevationAngle: Final[int] = ... + SubjectArea: Final[int] = ... + MakerNote: Final[int] = ... + UserComment: Final[int] = ... + SubSecTime: Final[int] = ... + SubSecTimeOriginal: Final[int] = ... + SubSecTimeDigitized: Final[int] = ... + FlashpixVersion: Final[int] = ... + ColorSpace: Final[int] = ... + PixelXDimension: Final[int] = ... + PixelYDimension: Final[int] = ... + RelatedSoundFile: Final[int] = ... + InteroperabilityTag: Final[int] = ... + FlashEnergy: Final[int] = ... + SpatialFrequencyResponse: Final[int] = ... + FocalPlaneXResolution: Final[int] = ... + FocalPlaneYResolution: Final[int] = ... + FocalPlaneResolutionUnit: Final[int] = ... + SubjectLocation: Final[int] = ... + ExposureIndex: Final[int] = ... + SensingMethod: Final[int] = ... + FileSource: Final[int] = ... + SceneType: Final[int] = ... + CFAPattern: Final[int] = ... + CustomRendered: Final[int] = ... + ExposureMode: Final[int] = ... + WhiteBalance: Final[int] = ... + DigitalZoomRatio: Final[int] = ... + FocalLengthIn35mmFilm: Final[int] = ... + SceneCaptureType: Final[int] = ... + GainControl: Final[int] = ... + Contrast: Final[int] = ... + Saturation: Final[int] = ... + Sharpness: Final[int] = ... + DeviceSettingDescription: Final[int] = ... + SubjectDistanceRange: Final[int] = ... + ImageUniqueID: Final[int] = ... + CameraOwnerName: Final[int] = ... + BodySerialNumber: Final[int] = ... + LensSpecification: Final[int] = ... + LensMake: Final[int] = ... + LensModel: Final[int] = ... + LensSerialNumber: Final[int] = ... + Gamma: Final[int] = ... + +class GPSIFD: + """Exif tag number reference - GPS IFD""" + + GPSVersionID: Final[int] = ... + GPSLatitudeRef: Final[int] = ... + GPSLatitude: Final[int] = ... + GPSLongitudeRef: Final[int] = ... + GPSLongitude: Final[int] = ... + GPSAltitudeRef: Final[int] = ... + GPSAltitude: Final[int] = ... + GPSTimeStamp: Final[int] = ... + GPSSatellites: Final[int] = ... + GPSStatus: Final[int] = ... + GPSMeasureMode: Final[int] = ... + GPSDOP: Final[int] = ... + GPSSpeedRef: Final[int] = ... + GPSSpeed: Final[int] = ... + GPSTrackRef: Final[int] = ... + GPSTrack: Final[int] = ... + GPSImgDirectionRef: Final[int] = ... + GPSImgDirection: Final[int] = ... + GPSMapDatum: Final[int] = ... + GPSDestLatitudeRef: Final[int] = ... + GPSDestLatitude: Final[int] = ... + GPSDestLongitudeRef: Final[int] = ... + GPSDestLongitude: Final[int] = ... + GPSDestBearingRef: Final[int] = ... + GPSDestBearing: Final[int] = ... + GPSDestDistanceRef: Final[int] = ... + GPSDestDistance: Final[int] = ... + GPSProcessingMethod: Final[int] = ... + GPSAreaInformation: Final[int] = ... + GPSDateStamp: Final[int] = ... + GPSDifferential: Final[int] = ... + GPSHPositioningError: Final[int] = ... + +class InteropIFD: + """Exif tag number reference - Interoperability IFD""" + + InteroperabilityIndex: Final[int] = ... diff --git a/typings/piexif/_insert.pyi b/typings/piexif/_insert.pyi new file mode 100644 index 00000000..64c35198 --- /dev/null +++ b/typings/piexif/_insert.pyi @@ -0,0 +1,17 @@ +""" +This type stub file was generated by pyright. +""" + +from ._common import * + +def insert(exif, image, new_file=...): # -> None: + """ + py:function:: piexif.insert(exif_bytes, filename) + + Insert exif into JPEG. + + :param bytes exif_bytes: Exif as bytes + :param str filename: JPEG + """ + ... + diff --git a/typings/piexif/_load.pyi b/typings/piexif/_load.pyi new file mode 100644 index 00000000..85138c25 --- /dev/null +++ b/typings/piexif/_load.pyi @@ -0,0 +1,32 @@ +""" +This type stub file was generated by pyright. +""" + +from ._common import * +from ._exif import * + +LITTLE_ENDIAN = ... +def load(input_data, key_is_name=...): # -> dict[str, Any]: + """ + py:function:: piexif.load(filename) + + Return exif data as dict. Keys(IFD name), be contained, are "0th", "Exif", "GPS", "Interop", "1st", and "thumbnail". Without "thumbnail", the value is dict(tag name/tag value). "thumbnail" value is JPEG as bytes. + + :param str filename: JPEG or TIFF + :return: Exif data({"0th":dict, "Exif":dict, "GPS":dict, "Interop":dict, "1st":dict, "thumbnail":bytes}) + :rtype: dict + """ + ... + +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 new file mode 100644 index 00000000..6c6da59f --- /dev/null +++ b/typings/piexif/_remove.pyi @@ -0,0 +1,16 @@ +""" +This type stub file was generated by pyright. +""" + +from ._common import * + +def remove(src, new_file=...): # -> None: + """ + py:function:: piexif.remove(filename) + + Remove exif from JPEG. + + :param str filename: JPEG + """ + ... + diff --git a/typings/piexif/_transplant.pyi b/typings/piexif/_transplant.pyi new file mode 100644 index 00000000..90f2bb66 --- /dev/null +++ b/typings/piexif/_transplant.pyi @@ -0,0 +1,17 @@ +""" +This type stub file was generated by pyright. +""" + +from ._common import * + +def transplant(exif_src, image, new_file=...): # -> None: + """ + py:function:: piexif.transplant(filename1, filename2) + + Transplant exif from filename1 to filename2. + + :param str filename1: JPEG + :param str filename2: JPEG + """ + ... + diff --git a/typings/piexif/_webp.pyi b/typings/piexif/_webp.pyi new file mode 100644 index 00000000..373f9aea --- /dev/null +++ b/typings/piexif/_webp.pyi @@ -0,0 +1,28 @@ +""" +This type stub file was generated by pyright. +""" + +def split(data): # -> list[Any]: + ... + +def merge_chunks(chunks): # -> bytes: + ... + +def set_vp8x(chunks): + ... + +def get_file_header(chunks): # -> bytes: + ... + +def get_exif(data): # -> None: + ... + +def insert_exif_into_chunks(chunks, exif_bytes): + ... + +def insert(webp_bytes, exif_bytes): # -> bytes: + ... + +def remove(webp_bytes): # -> bytes: + ... + diff --git a/typings/piexif/helper.pyi b/typings/piexif/helper.pyi new file mode 100644 index 00000000..3579d439 --- /dev/null +++ b/typings/piexif/helper.pyi @@ -0,0 +1,44 @@ +""" +This type stub file was generated by pyright. +""" + +class UserComment: + ASCII = ... + JIS = ... + UNICODE = ... + ENCODINGS = ... + _JIS = ... + _UNICODE = ... + _PREFIX_SIZE = ... + _ASCII_PREFIX = ... + _JIS_PREFIX = ... + _UNICODE_PREFIX = ... + _UNDEFINED_PREFIX = ... + @classmethod + def load(cls, data): + """ + Convert "UserComment" value in exif format to str. + + :param bytes data: "UserComment" value from exif + :return: u"foobar" + :rtype: str(Unicode) + :raises: ValueError if the data does not conform to the EXIF specification, + or the encoding is unsupported. + """ + ... + + @classmethod + def dump(cls, data, encoding=...): + """ + Convert str to appropriate format for "UserComment". + + :param data: Like u"foobar" + :param str encoding: "ascii", "jis", or "unicode" + :return: b"ASCII\x00\x00\x00foobar" + :rtype: bytes + :raises: ValueError if the encoding is unsupported. + """ + ... + + + From 6487286caeb86415dec24906f28beae52989c101 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Wed, 7 Jan 2026 14:40:53 +0100 Subject: [PATCH 15/38] 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. """ ... - - - From f7476fea8efc138e3dee682517c6f04b5f1f4f63 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Wed, 7 Jan 2026 15:12:15 +0100 Subject: [PATCH 16/38] metadata-scrubber-tool: init prproject --- .python-version | 1 + main.py | 6 + pyproject.toml | 74 ++++++ uv.lock | 626 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 707 insertions(+) create mode 100644 .python-version create mode 100644 main.py create mode 100644 pyproject.toml create mode 100644 uv.lock diff --git a/.python-version b/.python-version new file mode 100644 index 00000000..6324d401 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.14 diff --git a/main.py b/main.py new file mode 100644 index 00000000..72921b84 --- /dev/null +++ b/main.py @@ -0,0 +1,6 @@ +def main(): + print("Hello from metadata-scrubber-tool!") + + +if __name__ == "__main__": + main() diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..90481daf --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,74 @@ +[project] +name = "metadata-scrubber-tool" +version = "0.1.0" +description = "A privacy-focused CLI tool that removes sensitive metadata from image files" +readme = "README.md" +requires-python = ">=3.10" +dependencies = [ + "typer>=0.21.0", + "rich>=14.0.0", + "pillow>=12.0.0", + "piexif>=1.1.3", +] + +[project.optional-dependencies] +dev = [ + "pytest>=9.0.0", + "pytest-cov>=6.0.0", + "mypy>=1.19.0", + "ruff>=0.14.0", +] + +[project.scripts] +mst = "src.main:app" +metadata-scrubber = "src.main:app" + + +# ============ THE BUILD SYSTEM ================ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +# ============ PACKAGE DISCOVERY ================= +[tool.hatch.build.targets.wheel] +packages = ["src"] + +# ============== Ruff Configuration ============== +[tool.ruff] +line-length = 88 +target-version = "py310" +extend-exclude = ["typings"] + +[tool.ruff.lint] +select = ["E", "F", "W", "I", "UP", "C4"] +ignore = ["E501"] # Line too long (handled by formatter) + +# ============== Pytest Configuration ============== +[tool.pytest.ini_options] +testpaths = ["tests"] +python_files = ["test_*.py"] +python_functions = ["test_*"] +addopts = "-v --tb=short" + +# ============== Coverage Configuration ============== +[tool.coverage.run] +source = ["src"] +branch = true +omit = ["*/__init__.py", "*/tests/*"] + +[tool.coverage.report] +exclude_lines = [ + "pragma: no cover", + "def __repr__", + "raise NotImplementedError", + "if __name__ == .__main__.:", +] +show_missing = true + +# ============== MyPy Configuration ============== +[tool.mypy] +python_version = "3.10" +warn_return_any = true +warn_unused_ignores = true +ignore_missing_imports = true + diff --git a/uv.lock b/uv.lock new file mode 100644 index 00000000..8e1a939e --- /dev/null +++ b/uv.lock @@ -0,0 +1,626 @@ +version = 1 +revision = 3 +requires-python = ">=3.10" + +[[package]] +name = "click" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "coverage" +version = "7.13.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/23/f9/e92df5e07f3fc8d4c7f9a0f146ef75446bf870351cd37b788cf5897f8079/coverage-7.13.1.tar.gz", hash = "sha256:b7593fe7eb5feaa3fbb461ac79aac9f9fc0387a5ca8080b0c6fe2ca27b091afd", size = 825862, upload-time = "2025-12-28T15:42:56.969Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/9a/3742e58fd04b233df95c012ee9f3dfe04708a5e1d32613bd2d47d4e1be0d/coverage-7.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e1fa280b3ad78eea5be86f94f461c04943d942697e0dac889fa18fff8f5f9147", size = 218633, upload-time = "2025-12-28T15:40:10.165Z" }, + { url = "https://files.pythonhosted.org/packages/7e/45/7e6bdc94d89cd7c8017ce735cf50478ddfe765d4fbf0c24d71d30ea33d7a/coverage-7.13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c3d8c679607220979434f494b139dfb00131ebf70bb406553d69c1ff01a5c33d", size = 219147, upload-time = "2025-12-28T15:40:12.069Z" }, + { url = "https://files.pythonhosted.org/packages/f7/38/0d6a258625fd7f10773fe94097dc16937a5f0e3e0cdf3adef67d3ac6baef/coverage-7.13.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:339dc63b3eba969067b00f41f15ad161bf2946613156fb131266d8debc8e44d0", size = 245894, upload-time = "2025-12-28T15:40:13.556Z" }, + { url = "https://files.pythonhosted.org/packages/27/58/409d15ea487986994cbd4d06376e9860e9b157cfbfd402b1236770ab8dd2/coverage-7.13.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:db622b999ffe49cb891f2fff3b340cdc2f9797d01a0a202a0973ba2562501d90", size = 247721, upload-time = "2025-12-28T15:40:15.37Z" }, + { url = "https://files.pythonhosted.org/packages/da/bf/6e8056a83fd7a96c93341f1ffe10df636dd89f26d5e7b9ca511ce3bcf0df/coverage-7.13.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1443ba9acbb593fa7c1c29e011d7c9761545fe35e7652e85ce7f51a16f7e08d", size = 249585, upload-time = "2025-12-28T15:40:17.226Z" }, + { url = "https://files.pythonhosted.org/packages/f4/15/e1daff723f9f5959acb63cbe35b11203a9df77ee4b95b45fffd38b318390/coverage-7.13.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c832ec92c4499ac463186af72f9ed4d8daec15499b16f0a879b0d1c8e5cf4a3b", size = 246597, upload-time = "2025-12-28T15:40:19.028Z" }, + { url = "https://files.pythonhosted.org/packages/74/a6/1efd31c5433743a6ddbc9d37ac30c196bb07c7eab3d74fbb99b924c93174/coverage-7.13.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:562ec27dfa3f311e0db1ba243ec6e5f6ab96b1edfcfc6cf86f28038bc4961ce6", size = 247626, upload-time = "2025-12-28T15:40:20.846Z" }, + { url = "https://files.pythonhosted.org/packages/6d/9f/1609267dd3e749f57fdd66ca6752567d1c13b58a20a809dc409b263d0b5f/coverage-7.13.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:4de84e71173d4dada2897e5a0e1b7877e5eefbfe0d6a44edee6ce31d9b8ec09e", size = 245629, upload-time = "2025-12-28T15:40:22.397Z" }, + { url = "https://files.pythonhosted.org/packages/e2/f6/6815a220d5ec2466383d7cc36131b9fa6ecbe95c50ec52a631ba733f306a/coverage-7.13.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:a5a68357f686f8c4d527a2dc04f52e669c2fc1cbde38f6f7eb6a0e58cbd17cae", size = 245901, upload-time = "2025-12-28T15:40:23.836Z" }, + { url = "https://files.pythonhosted.org/packages/ac/58/40576554cd12e0872faf6d2c0eb3bc85f71d78427946ddd19ad65201e2c0/coverage-7.13.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:77cc258aeb29a3417062758975521eae60af6f79e930d6993555eeac6a8eac29", size = 246505, upload-time = "2025-12-28T15:40:25.421Z" }, + { url = "https://files.pythonhosted.org/packages/3b/77/9233a90253fba576b0eee81707b5781d0e21d97478e5377b226c5b096c0f/coverage-7.13.1-cp310-cp310-win32.whl", hash = "sha256:bb4f8c3c9a9f34423dba193f241f617b08ffc63e27f67159f60ae6baf2dcfe0f", size = 221257, upload-time = "2025-12-28T15:40:27.217Z" }, + { url = "https://files.pythonhosted.org/packages/e0/43/e842ff30c1a0a623ec80db89befb84a3a7aad7bfe44a6ea77d5a3e61fedd/coverage-7.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:c8e2706ceb622bc63bac98ebb10ef5da80ed70fbd8a7999a5076de3afaef0fb1", size = 222191, upload-time = "2025-12-28T15:40:28.916Z" }, + { url = "https://files.pythonhosted.org/packages/b4/9b/77baf488516e9ced25fc215a6f75d803493fc3f6a1a1227ac35697910c2a/coverage-7.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a55d509a1dc5a5b708b5dad3b5334e07a16ad4c2185e27b40e4dba796ab7f88", size = 218755, upload-time = "2025-12-28T15:40:30.812Z" }, + { url = "https://files.pythonhosted.org/packages/d7/cd/7ab01154e6eb79ee2fab76bf4d89e94c6648116557307ee4ebbb85e5c1bf/coverage-7.13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4d010d080c4888371033baab27e47c9df7d6fb28d0b7b7adf85a4a49be9298b3", size = 219257, upload-time = "2025-12-28T15:40:32.333Z" }, + { url = "https://files.pythonhosted.org/packages/01/d5/b11ef7863ffbbdb509da0023fad1e9eda1c0eaea61a6d2ea5b17d4ac706e/coverage-7.13.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d938b4a840fb1523b9dfbbb454f652967f18e197569c32266d4d13f37244c3d9", size = 249657, upload-time = "2025-12-28T15:40:34.1Z" }, + { url = "https://files.pythonhosted.org/packages/f7/7c/347280982982383621d29b8c544cf497ae07ac41e44b1ca4903024131f55/coverage-7.13.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bf100a3288f9bb7f919b87eb84f87101e197535b9bd0e2c2b5b3179633324fee", size = 251581, upload-time = "2025-12-28T15:40:36.131Z" }, + { url = "https://files.pythonhosted.org/packages/82/f6/ebcfed11036ade4c0d75fa4453a6282bdd225bc073862766eec184a4c643/coverage-7.13.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef6688db9bf91ba111ae734ba6ef1a063304a881749726e0d3575f5c10a9facf", size = 253691, upload-time = "2025-12-28T15:40:37.626Z" }, + { url = "https://files.pythonhosted.org/packages/02/92/af8f5582787f5d1a8b130b2dcba785fa5e9a7a8e121a0bb2220a6fdbdb8a/coverage-7.13.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0b609fc9cdbd1f02e51f67f51e5aee60a841ef58a68d00d5ee2c0faf357481a3", size = 249799, upload-time = "2025-12-28T15:40:39.47Z" }, + { url = "https://files.pythonhosted.org/packages/24/aa/0e39a2a3b16eebf7f193863323edbff38b6daba711abaaf807d4290cf61a/coverage-7.13.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c43257717611ff5e9a1d79dce8e47566235ebda63328718d9b65dd640bc832ef", size = 251389, upload-time = "2025-12-28T15:40:40.954Z" }, + { url = "https://files.pythonhosted.org/packages/73/46/7f0c13111154dc5b978900c0ccee2e2ca239b910890e674a77f1363d483e/coverage-7.13.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e09fbecc007f7b6afdfb3b07ce5bd9f8494b6856dd4f577d26c66c391b829851", size = 249450, upload-time = "2025-12-28T15:40:42.489Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ca/e80da6769e8b669ec3695598c58eef7ad98b0e26e66333996aee6316db23/coverage-7.13.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:a03a4f3a19a189919c7055098790285cc5c5b0b3976f8d227aea39dbf9f8bfdb", size = 249170, upload-time = "2025-12-28T15:40:44.279Z" }, + { url = "https://files.pythonhosted.org/packages/af/18/9e29baabdec1a8644157f572541079b4658199cfd372a578f84228e860de/coverage-7.13.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3820778ea1387c2b6a818caec01c63adc5b3750211af6447e8dcfb9b6f08dbba", size = 250081, upload-time = "2025-12-28T15:40:45.748Z" }, + { url = "https://files.pythonhosted.org/packages/00/f8/c3021625a71c3b2f516464d322e41636aea381018319050a8114105872ee/coverage-7.13.1-cp311-cp311-win32.whl", hash = "sha256:ff10896fa55167371960c5908150b434b71c876dfab97b69478f22c8b445ea19", size = 221281, upload-time = "2025-12-28T15:40:47.232Z" }, + { url = "https://files.pythonhosted.org/packages/27/56/c216625f453df6e0559ed666d246fcbaaa93f3aa99eaa5080cea1229aa3d/coverage-7.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:a998cc0aeeea4c6d5622a3754da5a493055d2d95186bad877b0a34ea6e6dbe0a", size = 222215, upload-time = "2025-12-28T15:40:49.19Z" }, + { url = "https://files.pythonhosted.org/packages/5c/9a/be342e76f6e531cae6406dc46af0d350586f24d9b67fdfa6daee02df71af/coverage-7.13.1-cp311-cp311-win_arm64.whl", hash = "sha256:fea07c1a39a22614acb762e3fbbb4011f65eedafcb2948feeef641ac78b4ee5c", size = 220886, upload-time = "2025-12-28T15:40:51.067Z" }, + { url = "https://files.pythonhosted.org/packages/ce/8a/87af46cccdfa78f53db747b09f5f9a21d5fc38d796834adac09b30a8ce74/coverage-7.13.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6f34591000f06e62085b1865c9bc5f7858df748834662a51edadfd2c3bfe0dd3", size = 218927, upload-time = "2025-12-28T15:40:52.814Z" }, + { url = "https://files.pythonhosted.org/packages/82/a8/6e22fdc67242a4a5a153f9438d05944553121c8f4ba70cb072af4c41362e/coverage-7.13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b67e47c5595b9224599016e333f5ec25392597a89d5744658f837d204e16c63e", size = 219288, upload-time = "2025-12-28T15:40:54.262Z" }, + { url = "https://files.pythonhosted.org/packages/d0/0a/853a76e03b0f7c4375e2ca025df45c918beb367f3e20a0a8e91967f6e96c/coverage-7.13.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3e7b8bd70c48ffb28461ebe092c2345536fb18bbbf19d287c8913699735f505c", size = 250786, upload-time = "2025-12-28T15:40:56.059Z" }, + { url = "https://files.pythonhosted.org/packages/ea/b4/694159c15c52b9f7ec7adf49d50e5f8ee71d3e9ef38adb4445d13dd56c20/coverage-7.13.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c223d078112e90dc0e5c4e35b98b9584164bea9fbbd221c0b21c5241f6d51b62", size = 253543, upload-time = "2025-12-28T15:40:57.585Z" }, + { url = "https://files.pythonhosted.org/packages/96/b2/7f1f0437a5c855f87e17cf5d0dc35920b6440ff2b58b1ba9788c059c26c8/coverage-7.13.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:794f7c05af0763b1bbd1b9e6eff0e52ad068be3b12cd96c87de037b01390c968", size = 254635, upload-time = "2025-12-28T15:40:59.443Z" }, + { url = "https://files.pythonhosted.org/packages/e9/d1/73c3fdb8d7d3bddd9473c9c6a2e0682f09fc3dfbcb9c3f36412a7368bcab/coverage-7.13.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0642eae483cc8c2902e4af7298bf886d605e80f26382124cddc3967c2a3df09e", size = 251202, upload-time = "2025-12-28T15:41:01.328Z" }, + { url = "https://files.pythonhosted.org/packages/66/3c/f0edf75dcc152f145d5598329e864bbbe04ab78660fe3e8e395f9fff010f/coverage-7.13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9f5e772ed5fef25b3de9f2008fe67b92d46831bd2bc5bdc5dd6bfd06b83b316f", size = 252566, upload-time = "2025-12-28T15:41:03.319Z" }, + { url = "https://files.pythonhosted.org/packages/17/b3/e64206d3c5f7dcbceafd14941345a754d3dbc78a823a6ed526e23b9cdaab/coverage-7.13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:45980ea19277dc0a579e432aef6a504fe098ef3a9032ead15e446eb0f1191aee", size = 250711, upload-time = "2025-12-28T15:41:06.411Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ad/28a3eb970a8ef5b479ee7f0c484a19c34e277479a5b70269dc652b730733/coverage-7.13.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:e4f18eca6028ffa62adbd185a8f1e1dd242f2e68164dba5c2b74a5204850b4cf", size = 250278, upload-time = "2025-12-28T15:41:08.285Z" }, + { url = "https://files.pythonhosted.org/packages/54/e3/c8f0f1a93133e3e1291ca76cbb63565bd4b5c5df63b141f539d747fff348/coverage-7.13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f8dca5590fec7a89ed6826fce625595279e586ead52e9e958d3237821fbc750c", size = 252154, upload-time = "2025-12-28T15:41:09.969Z" }, + { url = "https://files.pythonhosted.org/packages/d0/bf/9939c5d6859c380e405b19e736321f1c7d402728792f4c752ad1adcce005/coverage-7.13.1-cp312-cp312-win32.whl", hash = "sha256:ff86d4e85188bba72cfb876df3e11fa243439882c55957184af44a35bd5880b7", size = 221487, upload-time = "2025-12-28T15:41:11.468Z" }, + { url = "https://files.pythonhosted.org/packages/fa/dc/7282856a407c621c2aad74021680a01b23010bb8ebf427cf5eacda2e876f/coverage-7.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:16cc1da46c04fb0fb128b4dc430b78fa2aba8a6c0c9f8eb391fd5103409a6ac6", size = 222299, upload-time = "2025-12-28T15:41:13.386Z" }, + { url = "https://files.pythonhosted.org/packages/10/79/176a11203412c350b3e9578620013af35bcdb79b651eb976f4a4b32044fa/coverage-7.13.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d9bc218650022a768f3775dd7fdac1886437325d8d295d923ebcfef4892ad5c", size = 220941, upload-time = "2025-12-28T15:41:14.975Z" }, + { url = "https://files.pythonhosted.org/packages/a3/a4/e98e689347a1ff1a7f67932ab535cef82eb5e78f32a9e4132e114bbb3a0a/coverage-7.13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cb237bfd0ef4d5eb6a19e29f9e528ac67ac3be932ea6b44fb6cc09b9f3ecff78", size = 218951, upload-time = "2025-12-28T15:41:16.653Z" }, + { url = "https://files.pythonhosted.org/packages/32/33/7cbfe2bdc6e2f03d6b240d23dc45fdaf3fd270aaf2d640be77b7f16989ab/coverage-7.13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1dcb645d7e34dcbcc96cd7c132b1fc55c39263ca62eb961c064eb3928997363b", size = 219325, upload-time = "2025-12-28T15:41:18.609Z" }, + { url = "https://files.pythonhosted.org/packages/59/f6/efdabdb4929487baeb7cb2a9f7dac457d9356f6ad1b255be283d58b16316/coverage-7.13.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3d42df8201e00384736f0df9be2ced39324c3907607d17d50d50116c989d84cd", size = 250309, upload-time = "2025-12-28T15:41:20.629Z" }, + { url = "https://files.pythonhosted.org/packages/12/da/91a52516e9d5aea87d32d1523f9cdcf7a35a3b298e6be05d6509ba3cfab2/coverage-7.13.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fa3edde1aa8807de1d05934982416cb3ec46d1d4d91e280bcce7cca01c507992", size = 252907, upload-time = "2025-12-28T15:41:22.257Z" }, + { url = "https://files.pythonhosted.org/packages/75/38/f1ea837e3dc1231e086db1638947e00d264e7e8c41aa8ecacf6e1e0c05f4/coverage-7.13.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9edd0e01a343766add6817bc448408858ba6b489039eaaa2018474e4001651a4", size = 254148, upload-time = "2025-12-28T15:41:23.87Z" }, + { url = "https://files.pythonhosted.org/packages/7f/43/f4f16b881aaa34954ba446318dea6b9ed5405dd725dd8daac2358eda869a/coverage-7.13.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:985b7836931d033570b94c94713c6dba5f9d3ff26045f72c3e5dbc5fe3361e5a", size = 250515, upload-time = "2025-12-28T15:41:25.437Z" }, + { url = "https://files.pythonhosted.org/packages/84/34/8cba7f00078bd468ea914134e0144263194ce849ec3baad187ffb6203d1c/coverage-7.13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ffed1e4980889765c84a5d1a566159e363b71d6b6fbaf0bebc9d3c30bc016766", size = 252292, upload-time = "2025-12-28T15:41:28.459Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a4/cffac66c7652d84ee4ac52d3ccb94c015687d3b513f9db04bfcac2ac800d/coverage-7.13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8842af7f175078456b8b17f1b73a0d16a65dcbdc653ecefeb00a56b3c8c298c4", size = 250242, upload-time = "2025-12-28T15:41:30.02Z" }, + { url = "https://files.pythonhosted.org/packages/f4/78/9a64d462263dde416f3c0067efade7b52b52796f489b1037a95b0dc389c9/coverage-7.13.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:ccd7a6fca48ca9c131d9b0a2972a581e28b13416fc313fb98b6d24a03ce9a398", size = 250068, upload-time = "2025-12-28T15:41:32.007Z" }, + { url = "https://files.pythonhosted.org/packages/69/c8/a8994f5fece06db7c4a97c8fc1973684e178599b42e66280dded0524ef00/coverage-7.13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0403f647055de2609be776965108447deb8e384fe4a553c119e3ff6bfbab4784", size = 251846, upload-time = "2025-12-28T15:41:33.946Z" }, + { url = "https://files.pythonhosted.org/packages/cc/f7/91fa73c4b80305c86598a2d4e54ba22df6bf7d0d97500944af7ef155d9f7/coverage-7.13.1-cp313-cp313-win32.whl", hash = "sha256:549d195116a1ba1e1ae2f5ca143f9777800f6636eab917d4f02b5310d6d73461", size = 221512, upload-time = "2025-12-28T15:41:35.519Z" }, + { url = "https://files.pythonhosted.org/packages/45/0b/0768b4231d5a044da8f75e097a8714ae1041246bb765d6b5563bab456735/coverage-7.13.1-cp313-cp313-win_amd64.whl", hash = "sha256:5899d28b5276f536fcf840b18b61a9fce23cc3aec1d114c44c07fe94ebeaa500", size = 222321, upload-time = "2025-12-28T15:41:37.371Z" }, + { url = "https://files.pythonhosted.org/packages/9b/b8/bdcb7253b7e85157282450262008f1366aa04663f3e3e4c30436f596c3e2/coverage-7.13.1-cp313-cp313-win_arm64.whl", hash = "sha256:868a2fae76dfb06e87291bcbd4dcbcc778a8500510b618d50496e520bd94d9b9", size = 220949, upload-time = "2025-12-28T15:41:39.553Z" }, + { url = "https://files.pythonhosted.org/packages/70/52/f2be52cc445ff75ea8397948c96c1b4ee14f7f9086ea62fc929c5ae7b717/coverage-7.13.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:67170979de0dacac3f3097d02b0ad188d8edcea44ccc44aaa0550af49150c7dc", size = 219643, upload-time = "2025-12-28T15:41:41.567Z" }, + { url = "https://files.pythonhosted.org/packages/47/79/c85e378eaa239e2edec0c5523f71542c7793fe3340954eafb0bc3904d32d/coverage-7.13.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f80e2bb21bfab56ed7405c2d79d34b5dc0bc96c2c1d2a067b643a09fb756c43a", size = 219997, upload-time = "2025-12-28T15:41:43.418Z" }, + { url = "https://files.pythonhosted.org/packages/fe/9b/b1ade8bfb653c0bbce2d6d6e90cc6c254cbb99b7248531cc76253cb4da6d/coverage-7.13.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f83351e0f7dcdb14d7326c3d8d8c4e915fa685cbfdc6281f9470d97a04e9dfe4", size = 261296, upload-time = "2025-12-28T15:41:45.207Z" }, + { url = "https://files.pythonhosted.org/packages/1f/af/ebf91e3e1a2473d523e87e87fd8581e0aa08741b96265730e2d79ce78d8d/coverage-7.13.1-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb3f6562e89bad0110afbe64e485aac2462efdce6232cdec7862a095dc3412f6", size = 263363, upload-time = "2025-12-28T15:41:47.163Z" }, + { url = "https://files.pythonhosted.org/packages/c4/8b/fb2423526d446596624ac7fde12ea4262e66f86f5120114c3cfd0bb2befa/coverage-7.13.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:77545b5dcda13b70f872c3b5974ac64c21d05e65b1590b441c8560115dc3a0d1", size = 265783, upload-time = "2025-12-28T15:41:49.03Z" }, + { url = "https://files.pythonhosted.org/packages/9b/26/ef2adb1e22674913b89f0fe7490ecadcef4a71fa96f5ced90c60ec358789/coverage-7.13.1-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a4d240d260a1aed814790bbe1f10a5ff31ce6c21bc78f0da4a1e8268d6c80dbd", size = 260508, upload-time = "2025-12-28T15:41:51.035Z" }, + { url = "https://files.pythonhosted.org/packages/ce/7d/f0f59b3404caf662e7b5346247883887687c074ce67ba453ea08c612b1d5/coverage-7.13.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d2287ac9360dec3837bfdad969963a5d073a09a85d898bd86bea82aa8876ef3c", size = 263357, upload-time = "2025-12-28T15:41:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/1a/b1/29896492b0b1a047604d35d6fa804f12818fa30cdad660763a5f3159e158/coverage-7.13.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:0d2c11f3ea4db66b5cbded23b20185c35066892c67d80ec4be4bab257b9ad1e0", size = 260978, upload-time = "2025-12-28T15:41:54.589Z" }, + { url = "https://files.pythonhosted.org/packages/48/f2/971de1238a62e6f0a4128d37adadc8bb882ee96afbe03ff1570291754629/coverage-7.13.1-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:3fc6a169517ca0d7ca6846c3c5392ef2b9e38896f61d615cb75b9e7134d4ee1e", size = 259877, upload-time = "2025-12-28T15:41:56.263Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fc/0474efcbb590ff8628830e9aaec5f1831594874360e3251f1fdec31d07a3/coverage-7.13.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d10a2ed46386e850bb3de503a54f9fe8192e5917fcbb143bfef653a9355e9a53", size = 262069, upload-time = "2025-12-28T15:41:58.093Z" }, + { url = "https://files.pythonhosted.org/packages/88/4f/3c159b7953db37a7b44c0eab8a95c37d1aa4257c47b4602c04022d5cb975/coverage-7.13.1-cp313-cp313t-win32.whl", hash = "sha256:75a6f4aa904301dab8022397a22c0039edc1f51e90b83dbd4464b8a38dc87842", size = 222184, upload-time = "2025-12-28T15:41:59.763Z" }, + { url = "https://files.pythonhosted.org/packages/58/a5/6b57d28f81417f9335774f20679d9d13b9a8fb90cd6160957aa3b54a2379/coverage-7.13.1-cp313-cp313t-win_amd64.whl", hash = "sha256:309ef5706e95e62578cda256b97f5e097916a2c26247c287bbe74794e7150df2", size = 223250, upload-time = "2025-12-28T15:42:01.52Z" }, + { url = "https://files.pythonhosted.org/packages/81/7c/160796f3b035acfbb58be80e02e484548595aa67e16a6345e7910ace0a38/coverage-7.13.1-cp313-cp313t-win_arm64.whl", hash = "sha256:92f980729e79b5d16d221038dbf2e8f9a9136afa072f9d5d6ed4cb984b126a09", size = 221521, upload-time = "2025-12-28T15:42:03.275Z" }, + { url = "https://files.pythonhosted.org/packages/aa/8e/ba0e597560c6563fc0adb902fda6526df5d4aa73bb10adf0574d03bd2206/coverage-7.13.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:97ab3647280d458a1f9adb85244e81587505a43c0c7cff851f5116cd2814b894", size = 218996, upload-time = "2025-12-28T15:42:04.978Z" }, + { url = "https://files.pythonhosted.org/packages/6b/8e/764c6e116f4221dc7aa26c4061181ff92edb9c799adae6433d18eeba7a14/coverage-7.13.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8f572d989142e0908e6acf57ad1b9b86989ff057c006d13b76c146ec6a20216a", size = 219326, upload-time = "2025-12-28T15:42:06.691Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a6/6130dc6d8da28cdcbb0f2bf8865aeca9b157622f7c0031e48c6cf9a0e591/coverage-7.13.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d72140ccf8a147e94274024ff6fd8fb7811354cf7ef88b1f0a988ebaa5bc774f", size = 250374, upload-time = "2025-12-28T15:42:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/82/2b/783ded568f7cd6b677762f780ad338bf4b4750205860c17c25f7c708995e/coverage-7.13.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d3c9f051b028810f5a87c88e5d6e9af3c0ff32ef62763bf15d29f740453ca909", size = 252882, upload-time = "2025-12-28T15:42:10.515Z" }, + { url = "https://files.pythonhosted.org/packages/cd/b2/9808766d082e6a4d59eb0cc881a57fc1600eb2c5882813eefff8254f71b5/coverage-7.13.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f398ba4df52d30b1763f62eed9de5620dcde96e6f491f4c62686736b155aa6e4", size = 254218, upload-time = "2025-12-28T15:42:12.208Z" }, + { url = "https://files.pythonhosted.org/packages/44/ea/52a985bb447c871cb4d2e376e401116520991b597c85afdde1ea9ef54f2c/coverage-7.13.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:132718176cc723026d201e347f800cd1a9e4b62ccd3f82476950834dad501c75", size = 250391, upload-time = "2025-12-28T15:42:14.21Z" }, + { url = "https://files.pythonhosted.org/packages/7f/1d/125b36cc12310718873cfc8209ecfbc1008f14f4f5fa0662aa608e579353/coverage-7.13.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9e549d642426e3579b3f4b92d0431543b012dcb6e825c91619d4e93b7363c3f9", size = 252239, upload-time = "2025-12-28T15:42:16.292Z" }, + { url = "https://files.pythonhosted.org/packages/6a/16/10c1c164950cade470107f9f14bbac8485f8fb8515f515fca53d337e4a7f/coverage-7.13.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:90480b2134999301eea795b3a9dbf606c6fbab1b489150c501da84a959442465", size = 250196, upload-time = "2025-12-28T15:42:18.54Z" }, + { url = "https://files.pythonhosted.org/packages/2a/c6/cd860fac08780c6fd659732f6ced1b40b79c35977c1356344e44d72ba6c4/coverage-7.13.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e825dbb7f84dfa24663dd75835e7257f8882629fc11f03ecf77d84a75134b864", size = 250008, upload-time = "2025-12-28T15:42:20.365Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/a8c58d3d38f82a5711e1e0a67268362af48e1a03df27c03072ac30feefcf/coverage-7.13.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:623dcc6d7a7ba450bbdbeedbaa0c42b329bdae16491af2282f12a7e809be7eb9", size = 251671, upload-time = "2025-12-28T15:42:22.114Z" }, + { url = "https://files.pythonhosted.org/packages/f0/bc/fd4c1da651d037a1e3d53e8cb3f8182f4b53271ffa9a95a2e211bacc0349/coverage-7.13.1-cp314-cp314-win32.whl", hash = "sha256:6e73ebb44dca5f708dc871fe0b90cf4cff1a13f9956f747cc87b535a840386f5", size = 221777, upload-time = "2025-12-28T15:42:23.919Z" }, + { url = "https://files.pythonhosted.org/packages/4b/50/71acabdc8948464c17e90b5ffd92358579bd0910732c2a1c9537d7536aa6/coverage-7.13.1-cp314-cp314-win_amd64.whl", hash = "sha256:be753b225d159feb397bd0bf91ae86f689bad0da09d3b301478cd39b878ab31a", size = 222592, upload-time = "2025-12-28T15:42:25.619Z" }, + { url = "https://files.pythonhosted.org/packages/f7/c8/a6fb943081bb0cc926499c7907731a6dc9efc2cbdc76d738c0ab752f1a32/coverage-7.13.1-cp314-cp314-win_arm64.whl", hash = "sha256:228b90f613b25ba0019361e4ab81520b343b622fc657daf7e501c4ed6a2366c0", size = 221169, upload-time = "2025-12-28T15:42:27.629Z" }, + { url = "https://files.pythonhosted.org/packages/16/61/d5b7a0a0e0e40d62e59bc8c7aa1afbd86280d82728ba97f0673b746b78e2/coverage-7.13.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:60cfb538fe9ef86e5b2ab0ca8fc8d62524777f6c611dcaf76dc16fbe9b8e698a", size = 219730, upload-time = "2025-12-28T15:42:29.306Z" }, + { url = "https://files.pythonhosted.org/packages/a3/2c/8881326445fd071bb49514d1ce97d18a46a980712b51fee84f9ab42845b4/coverage-7.13.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:57dfc8048c72ba48a8c45e188d811e5efd7e49b387effc8fb17e97936dde5bf6", size = 220001, upload-time = "2025-12-28T15:42:31.319Z" }, + { url = "https://files.pythonhosted.org/packages/b5/d7/50de63af51dfa3a7f91cc37ad8fcc1e244b734232fbc8b9ab0f3c834a5cd/coverage-7.13.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3f2f725aa3e909b3c5fdb8192490bdd8e1495e85906af74fe6e34a2a77ba0673", size = 261370, upload-time = "2025-12-28T15:42:32.992Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2c/d31722f0ec918fd7453b2758312729f645978d212b410cd0f7c2aed88a94/coverage-7.13.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9ee68b21909686eeb21dfcba2c3b81fee70dcf38b140dcd5aa70680995fa3aa5", size = 263485, upload-time = "2025-12-28T15:42:34.759Z" }, + { url = "https://files.pythonhosted.org/packages/fa/7a/2c114fa5c5fc08ba0777e4aec4c97e0b4a1afcb69c75f1f54cff78b073ab/coverage-7.13.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:724b1b270cb13ea2e6503476e34541a0b1f62280bc997eab443f87790202033d", size = 265890, upload-time = "2025-12-28T15:42:36.517Z" }, + { url = "https://files.pythonhosted.org/packages/65/d9/f0794aa1c74ceabc780fe17f6c338456bbc4e96bd950f2e969f48ac6fb20/coverage-7.13.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:916abf1ac5cf7eb16bc540a5bf75c71c43a676f5c52fcb9fe75a2bd75fb944e8", size = 260445, upload-time = "2025-12-28T15:42:38.646Z" }, + { url = "https://files.pythonhosted.org/packages/49/23/184b22a00d9bb97488863ced9454068c79e413cb23f472da6cbddc6cfc52/coverage-7.13.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:776483fd35b58d8afe3acbd9988d5de592ab6da2d2a865edfdbc9fdb43e7c486", size = 263357, upload-time = "2025-12-28T15:42:40.788Z" }, + { url = "https://files.pythonhosted.org/packages/7d/bd/58af54c0c9199ea4190284f389005779d7daf7bf3ce40dcd2d2b2f96da69/coverage-7.13.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:b6f3b96617e9852703f5b633ea01315ca45c77e879584f283c44127f0f1ec564", size = 260959, upload-time = "2025-12-28T15:42:42.808Z" }, + { url = "https://files.pythonhosted.org/packages/4b/2a/6839294e8f78a4891bf1df79d69c536880ba2f970d0ff09e7513d6e352e9/coverage-7.13.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:bd63e7b74661fed317212fab774e2a648bc4bb09b35f25474f8e3325d2945cd7", size = 259792, upload-time = "2025-12-28T15:42:44.818Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c3/528674d4623283310ad676c5af7414b9850ab6d55c2300e8aa4b945ec554/coverage-7.13.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:933082f161bbb3e9f90d00990dc956120f608cdbcaeea15c4d897f56ef4fe416", size = 262123, upload-time = "2025-12-28T15:42:47.108Z" }, + { url = "https://files.pythonhosted.org/packages/06/c5/8c0515692fb4c73ac379d8dc09b18eaf0214ecb76ea6e62467ba7a1556ff/coverage-7.13.1-cp314-cp314t-win32.whl", hash = "sha256:18be793c4c87de2965e1c0f060f03d9e5aff66cfeae8e1dbe6e5b88056ec153f", size = 222562, upload-time = "2025-12-28T15:42:49.144Z" }, + { url = "https://files.pythonhosted.org/packages/05/0e/c0a0c4678cb30dac735811db529b321d7e1c9120b79bd728d4f4d6b010e9/coverage-7.13.1-cp314-cp314t-win_amd64.whl", hash = "sha256:0e42e0ec0cd3e0d851cb3c91f770c9301f48647cb2877cb78f74bdaa07639a79", size = 223670, upload-time = "2025-12-28T15:42:51.218Z" }, + { url = "https://files.pythonhosted.org/packages/f5/5f/b177aa0011f354abf03a8f30a85032686d290fdeed4222b27d36b4372a50/coverage-7.13.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eaecf47ef10c72ece9a2a92118257da87e460e113b83cc0d2905cbbe931792b4", size = 221707, upload-time = "2025-12-28T15:42:53.034Z" }, + { url = "https://files.pythonhosted.org/packages/cc/48/d9f421cb8da5afaa1a64570d9989e00fb7955e6acddc5a12979f7666ef60/coverage-7.13.1-py3-none-any.whl", hash = "sha256:2016745cb3ba554469d02819d78958b571792bb68e31302610e898f80dd3a573", size = 210722, upload-time = "2025-12-28T15:42:54.901Z" }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version <= '3.11'" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + +[[package]] +name = "librt" +version = "0.7.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/29/47f29026ca17f35cf299290292d5f8331f5077364974b7675a353179afa2/librt-0.7.7.tar.gz", hash = "sha256:81d957b069fed1890953c3b9c3895c7689960f233eea9a1d9607f71ce7f00b2c", size = 145910, upload-time = "2026-01-01T23:52:22.87Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/84/2cfb1f3b9b60bab52e16a220c931223fc8e963d0d7bb9132bef012aafc3f/librt-0.7.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4836c5645f40fbdc275e5670819bde5ab5f2e882290d304e3c6ddab1576a6d0", size = 54709, upload-time = "2026-01-01T23:50:48.326Z" }, + { url = "https://files.pythonhosted.org/packages/19/a1/3127b277e9d3784a8040a54e8396d9ae5c64d6684dc6db4b4089b0eedcfb/librt-0.7.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ae8aec43117a645a31e5f60e9e3a0797492e747823b9bda6972d521b436b4e8", size = 56658, upload-time = "2026-01-01T23:50:49.74Z" }, + { url = "https://files.pythonhosted.org/packages/3a/e9/b91b093a5c42eb218120445f3fef82e0b977fa2225f4d6fc133d25cdf86a/librt-0.7.7-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:aea05f701ccd2a76b34f0daf47ca5068176ff553510b614770c90d76ac88df06", size = 161026, upload-time = "2026-01-01T23:50:50.853Z" }, + { url = "https://files.pythonhosted.org/packages/c7/cb/1ded77d5976a79d7057af4a010d577ce4f473ff280984e68f4974a3281e5/librt-0.7.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7b16ccaeff0ed4355dfb76fe1ea7a5d6d03b5ad27f295f77ee0557bc20a72495", size = 169529, upload-time = "2026-01-01T23:50:52.24Z" }, + { url = "https://files.pythonhosted.org/packages/da/6e/6ca5bdaa701e15f05000ac1a4c5d1475c422d3484bd3d1ca9e8c2f5be167/librt-0.7.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c48c7e150c095d5e3cea7452347ba26094be905d6099d24f9319a8b475fcd3e0", size = 183271, upload-time = "2026-01-01T23:50:55.287Z" }, + { url = "https://files.pythonhosted.org/packages/e7/2d/55c0e38073997b4bbb5ddff25b6d1bbba8c2f76f50afe5bb9c844b702f34/librt-0.7.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4dcee2f921a8632636d1c37f1bbdb8841d15666d119aa61e5399c5268e7ce02e", size = 179039, upload-time = "2026-01-01T23:50:56.807Z" }, + { url = "https://files.pythonhosted.org/packages/33/4e/3662a41ae8bb81b226f3968426293517b271d34d4e9fd4b59fc511f1ae40/librt-0.7.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:14ef0f4ac3728ffd85bfc58e2f2f48fb4ef4fa871876f13a73a7381d10a9f77c", size = 173505, upload-time = "2026-01-01T23:50:58.291Z" }, + { url = "https://files.pythonhosted.org/packages/f8/5d/cf768deb8bdcbac5f8c21fcb32dd483d038d88c529fd351bbe50590b945d/librt-0.7.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e4ab69fa37f8090f2d971a5d2bc606c7401170dbdae083c393d6cbf439cb45b8", size = 193570, upload-time = "2026-01-01T23:50:59.546Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ea/ee70effd13f1d651976d83a2812391f6203971740705e3c0900db75d4bce/librt-0.7.7-cp310-cp310-win32.whl", hash = "sha256:4bf3cc46d553693382d2abf5f5bd493d71bb0f50a7c0beab18aa13a5545c8900", size = 42600, upload-time = "2026-01-01T23:51:00.694Z" }, + { url = "https://files.pythonhosted.org/packages/f0/eb/dc098730f281cba76c279b71783f5de2edcba3b880c1ab84a093ef826062/librt-0.7.7-cp310-cp310-win_amd64.whl", hash = "sha256:f0c8fe5aeadd8a0e5b0598f8a6ee3533135ca50fd3f20f130f9d72baf5c6ac58", size = 48977, upload-time = "2026-01-01T23:51:01.726Z" }, + { url = "https://files.pythonhosted.org/packages/f0/56/30b5c342518005546df78841cb0820ae85a17e7d07d521c10ef367306d0d/librt-0.7.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a487b71fbf8a9edb72a8c7a456dda0184642d99cd007bc819c0b7ab93676a8ee", size = 54709, upload-time = "2026-01-01T23:51:02.774Z" }, + { url = "https://files.pythonhosted.org/packages/72/78/9f120e3920b22504d4f3835e28b55acc2cc47c9586d2e1b6ba04c3c1bf01/librt-0.7.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f4d4efb218264ecf0f8516196c9e2d1a0679d9fb3bb15df1155a35220062eba8", size = 56663, upload-time = "2026-01-01T23:51:03.838Z" }, + { url = "https://files.pythonhosted.org/packages/1c/ea/7d7a1ee7dfc1151836028eba25629afcf45b56bbc721293e41aa2e9b8934/librt-0.7.7-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b8bb331aad734b059c4b450cd0a225652f16889e286b2345af5e2c3c625c3d85", size = 161705, upload-time = "2026-01-01T23:51:04.917Z" }, + { url = "https://files.pythonhosted.org/packages/45/a5/952bc840ac8917fbcefd6bc5f51ad02b89721729814f3e2bfcc1337a76d6/librt-0.7.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:467dbd7443bda08338fc8ad701ed38cef48194017554f4c798b0a237904b3f99", size = 171029, upload-time = "2026-01-01T23:51:06.09Z" }, + { url = "https://files.pythonhosted.org/packages/fa/bf/c017ff7da82dc9192cf40d5e802a48a25d00e7639b6465cfdcee5893a22c/librt-0.7.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50d1d1ee813d2d1a3baf2873634ba506b263032418d16287c92ec1cc9c1a00cb", size = 184704, upload-time = "2026-01-01T23:51:07.549Z" }, + { url = "https://files.pythonhosted.org/packages/77/ec/72f3dd39d2cdfd6402ab10836dc9cbf854d145226062a185b419c4f1624a/librt-0.7.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c7e5070cf3ec92d98f57574da0224f8c73faf1ddd6d8afa0b8c9f6e86997bc74", size = 180719, upload-time = "2026-01-01T23:51:09.062Z" }, + { url = "https://files.pythonhosted.org/packages/78/86/06e7a1a81b246f3313bf515dd9613a1c81583e6fd7843a9f4d625c4e926d/librt-0.7.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bdb9f3d865b2dafe7f9ad7f30ef563c80d0ddd2fdc8cc9b8e4f242f475e34d75", size = 174537, upload-time = "2026-01-01T23:51:10.611Z" }, + { url = "https://files.pythonhosted.org/packages/83/08/f9fb2edc9c7a76e95b2924ce81d545673f5b034e8c5dd92159d1c7dae0c6/librt-0.7.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8185c8497d45164e256376f9da5aed2bb26ff636c798c9dabe313b90e9f25b28", size = 195238, upload-time = "2026-01-01T23:51:11.762Z" }, + { url = "https://files.pythonhosted.org/packages/ba/56/ea2d2489d3ea1f47b301120e03a099e22de7b32c93df9a211e6ff4f9bf38/librt-0.7.7-cp311-cp311-win32.whl", hash = "sha256:44d63ce643f34a903f09ff7ca355aae019a3730c7afd6a3c037d569beeb5d151", size = 42939, upload-time = "2026-01-01T23:51:13.192Z" }, + { url = "https://files.pythonhosted.org/packages/58/7b/c288f417e42ba2a037f1c0753219e277b33090ed4f72f292fb6fe175db4c/librt-0.7.7-cp311-cp311-win_amd64.whl", hash = "sha256:7d13cc340b3b82134f8038a2bfe7137093693dcad8ba5773da18f95ad6b77a8a", size = 49240, upload-time = "2026-01-01T23:51:14.264Z" }, + { url = "https://files.pythonhosted.org/packages/7c/24/738eb33a6c1516fdb2dfd2a35db6e5300f7616679b573585be0409bc6890/librt-0.7.7-cp311-cp311-win_arm64.whl", hash = "sha256:983de36b5a83fe9222f4f7dcd071f9b1ac6f3f17c0af0238dadfb8229588f890", size = 42613, upload-time = "2026-01-01T23:51:15.268Z" }, + { url = "https://files.pythonhosted.org/packages/56/72/1cd9d752070011641e8aee046c851912d5f196ecd726fffa7aed2070f3e0/librt-0.7.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2a85a1fc4ed11ea0eb0a632459ce004a2d14afc085a50ae3463cd3dfe1ce43fc", size = 55687, upload-time = "2026-01-01T23:51:16.291Z" }, + { url = "https://files.pythonhosted.org/packages/50/aa/d5a1d4221c4fe7e76ae1459d24d6037783cb83c7645164c07d7daf1576ec/librt-0.7.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c87654e29a35938baead1c4559858f346f4a2a7588574a14d784f300ffba0efd", size = 57136, upload-time = "2026-01-01T23:51:17.363Z" }, + { url = "https://files.pythonhosted.org/packages/23/6f/0c86b5cb5e7ef63208c8cc22534df10ecc5278efc0d47fb8815577f3ca2f/librt-0.7.7-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c9faaebb1c6212c20afd8043cd6ed9de0a47d77f91a6b5b48f4e46ed470703fe", size = 165320, upload-time = "2026-01-01T23:51:18.455Z" }, + { url = "https://files.pythonhosted.org/packages/16/37/df4652690c29f645ffe405b58285a4109e9fe855c5bb56e817e3e75840b3/librt-0.7.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1908c3e5a5ef86b23391448b47759298f87f997c3bd153a770828f58c2bb4630", size = 174216, upload-time = "2026-01-01T23:51:19.599Z" }, + { url = "https://files.pythonhosted.org/packages/9a/d6/d3afe071910a43133ec9c0f3e4ce99ee6df0d4e44e4bddf4b9e1c6ed41cc/librt-0.7.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dbc4900e95a98fc0729523be9d93a8fedebb026f32ed9ffc08acd82e3e181503", size = 189005, upload-time = "2026-01-01T23:51:21.052Z" }, + { url = "https://files.pythonhosted.org/packages/d5/18/74060a870fe2d9fd9f47824eba6717ce7ce03124a0d1e85498e0e7efc1b2/librt-0.7.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a7ea4e1fbd253e5c68ea0fe63d08577f9d288a73f17d82f652ebc61fa48d878d", size = 183961, upload-time = "2026-01-01T23:51:22.493Z" }, + { url = "https://files.pythonhosted.org/packages/7c/5e/918a86c66304af66a3c1d46d54df1b2d0b8894babc42a14fb6f25511497f/librt-0.7.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ef7699b7a5a244b1119f85c5bbc13f152cd38240cbb2baa19b769433bae98e50", size = 177610, upload-time = "2026-01-01T23:51:23.874Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d7/b5e58dc2d570f162e99201b8c0151acf40a03a39c32ab824dd4febf12736/librt-0.7.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:955c62571de0b181d9e9e0a0303c8bc90d47670a5eff54cf71bf5da61d1899cf", size = 199272, upload-time = "2026-01-01T23:51:25.341Z" }, + { url = "https://files.pythonhosted.org/packages/18/87/8202c9bd0968bdddc188ec3811985f47f58ed161b3749299f2c0dd0f63fb/librt-0.7.7-cp312-cp312-win32.whl", hash = "sha256:1bcd79be209313b270b0e1a51c67ae1af28adad0e0c7e84c3ad4b5cb57aaa75b", size = 43189, upload-time = "2026-01-01T23:51:26.799Z" }, + { url = "https://files.pythonhosted.org/packages/61/8d/80244b267b585e7aa79ffdac19f66c4861effc3a24598e77909ecdd0850e/librt-0.7.7-cp312-cp312-win_amd64.whl", hash = "sha256:4353ee891a1834567e0302d4bd5e60f531912179578c36f3d0430f8c5e16b456", size = 49462, upload-time = "2026-01-01T23:51:27.813Z" }, + { url = "https://files.pythonhosted.org/packages/2d/1f/75db802d6a4992d95e8a889682601af9b49d5a13bbfa246d414eede1b56c/librt-0.7.7-cp312-cp312-win_arm64.whl", hash = "sha256:a76f1d679beccccdf8c1958e732a1dfcd6e749f8821ee59d7bec009ac308c029", size = 42828, upload-time = "2026-01-01T23:51:28.804Z" }, + { url = "https://files.pythonhosted.org/packages/8d/5e/d979ccb0a81407ec47c14ea68fb217ff4315521730033e1dd9faa4f3e2c1/librt-0.7.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8f4a0b0a3c86ba9193a8e23bb18f100d647bf192390ae195d84dfa0a10fb6244", size = 55746, upload-time = "2026-01-01T23:51:29.828Z" }, + { url = "https://files.pythonhosted.org/packages/f5/2c/3b65861fb32f802c3783d6ac66fc5589564d07452a47a8cf9980d531cad3/librt-0.7.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5335890fea9f9e6c4fdf8683061b9ccdcbe47c6dc03ab8e9b68c10acf78be78d", size = 57174, upload-time = "2026-01-01T23:51:31.226Z" }, + { url = "https://files.pythonhosted.org/packages/50/df/030b50614b29e443607220097ebaf438531ea218c7a9a3e21ea862a919cd/librt-0.7.7-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:9b4346b1225be26def3ccc6c965751c74868f0578cbcba293c8ae9168483d811", size = 165834, upload-time = "2026-01-01T23:51:32.278Z" }, + { url = "https://files.pythonhosted.org/packages/5d/e1/bd8d1eacacb24be26a47f157719553bbd1b3fe812c30dddf121c0436fd0b/librt-0.7.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a10b8eebdaca6e9fdbaf88b5aefc0e324b763a5f40b1266532590d5afb268a4c", size = 174819, upload-time = "2026-01-01T23:51:33.461Z" }, + { url = "https://files.pythonhosted.org/packages/46/7d/91d6c3372acf54a019c1ad8da4c9ecf4fc27d039708880bf95f48dbe426a/librt-0.7.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:067be973d90d9e319e6eb4ee2a9b9307f0ecd648b8a9002fa237289a4a07a9e7", size = 189607, upload-time = "2026-01-01T23:51:34.604Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ac/44604d6d3886f791fbd1c6ae12d5a782a8f4aca927484731979f5e92c200/librt-0.7.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:23d2299ed007812cccc1ecef018db7d922733382561230de1f3954db28433977", size = 184586, upload-time = "2026-01-01T23:51:35.845Z" }, + { url = "https://files.pythonhosted.org/packages/5c/26/d8a6e4c17117b7f9b83301319d9a9de862ae56b133efb4bad8b3aa0808c9/librt-0.7.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6b6f8ea465524aa4c7420c7cc4ca7d46fe00981de8debc67b1cc2e9957bb5b9d", size = 178251, upload-time = "2026-01-01T23:51:37.018Z" }, + { url = "https://files.pythonhosted.org/packages/99/ab/98d857e254376f8e2f668e807daccc1f445e4b4fc2f6f9c1cc08866b0227/librt-0.7.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f8df32a99cc46eb0ee90afd9ada113ae2cafe7e8d673686cf03ec53e49635439", size = 199853, upload-time = "2026-01-01T23:51:38.195Z" }, + { url = "https://files.pythonhosted.org/packages/7c/55/4523210d6ae5134a5da959900be43ad8bab2e4206687b6620befddb5b5fd/librt-0.7.7-cp313-cp313-win32.whl", hash = "sha256:86f86b3b785487c7760247bcdac0b11aa8bf13245a13ed05206286135877564b", size = 43247, upload-time = "2026-01-01T23:51:39.629Z" }, + { url = "https://files.pythonhosted.org/packages/25/40/3ec0fed5e8e9297b1cf1a3836fb589d3de55f9930e3aba988d379e8ef67c/librt-0.7.7-cp313-cp313-win_amd64.whl", hash = "sha256:4862cb2c702b1f905c0503b72d9d4daf65a7fdf5a9e84560e563471e57a56949", size = 49419, upload-time = "2026-01-01T23:51:40.674Z" }, + { url = "https://files.pythonhosted.org/packages/1c/7a/aab5f0fb122822e2acbc776addf8b9abfb4944a9056c00c393e46e543177/librt-0.7.7-cp313-cp313-win_arm64.whl", hash = "sha256:0996c83b1cb43c00e8c87835a284f9057bc647abd42b5871e5f941d30010c832", size = 42828, upload-time = "2026-01-01T23:51:41.731Z" }, + { url = "https://files.pythonhosted.org/packages/69/9c/228a5c1224bd23809a635490a162e9cbdc68d99f0eeb4a696f07886b8206/librt-0.7.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:23daa1ab0512bafdd677eb1bfc9611d8ffbe2e328895671e64cb34166bc1b8c8", size = 55188, upload-time = "2026-01-01T23:51:43.14Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c2/0e7c6067e2b32a156308205e5728f4ed6478c501947e9142f525afbc6bd2/librt-0.7.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:558a9e5a6f3cc1e20b3168fb1dc802d0d8fa40731f6e9932dcc52bbcfbd37111", size = 56895, upload-time = "2026-01-01T23:51:44.534Z" }, + { url = "https://files.pythonhosted.org/packages/0e/77/de50ff70c80855eb79d1d74035ef06f664dd073fb7fb9d9fb4429651b8eb/librt-0.7.7-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:2567cb48dc03e5b246927ab35cbb343376e24501260a9b5e30b8e255dca0d1d2", size = 163724, upload-time = "2026-01-01T23:51:45.571Z" }, + { url = "https://files.pythonhosted.org/packages/6e/19/f8e4bf537899bdef9e0bb9f0e4b18912c2d0f858ad02091b6019864c9a6d/librt-0.7.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6066c638cdf85ff92fc6f932d2d73c93a0e03492cdfa8778e6d58c489a3d7259", size = 172470, upload-time = "2026-01-01T23:51:46.823Z" }, + { url = "https://files.pythonhosted.org/packages/42/4c/dcc575b69d99076768e8dd6141d9aecd4234cba7f0e09217937f52edb6ed/librt-0.7.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a609849aca463074c17de9cda173c276eb8fee9e441053529e7b9e249dc8b8ee", size = 186806, upload-time = "2026-01-01T23:51:48.009Z" }, + { url = "https://files.pythonhosted.org/packages/fe/f8/4094a2b7816c88de81239a83ede6e87f1138477d7ee956c30f136009eb29/librt-0.7.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:add4e0a000858fe9bb39ed55f31085506a5c38363e6eb4a1e5943a10c2bfc3d1", size = 181809, upload-time = "2026-01-01T23:51:49.35Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ac/821b7c0ab1b5a6cd9aee7ace8309c91545a2607185101827f79122219a7e/librt-0.7.7-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a3bfe73a32bd0bdb9a87d586b05a23c0a1729205d79df66dee65bb2e40d671ba", size = 175597, upload-time = "2026-01-01T23:51:50.636Z" }, + { url = "https://files.pythonhosted.org/packages/71/f9/27f6bfbcc764805864c04211c6ed636fe1d58f57a7b68d1f4ae5ed74e0e0/librt-0.7.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:0ecce0544d3db91a40f8b57ae26928c02130a997b540f908cefd4d279d6c5848", size = 196506, upload-time = "2026-01-01T23:51:52.535Z" }, + { url = "https://files.pythonhosted.org/packages/46/ba/c9b9c6fc931dd7ea856c573174ccaf48714905b1a7499904db2552e3bbaf/librt-0.7.7-cp314-cp314-win32.whl", hash = "sha256:8f7a74cf3a80f0c3b0ec75b0c650b2f0a894a2cec57ef75f6f72c1e82cdac61d", size = 39747, upload-time = "2026-01-01T23:51:53.683Z" }, + { url = "https://files.pythonhosted.org/packages/c5/69/cd1269337c4cde3ee70176ee611ab0058aa42fc8ce5c9dce55f48facfcd8/librt-0.7.7-cp314-cp314-win_amd64.whl", hash = "sha256:3d1fe2e8df3268dd6734dba33ededae72ad5c3a859b9577bc00b715759c5aaab", size = 45971, upload-time = "2026-01-01T23:51:54.697Z" }, + { url = "https://files.pythonhosted.org/packages/79/fd/e0844794423f5583108c5991313c15e2b400995f44f6ec6871f8aaf8243c/librt-0.7.7-cp314-cp314-win_arm64.whl", hash = "sha256:2987cf827011907d3dfd109f1be0d61e173d68b1270107bb0e89f2fca7f2ed6b", size = 39075, upload-time = "2026-01-01T23:51:55.726Z" }, + { url = "https://files.pythonhosted.org/packages/42/02/211fd8f7c381e7b2a11d0fdfcd410f409e89967be2e705983f7c6342209a/librt-0.7.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8e92c8de62b40bfce91d5e12c6e8b15434da268979b1af1a6589463549d491e6", size = 57368, upload-time = "2026-01-01T23:51:56.706Z" }, + { url = "https://files.pythonhosted.org/packages/4c/b6/aca257affae73ece26041ae76032153266d110453173f67d7603058e708c/librt-0.7.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f683dcd49e2494a7535e30f779aa1ad6e3732a019d80abe1309ea91ccd3230e3", size = 59238, upload-time = "2026-01-01T23:51:58.066Z" }, + { url = "https://files.pythonhosted.org/packages/96/47/7383a507d8e0c11c78ca34c9d36eab9000db5989d446a2f05dc40e76c64f/librt-0.7.7-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:9b15e5d17812d4d629ff576699954f74e2cc24a02a4fc401882dd94f81daba45", size = 183870, upload-time = "2026-01-01T23:51:59.204Z" }, + { url = "https://files.pythonhosted.org/packages/a4/b8/50f3d8eec8efdaf79443963624175c92cec0ba84827a66b7fcfa78598e51/librt-0.7.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c084841b879c4d9b9fa34e5d5263994f21aea7fd9c6add29194dbb41a6210536", size = 194608, upload-time = "2026-01-01T23:52:00.419Z" }, + { url = "https://files.pythonhosted.org/packages/23/d9/1b6520793aadb59d891e3b98ee057a75de7f737e4a8b4b37fdbecb10d60f/librt-0.7.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10c8fb9966f84737115513fecbaf257f9553d067a7dd45a69c2c7e5339e6a8dc", size = 206776, upload-time = "2026-01-01T23:52:01.705Z" }, + { url = "https://files.pythonhosted.org/packages/ff/db/331edc3bba929d2756fa335bfcf736f36eff4efcb4f2600b545a35c2ae58/librt-0.7.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:9b5fb1ecb2c35362eab2dbd354fd1efa5a8440d3e73a68be11921042a0edc0ff", size = 203206, upload-time = "2026-01-01T23:52:03.315Z" }, + { url = "https://files.pythonhosted.org/packages/b2/e1/6af79ec77204e85f6f2294fc171a30a91bb0e35d78493532ed680f5d98be/librt-0.7.7-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:d1454899909d63cc9199a89fcc4f81bdd9004aef577d4ffc022e600c412d57f3", size = 196697, upload-time = "2026-01-01T23:52:04.857Z" }, + { url = "https://files.pythonhosted.org/packages/f3/46/de55ecce4b2796d6d243295c221082ca3a944dc2fb3a52dcc8660ce7727d/librt-0.7.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:7ef28f2e7a016b29792fe0a2dd04dec75725b32a1264e390c366103f834a9c3a", size = 217193, upload-time = "2026-01-01T23:52:06.159Z" }, + { url = "https://files.pythonhosted.org/packages/41/61/33063e271949787a2f8dd33c5260357e3d512a114fc82ca7890b65a76e2d/librt-0.7.7-cp314-cp314t-win32.whl", hash = "sha256:5e419e0db70991b6ba037b70c1d5bbe92b20ddf82f31ad01d77a347ed9781398", size = 40277, upload-time = "2026-01-01T23:52:07.625Z" }, + { url = "https://files.pythonhosted.org/packages/06/21/1abd972349f83a696ea73159ac964e63e2d14086fdd9bc7ca878c25fced4/librt-0.7.7-cp314-cp314t-win_amd64.whl", hash = "sha256:d6b7d93657332c817b8d674ef6bf1ab7796b4f7ce05e420fd45bd258a72ac804", size = 46765, upload-time = "2026-01-01T23:52:08.647Z" }, + { url = "https://files.pythonhosted.org/packages/51/0e/b756c7708143a63fca65a51ca07990fa647db2cc8fcd65177b9e96680255/librt-0.7.7-cp314-cp314t-win_arm64.whl", hash = "sha256:142c2cd91794b79fd0ce113bd658993b7ede0fe93057668c2f98a45ca00b7e91", size = 39724, upload-time = "2026-01-01T23:52:09.745Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "metadata-scrubber-tool" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "piexif" }, + { name = "pillow" }, + { name = "rich" }, + { name = "typer" }, +] + +[package.optional-dependencies] +dev = [ + { name = "mypy" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [ + { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.19.0" }, + { name = "piexif", specifier = ">=1.1.3" }, + { name = "pillow", specifier = ">=12.0.0" }, + { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.0.0" }, + { name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=6.0.0" }, + { name = "rich", specifier = ">=14.0.0" }, + { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.14.0" }, + { name = "typer", specifier = ">=0.21.0" }, +] +provides-extras = ["dev"] + +[[package]] +name = "mypy" +version = "1.19.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "librt", marker = "platform_python_implementation != 'PyPy'" }, + { name = "mypy-extensions" }, + { name = "pathspec" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f5/db/4efed9504bc01309ab9c2da7e352cc223569f05478012b5d9ece38fd44d2/mypy-1.19.1.tar.gz", hash = "sha256:19d88bb05303fe63f71dd2c6270daca27cb9401c4ca8255fe50d1d920e0eb9ba", size = 3582404, upload-time = "2025-12-15T05:03:48.42Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2f/63/e499890d8e39b1ff2df4c0c6ce5d371b6844ee22b8250687a99fd2f657a8/mypy-1.19.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5f05aa3d375b385734388e844bc01733bd33c644ab48e9684faa54e5389775ec", size = 13101333, upload-time = "2025-12-15T05:03:03.28Z" }, + { url = "https://files.pythonhosted.org/packages/72/4b/095626fc136fba96effc4fd4a82b41d688ab92124f8c4f7564bffe5cf1b0/mypy-1.19.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:022ea7279374af1a5d78dfcab853fe6a536eebfda4b59deab53cd21f6cd9f00b", size = 12164102, upload-time = "2025-12-15T05:02:33.611Z" }, + { url = "https://files.pythonhosted.org/packages/0c/5b/952928dd081bf88a83a5ccd49aaecfcd18fd0d2710c7ff07b8fb6f7032b9/mypy-1.19.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee4c11e460685c3e0c64a4c5de82ae143622410950d6be863303a1c4ba0e36d6", size = 12765799, upload-time = "2025-12-15T05:03:28.44Z" }, + { url = "https://files.pythonhosted.org/packages/2a/0d/93c2e4a287f74ef11a66fb6d49c7a9f05e47b0a4399040e6719b57f500d2/mypy-1.19.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de759aafbae8763283b2ee5869c7255391fbc4de3ff171f8f030b5ec48381b74", size = 13522149, upload-time = "2025-12-15T05:02:36.011Z" }, + { url = "https://files.pythonhosted.org/packages/7b/0e/33a294b56aaad2b338d203e3a1d8b453637ac36cb278b45005e0901cf148/mypy-1.19.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ab43590f9cd5108f41aacf9fca31841142c786827a74ab7cc8a2eacb634e09a1", size = 13810105, upload-time = "2025-12-15T05:02:40.327Z" }, + { url = "https://files.pythonhosted.org/packages/0e/fd/3e82603a0cb66b67c5e7abababce6bf1a929ddf67bf445e652684af5c5a0/mypy-1.19.1-cp310-cp310-win_amd64.whl", hash = "sha256:2899753e2f61e571b3971747e302d5f420c3fd09650e1951e99f823bc3089dac", size = 10057200, upload-time = "2025-12-15T05:02:51.012Z" }, + { url = "https://files.pythonhosted.org/packages/ef/47/6b3ebabd5474d9cdc170d1342fbf9dddc1b0ec13ec90bf9004ee6f391c31/mypy-1.19.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d8dfc6ab58ca7dda47d9237349157500468e404b17213d44fc1cb77bce532288", size = 13028539, upload-time = "2025-12-15T05:03:44.129Z" }, + { url = "https://files.pythonhosted.org/packages/5c/a6/ac7c7a88a3c9c54334f53a941b765e6ec6c4ebd65d3fe8cdcfbe0d0fd7db/mypy-1.19.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e3f276d8493c3c97930e354b2595a44a21348b320d859fb4a2b9f66da9ed27ab", size = 12083163, upload-time = "2025-12-15T05:03:37.679Z" }, + { url = "https://files.pythonhosted.org/packages/67/af/3afa9cf880aa4a2c803798ac24f1d11ef72a0c8079689fac5cfd815e2830/mypy-1.19.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2abb24cf3f17864770d18d673c85235ba52456b36a06b6afc1e07c1fdcd3d0e6", size = 12687629, upload-time = "2025-12-15T05:02:31.526Z" }, + { url = "https://files.pythonhosted.org/packages/2d/46/20f8a7114a56484ab268b0ab372461cb3a8f7deed31ea96b83a4e4cfcfca/mypy-1.19.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a009ffa5a621762d0c926a078c2d639104becab69e79538a494bcccb62cc0331", size = 13436933, upload-time = "2025-12-15T05:03:15.606Z" }, + { url = "https://files.pythonhosted.org/packages/5b/f8/33b291ea85050a21f15da910002460f1f445f8007adb29230f0adea279cb/mypy-1.19.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f7cee03c9a2e2ee26ec07479f38ea9c884e301d42c6d43a19d20fb014e3ba925", size = 13661754, upload-time = "2025-12-15T05:02:26.731Z" }, + { url = "https://files.pythonhosted.org/packages/fd/a3/47cbd4e85bec4335a9cd80cf67dbc02be21b5d4c9c23ad6b95d6c5196bac/mypy-1.19.1-cp311-cp311-win_amd64.whl", hash = "sha256:4b84a7a18f41e167f7995200a1d07a4a6810e89d29859df936f1c3923d263042", size = 10055772, upload-time = "2025-12-15T05:03:26.179Z" }, + { url = "https://files.pythonhosted.org/packages/06/8a/19bfae96f6615aa8a0604915512e0289b1fad33d5909bf7244f02935d33a/mypy-1.19.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a8174a03289288c1f6c46d55cef02379b478bfbc8e358e02047487cad44c6ca1", size = 13206053, upload-time = "2025-12-15T05:03:46.622Z" }, + { url = "https://files.pythonhosted.org/packages/a5/34/3e63879ab041602154ba2a9f99817bb0c85c4df19a23a1443c8986e4d565/mypy-1.19.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ffcebe56eb09ff0c0885e750036a095e23793ba6c2e894e7e63f6d89ad51f22e", size = 12219134, upload-time = "2025-12-15T05:03:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/89/cc/2db6f0e95366b630364e09845672dbee0cbf0bbe753a204b29a944967cd9/mypy-1.19.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b64d987153888790bcdb03a6473d321820597ab8dd9243b27a92153c4fa50fd2", size = 12731616, upload-time = "2025-12-15T05:02:44.725Z" }, + { url = "https://files.pythonhosted.org/packages/00/be/dd56c1fd4807bc1eba1cf18b2a850d0de7bacb55e158755eb79f77c41f8e/mypy-1.19.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c35d298c2c4bba75feb2195655dfea8124d855dfd7343bf8b8c055421eaf0cf8", size = 13620847, upload-time = "2025-12-15T05:03:39.633Z" }, + { url = "https://files.pythonhosted.org/packages/6d/42/332951aae42b79329f743bf1da088cd75d8d4d9acc18fbcbd84f26c1af4e/mypy-1.19.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:34c81968774648ab5ac09c29a375fdede03ba253f8f8287847bd480782f73a6a", size = 13834976, upload-time = "2025-12-15T05:03:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/6f/63/e7493e5f90e1e085c562bb06e2eb32cae27c5057b9653348d38b47daaecc/mypy-1.19.1-cp312-cp312-win_amd64.whl", hash = "sha256:b10e7c2cd7870ba4ad9b2d8a6102eb5ffc1f16ca35e3de6bfa390c1113029d13", size = 10118104, upload-time = "2025-12-15T05:03:10.834Z" }, + { url = "https://files.pythonhosted.org/packages/de/9f/a6abae693f7a0c697dbb435aac52e958dc8da44e92e08ba88d2e42326176/mypy-1.19.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e3157c7594ff2ef1634ee058aafc56a82db665c9438fd41b390f3bde1ab12250", size = 13201927, upload-time = "2025-12-15T05:02:29.138Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a4/45c35ccf6e1c65afc23a069f50e2c66f46bd3798cbe0d680c12d12935caa/mypy-1.19.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdb12f69bcc02700c2b47e070238f42cb87f18c0bc1fc4cdb4fb2bc5fd7a3b8b", size = 12206730, upload-time = "2025-12-15T05:03:01.325Z" }, + { url = "https://files.pythonhosted.org/packages/05/bb/cdcf89678e26b187650512620eec8368fded4cfd99cfcb431e4cdfd19dec/mypy-1.19.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f859fb09d9583a985be9a493d5cfc5515b56b08f7447759a0c5deaf68d80506e", size = 12724581, upload-time = "2025-12-15T05:03:20.087Z" }, + { url = "https://files.pythonhosted.org/packages/d1/32/dd260d52babf67bad8e6770f8e1102021877ce0edea106e72df5626bb0ec/mypy-1.19.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c9a6538e0415310aad77cb94004ca6482330fece18036b5f360b62c45814c4ef", size = 13616252, upload-time = "2025-12-15T05:02:49.036Z" }, + { url = "https://files.pythonhosted.org/packages/71/d0/5e60a9d2e3bd48432ae2b454b7ef2b62a960ab51292b1eda2a95edd78198/mypy-1.19.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:da4869fc5e7f62a88f3fe0b5c919d1d9f7ea3cef92d3689de2823fd27e40aa75", size = 13840848, upload-time = "2025-12-15T05:02:55.95Z" }, + { url = "https://files.pythonhosted.org/packages/98/76/d32051fa65ecf6cc8c6610956473abdc9b4c43301107476ac03559507843/mypy-1.19.1-cp313-cp313-win_amd64.whl", hash = "sha256:016f2246209095e8eda7538944daa1d60e1e8134d98983b9fc1e92c1fc0cb8dd", size = 10135510, upload-time = "2025-12-15T05:02:58.438Z" }, + { url = "https://files.pythonhosted.org/packages/de/eb/b83e75f4c820c4247a58580ef86fcd35165028f191e7e1ba57128c52782d/mypy-1.19.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:06e6170bd5836770e8104c8fdd58e5e725cfeb309f0a6c681a811f557e97eac1", size = 13199744, upload-time = "2025-12-15T05:03:30.823Z" }, + { url = "https://files.pythonhosted.org/packages/94/28/52785ab7bfa165f87fcbb61547a93f98bb20e7f82f90f165a1f69bce7b3d/mypy-1.19.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:804bd67b8054a85447c8954215a906d6eff9cabeabe493fb6334b24f4bfff718", size = 12215815, upload-time = "2025-12-15T05:02:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/0a/c6/bdd60774a0dbfb05122e3e925f2e9e846c009e479dcec4821dad881f5b52/mypy-1.19.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:21761006a7f497cb0d4de3d8ef4ca70532256688b0523eee02baf9eec895e27b", size = 12740047, upload-time = "2025-12-15T05:03:33.168Z" }, + { url = "https://files.pythonhosted.org/packages/32/2a/66ba933fe6c76bd40d1fe916a83f04fed253152f451a877520b3c4a5e41e/mypy-1.19.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:28902ee51f12e0f19e1e16fbe2f8f06b6637f482c459dd393efddd0ec7f82045", size = 13601998, upload-time = "2025-12-15T05:03:13.056Z" }, + { url = "https://files.pythonhosted.org/packages/e3/da/5055c63e377c5c2418760411fd6a63ee2b96cf95397259038756c042574f/mypy-1.19.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:481daf36a4c443332e2ae9c137dfee878fcea781a2e3f895d54bd3002a900957", size = 13807476, upload-time = "2025-12-15T05:03:17.977Z" }, + { url = "https://files.pythonhosted.org/packages/cd/09/4ebd873390a063176f06b0dbf1f7783dd87bd120eae7727fa4ae4179b685/mypy-1.19.1-cp314-cp314-win_amd64.whl", hash = "sha256:8bb5c6f6d043655e055be9b542aa5f3bdd30e4f3589163e85f93f3640060509f", size = 10281872, upload-time = "2025-12-15T05:03:05.549Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f4/4ce9a05ce5ded1de3ec1c1d96cf9f9504a04e54ce0ed55cfa38619a32b8d/mypy-1.19.1-py3-none-any.whl", hash = "sha256:f1235f5ea01b7db5468d53ece6aaddf1ad0b88d9e7462b86ef96fe04995d7247", size = 2471239, upload-time = "2025-12-15T05:03:07.248Z" }, +] + +[[package]] +name = "mypy-extensions" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pathspec" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/28/2e/83722ece0f6ee24387d6cb830dd562ddbcd6ce0b9d76072c6849670c31b4/pathspec-1.0.1.tar.gz", hash = "sha256:e2769b508d0dd47b09af6ee2c75b2744a2cb1f474ae4b1494fd6a1b7a841613c", size = 129791, upload-time = "2026-01-06T13:02:55.15Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/fe/2257c71721aeab6a6e8aa1f00d01f2a20f58547d249a6c8fef5791f559fc/pathspec-1.0.1-py3-none-any.whl", hash = "sha256:8870061f22c58e6d83463cfce9a7dd6eca0512c772c1001fb09ac64091816721", size = 54584, upload-time = "2026-01-06T13:02:53.601Z" }, +] + +[[package]] +name = "piexif" +version = "1.1.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/84/a3f25cec7d0922bf60be8000c9739d28d24b6896717f44cc4cfb843b1487/piexif-1.1.3.zip", hash = "sha256:83cb35c606bf3a1ea1a8f0a25cb42cf17e24353fd82e87ae3884e74a302a5f1b", size = 1011134, upload-time = "2019-07-01T15:29:23.045Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/d8/6f63147dd73373d051c5eb049ecd841207f898f50a5a1d4378594178f6cf/piexif-1.1.3-py2.py3-none-any.whl", hash = "sha256:3bc435d171720150b81b15d27e05e54b8abbde7b4242cddd81ef160d283108b6", size = 20691, upload-time = "2019-07-01T15:43:20.907Z" }, +] + +[[package]] +name = "pillow" +version = "12.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/02/d52c733a2452ef1ffcc123b68e6606d07276b0e358db70eabad7e40042b7/pillow-12.1.0.tar.gz", hash = "sha256:5c5ae0a06e9ea030ab786b0251b32c7e4ce10e58d983c0d5c56029455180b5b9", size = 46977283, upload-time = "2026-01-02T09:13:29.892Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/41/f73d92b6b883a579e79600d391f2e21cb0df767b2714ecbd2952315dfeef/pillow-12.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:fb125d860738a09d363a88daa0f59c4533529a90e564785e20fe875b200b6dbd", size = 5304089, upload-time = "2026-01-02T09:10:24.953Z" }, + { url = "https://files.pythonhosted.org/packages/94/55/7aca2891560188656e4a91ed9adba305e914a4496800da6b5c0a15f09edf/pillow-12.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cad302dc10fac357d3467a74a9561c90609768a6f73a1923b0fd851b6486f8b0", size = 4657815, upload-time = "2026-01-02T09:10:27.063Z" }, + { url = "https://files.pythonhosted.org/packages/e9/d2/b28221abaa7b4c40b7dba948f0f6a708bd7342c4d47ce342f0ea39643974/pillow-12.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a40905599d8079e09f25027423aed94f2823adaf2868940de991e53a449e14a8", size = 6222593, upload-time = "2026-01-02T09:10:29.115Z" }, + { url = "https://files.pythonhosted.org/packages/71/b8/7a61fb234df6a9b0b479f69e66901209d89ff72a435b49933f9122f94cac/pillow-12.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:92a7fe4225365c5e3a8e598982269c6d6698d3e783b3b1ae979e7819f9cd55c1", size = 8027579, upload-time = "2026-01-02T09:10:31.182Z" }, + { url = "https://files.pythonhosted.org/packages/ea/51/55c751a57cc524a15a0e3db20e5cde517582359508d62305a627e77fd295/pillow-12.1.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f10c98f49227ed8383d28174ee95155a675c4ed7f85e2e573b04414f7e371bda", size = 6335760, upload-time = "2026-01-02T09:10:33.02Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7c/60e3e6f5e5891a1a06b4c910f742ac862377a6fe842f7184df4a274ce7bf/pillow-12.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8637e29d13f478bc4f153d8daa9ffb16455f0a6cb287da1b432fdad2bfbd66c7", size = 7027127, upload-time = "2026-01-02T09:10:35.009Z" }, + { url = "https://files.pythonhosted.org/packages/06/37/49d47266ba50b00c27ba63a7c898f1bb41a29627ced8c09e25f19ebec0ff/pillow-12.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:21e686a21078b0f9cb8c8a961d99e6a4ddb88e0fc5ea6e130172ddddc2e5221a", size = 6449896, upload-time = "2026-01-02T09:10:36.793Z" }, + { url = "https://files.pythonhosted.org/packages/f9/e5/67fd87d2913902462cd9b79c6211c25bfe95fcf5783d06e1367d6d9a741f/pillow-12.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2415373395a831f53933c23ce051021e79c8cd7979822d8cc478547a3f4da8ef", size = 7151345, upload-time = "2026-01-02T09:10:39.064Z" }, + { url = "https://files.pythonhosted.org/packages/bd/15/f8c7abf82af68b29f50d77c227e7a1f87ce02fdc66ded9bf603bc3b41180/pillow-12.1.0-cp310-cp310-win32.whl", hash = "sha256:e75d3dba8fc1ddfec0cd752108f93b83b4f8d6ab40e524a95d35f016b9683b09", size = 6325568, upload-time = "2026-01-02T09:10:41.035Z" }, + { url = "https://files.pythonhosted.org/packages/d4/24/7d1c0e160b6b5ac2605ef7d8be537e28753c0db5363d035948073f5513d7/pillow-12.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:64efdf00c09e31efd754448a383ea241f55a994fd079866b92d2bbff598aad91", size = 7032367, upload-time = "2026-01-02T09:10:43.09Z" }, + { url = "https://files.pythonhosted.org/packages/f4/03/41c038f0d7a06099254c60f618d0ec7be11e79620fc23b8e85e5b31d9a44/pillow-12.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:f188028b5af6b8fb2e9a76ac0f841a575bd1bd396e46ef0840d9b88a48fdbcea", size = 2452345, upload-time = "2026-01-02T09:10:44.795Z" }, + { url = "https://files.pythonhosted.org/packages/43/c4/bf8328039de6cc22182c3ef007a2abfbbdab153661c0a9aa78af8d706391/pillow-12.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:a83e0850cb8f5ac975291ebfc4170ba481f41a28065277f7f735c202cd8e0af3", size = 5304057, upload-time = "2026-01-02T09:10:46.627Z" }, + { url = "https://files.pythonhosted.org/packages/43/06/7264c0597e676104cc22ca73ee48f752767cd4b1fe084662620b17e10120/pillow-12.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b6e53e82ec2db0717eabb276aa56cf4e500c9a7cec2c2e189b55c24f65a3e8c0", size = 4657811, upload-time = "2026-01-02T09:10:49.548Z" }, + { url = "https://files.pythonhosted.org/packages/72/64/f9189e44474610daf83da31145fa56710b627b5c4c0b9c235e34058f6b31/pillow-12.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:40a8e3b9e8773876d6e30daed22f016509e3987bab61b3b7fe309d7019a87451", size = 6232243, upload-time = "2026-01-02T09:10:51.62Z" }, + { url = "https://files.pythonhosted.org/packages/ef/30/0df458009be6a4caca4ca2c52975e6275c387d4e5c95544e34138b41dc86/pillow-12.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:800429ac32c9b72909c671aaf17ecd13110f823ddb7db4dfef412a5587c2c24e", size = 8037872, upload-time = "2026-01-02T09:10:53.446Z" }, + { url = "https://files.pythonhosted.org/packages/e4/86/95845d4eda4f4f9557e25381d70876aa213560243ac1a6d619c46caaedd9/pillow-12.1.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b022eaaf709541b391ee069f0022ee5b36c709df71986e3f7be312e46f42c84", size = 6345398, upload-time = "2026-01-02T09:10:55.426Z" }, + { url = "https://files.pythonhosted.org/packages/5c/1f/8e66ab9be3aaf1435bc03edd1ebdf58ffcd17f7349c1d970cafe87af27d9/pillow-12.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1f345e7bc9d7f368887c712aa5054558bad44d2a301ddf9248599f4161abc7c0", size = 7034667, upload-time = "2026-01-02T09:10:57.11Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f6/683b83cb9b1db1fb52b87951b1c0b99bdcfceaa75febf11406c19f82cb5e/pillow-12.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d70347c8a5b7ccd803ec0c85c8709f036e6348f1e6a5bf048ecd9c64d3550b8b", size = 6458743, upload-time = "2026-01-02T09:10:59.331Z" }, + { url = "https://files.pythonhosted.org/packages/9a/7d/de833d63622538c1d58ce5395e7c6cb7e7dce80decdd8bde4a484e095d9f/pillow-12.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1fcc52d86ce7a34fd17cb04e87cfdb164648a3662a6f20565910a99653d66c18", size = 7159342, upload-time = "2026-01-02T09:11:01.82Z" }, + { url = "https://files.pythonhosted.org/packages/8c/40/50d86571c9e5868c42b81fe7da0c76ca26373f3b95a8dd675425f4a92ec1/pillow-12.1.0-cp311-cp311-win32.whl", hash = "sha256:3ffaa2f0659e2f740473bcf03c702c39a8d4b2b7ffc629052028764324842c64", size = 6328655, upload-time = "2026-01-02T09:11:04.556Z" }, + { url = "https://files.pythonhosted.org/packages/6c/af/b1d7e301c4cd26cd45d4af884d9ee9b6fab893b0ad2450d4746d74a6968c/pillow-12.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:806f3987ffe10e867bab0ddad45df1148a2b98221798457fa097ad85d6e8bc75", size = 7031469, upload-time = "2026-01-02T09:11:06.538Z" }, + { url = "https://files.pythonhosted.org/packages/48/36/d5716586d887fb2a810a4a61518a327a1e21c8b7134c89283af272efe84b/pillow-12.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:9f5fefaca968e700ad1a4a9de98bf0869a94e397fe3524c4c9450c1445252304", size = 2452515, upload-time = "2026-01-02T09:11:08.226Z" }, + { url = "https://files.pythonhosted.org/packages/20/31/dc53fe21a2f2996e1b7d92bf671cdb157079385183ef7c1ae08b485db510/pillow-12.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a332ac4ccb84b6dde65dbace8431f3af08874bf9770719d32a635c4ef411b18b", size = 5262642, upload-time = "2026-01-02T09:11:10.138Z" }, + { url = "https://files.pythonhosted.org/packages/ab/c1/10e45ac9cc79419cedf5121b42dcca5a50ad2b601fa080f58c22fb27626e/pillow-12.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:907bfa8a9cb790748a9aa4513e37c88c59660da3bcfffbd24a7d9e6abf224551", size = 4657464, upload-time = "2026-01-02T09:11:12.319Z" }, + { url = "https://files.pythonhosted.org/packages/ad/26/7b82c0ab7ef40ebede7a97c72d473bda5950f609f8e0c77b04af574a0ddb/pillow-12.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:efdc140e7b63b8f739d09a99033aa430accce485ff78e6d311973a67b6bf3208", size = 6234878, upload-time = "2026-01-02T09:11:14.096Z" }, + { url = "https://files.pythonhosted.org/packages/76/25/27abc9792615b5e886ca9411ba6637b675f1b77af3104710ac7353fe5605/pillow-12.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bef9768cab184e7ae6e559c032e95ba8d07b3023c289f79a2bd36e8bf85605a5", size = 8044868, upload-time = "2026-01-02T09:11:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/0a/ea/f200a4c36d836100e7bc738fc48cd963d3ba6372ebc8298a889e0cfc3359/pillow-12.1.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:742aea052cf5ab5034a53c3846165bc3ce88d7c38e954120db0ab867ca242661", size = 6349468, upload-time = "2026-01-02T09:11:17.631Z" }, + { url = "https://files.pythonhosted.org/packages/11/8f/48d0b77ab2200374c66d344459b8958c86693be99526450e7aee714e03e4/pillow-12.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a6dfc2af5b082b635af6e08e0d1f9f1c4e04d17d4e2ca0ef96131e85eda6eb17", size = 7041518, upload-time = "2026-01-02T09:11:19.389Z" }, + { url = "https://files.pythonhosted.org/packages/1d/23/c281182eb986b5d31f0a76d2a2c8cd41722d6fb8ed07521e802f9bba52de/pillow-12.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:609e89d9f90b581c8d16358c9087df76024cf058fa693dd3e1e1620823f39670", size = 6462829, upload-time = "2026-01-02T09:11:21.28Z" }, + { url = "https://files.pythonhosted.org/packages/25/ef/7018273e0faac099d7b00982abdcc39142ae6f3bd9ceb06de09779c4a9d6/pillow-12.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:43b4899cfd091a9693a1278c4982f3e50f7fb7cff5153b05174b4afc9593b616", size = 7166756, upload-time = "2026-01-02T09:11:23.559Z" }, + { url = "https://files.pythonhosted.org/packages/8f/c8/993d4b7ab2e341fe02ceef9576afcf5830cdec640be2ac5bee1820d693d4/pillow-12.1.0-cp312-cp312-win32.whl", hash = "sha256:aa0c9cc0b82b14766a99fbe6084409972266e82f459821cd26997a488a7261a7", size = 6328770, upload-time = "2026-01-02T09:11:25.661Z" }, + { url = "https://files.pythonhosted.org/packages/a7/87/90b358775a3f02765d87655237229ba64a997b87efa8ccaca7dd3e36e7a7/pillow-12.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:d70534cea9e7966169ad29a903b99fc507e932069a881d0965a1a84bb57f6c6d", size = 7033406, upload-time = "2026-01-02T09:11:27.474Z" }, + { url = "https://files.pythonhosted.org/packages/5d/cf/881b457eccacac9e5b2ddd97d5071fb6d668307c57cbf4e3b5278e06e536/pillow-12.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:65b80c1ee7e14a87d6a068dd3b0aea268ffcabfe0498d38661b00c5b4b22e74c", size = 2452612, upload-time = "2026-01-02T09:11:29.309Z" }, + { url = "https://files.pythonhosted.org/packages/dd/c7/2530a4aa28248623e9d7f27316b42e27c32ec410f695929696f2e0e4a778/pillow-12.1.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:7b5dd7cbae20285cdb597b10eb5a2c13aa9de6cde9bb64a3c1317427b1db1ae1", size = 4062543, upload-time = "2026-01-02T09:11:31.566Z" }, + { url = "https://files.pythonhosted.org/packages/8f/1f/40b8eae823dc1519b87d53c30ed9ef085506b05281d313031755c1705f73/pillow-12.1.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:29a4cef9cb672363926f0470afc516dbf7305a14d8c54f7abbb5c199cd8f8179", size = 4138373, upload-time = "2026-01-02T09:11:33.367Z" }, + { url = "https://files.pythonhosted.org/packages/d4/77/6fa60634cf06e52139fd0e89e5bbf055e8166c691c42fb162818b7fda31d/pillow-12.1.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:681088909d7e8fa9e31b9799aaa59ba5234c58e5e4f1951b4c4d1082a2e980e0", size = 3601241, upload-time = "2026-01-02T09:11:35.011Z" }, + { url = "https://files.pythonhosted.org/packages/4f/bf/28ab865de622e14b747f0cd7877510848252d950e43002e224fb1c9ababf/pillow-12.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:983976c2ab753166dc66d36af6e8ec15bb511e4a25856e2227e5f7e00a160587", size = 5262410, upload-time = "2026-01-02T09:11:36.682Z" }, + { url = "https://files.pythonhosted.org/packages/1c/34/583420a1b55e715937a85bd48c5c0991598247a1fd2eb5423188e765ea02/pillow-12.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:db44d5c160a90df2d24a24760bbd37607d53da0b34fb546c4c232af7192298ac", size = 4657312, upload-time = "2026-01-02T09:11:38.535Z" }, + { url = "https://files.pythonhosted.org/packages/1d/fd/f5a0896839762885b3376ff04878f86ab2b097c2f9a9cdccf4eda8ba8dc0/pillow-12.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6b7a9d1db5dad90e2991645874f708e87d9a3c370c243c2d7684d28f7e133e6b", size = 6232605, upload-time = "2026-01-02T09:11:40.602Z" }, + { url = "https://files.pythonhosted.org/packages/98/aa/938a09d127ac1e70e6ed467bd03834350b33ef646b31edb7452d5de43792/pillow-12.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6258f3260986990ba2fa8a874f8b6e808cf5abb51a94015ca3dc3c68aa4f30ea", size = 8041617, upload-time = "2026-01-02T09:11:42.721Z" }, + { url = "https://files.pythonhosted.org/packages/17/e8/538b24cb426ac0186e03f80f78bc8dc7246c667f58b540bdd57c71c9f79d/pillow-12.1.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e115c15e3bc727b1ca3e641a909f77f8ca72a64fff150f666fcc85e57701c26c", size = 6346509, upload-time = "2026-01-02T09:11:44.955Z" }, + { url = "https://files.pythonhosted.org/packages/01/9a/632e58ec89a32738cabfd9ec418f0e9898a2b4719afc581f07c04a05e3c9/pillow-12.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6741e6f3074a35e47c77b23a4e4f2d90db3ed905cb1c5e6e0d49bff2045632bc", size = 7038117, upload-time = "2026-01-02T09:11:46.736Z" }, + { url = "https://files.pythonhosted.org/packages/c7/a2/d40308cf86eada842ca1f3ffa45d0ca0df7e4ab33c83f81e73f5eaed136d/pillow-12.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:935b9d1aed48fcfb3f838caac506f38e29621b44ccc4f8a64d575cb1b2a88644", size = 6460151, upload-time = "2026-01-02T09:11:48.625Z" }, + { url = "https://files.pythonhosted.org/packages/f1/88/f5b058ad6453a085c5266660a1417bdad590199da1b32fb4efcff9d33b05/pillow-12.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5fee4c04aad8932da9f8f710af2c1a15a83582cfb884152a9caa79d4efcdbf9c", size = 7164534, upload-time = "2026-01-02T09:11:50.445Z" }, + { url = "https://files.pythonhosted.org/packages/19/ce/c17334caea1db789163b5d855a5735e47995b0b5dc8745e9a3605d5f24c0/pillow-12.1.0-cp313-cp313-win32.whl", hash = "sha256:a786bf667724d84aa29b5db1c61b7bfdde380202aaca12c3461afd6b71743171", size = 6332551, upload-time = "2026-01-02T09:11:52.234Z" }, + { url = "https://files.pythonhosted.org/packages/e5/07/74a9d941fa45c90a0d9465098fe1ec85de3e2afbdc15cc4766622d516056/pillow-12.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:461f9dfdafa394c59cd6d818bdfdbab4028b83b02caadaff0ffd433faf4c9a7a", size = 7040087, upload-time = "2026-01-02T09:11:54.822Z" }, + { url = "https://files.pythonhosted.org/packages/88/09/c99950c075a0e9053d8e880595926302575bc742b1b47fe1bbcc8d388d50/pillow-12.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:9212d6b86917a2300669511ed094a9406888362e085f2431a7da985a6b124f45", size = 2452470, upload-time = "2026-01-02T09:11:56.522Z" }, + { url = "https://files.pythonhosted.org/packages/b5/ba/970b7d85ba01f348dee4d65412476321d40ee04dcb51cd3735b9dc94eb58/pillow-12.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:00162e9ca6d22b7c3ee8e61faa3c3253cd19b6a37f126cad04f2f88b306f557d", size = 5264816, upload-time = "2026-01-02T09:11:58.227Z" }, + { url = "https://files.pythonhosted.org/packages/10/60/650f2fb55fdba7a510d836202aa52f0baac633e50ab1cf18415d332188fb/pillow-12.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7d6daa89a00b58c37cb1747ec9fb7ac3bc5ffd5949f5888657dfddde6d1312e0", size = 4660472, upload-time = "2026-01-02T09:12:00.798Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c0/5273a99478956a099d533c4f46cbaa19fd69d606624f4334b85e50987a08/pillow-12.1.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e2479c7f02f9d505682dc47df8c0ea1fc5e264c4d1629a5d63fe3e2334b89554", size = 6268974, upload-time = "2026-01-02T09:12:02.572Z" }, + { url = "https://files.pythonhosted.org/packages/b4/26/0bf714bc2e73d5267887d47931d53c4ceeceea6978148ed2ab2a4e6463c4/pillow-12.1.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f188d580bd870cda1e15183790d1cc2fa78f666e76077d103edf048eed9c356e", size = 8073070, upload-time = "2026-01-02T09:12:04.75Z" }, + { url = "https://files.pythonhosted.org/packages/43/cf/1ea826200de111a9d65724c54f927f3111dc5ae297f294b370a670c17786/pillow-12.1.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0fde7ec5538ab5095cc02df38ee99b0443ff0e1c847a045554cf5f9af1f4aa82", size = 6380176, upload-time = "2026-01-02T09:12:06.626Z" }, + { url = "https://files.pythonhosted.org/packages/03/e0/7938dd2b2013373fd85d96e0f38d62b7a5a262af21ac274250c7ca7847c9/pillow-12.1.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ed07dca4a8464bada6139ab38f5382f83e5f111698caf3191cb8dbf27d908b4", size = 7067061, upload-time = "2026-01-02T09:12:08.624Z" }, + { url = "https://files.pythonhosted.org/packages/86/ad/a2aa97d37272a929a98437a8c0ac37b3cf012f4f8721e1bd5154699b2518/pillow-12.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f45bd71d1fa5e5749587613037b172e0b3b23159d1c00ef2fc920da6f470e6f0", size = 6491824, upload-time = "2026-01-02T09:12:10.488Z" }, + { url = "https://files.pythonhosted.org/packages/a4/44/80e46611b288d51b115826f136fb3465653c28f491068a72d3da49b54cd4/pillow-12.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:277518bf4fe74aa91489e1b20577473b19ee70fb97c374aa50830b279f25841b", size = 7190911, upload-time = "2026-01-02T09:12:12.772Z" }, + { url = "https://files.pythonhosted.org/packages/86/77/eacc62356b4cf81abe99ff9dbc7402750044aed02cfd6a503f7c6fc11f3e/pillow-12.1.0-cp313-cp313t-win32.whl", hash = "sha256:7315f9137087c4e0ee73a761b163fc9aa3b19f5f606a7fc08d83fd3e4379af65", size = 6336445, upload-time = "2026-01-02T09:12:14.775Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3c/57d81d0b74d218706dafccb87a87ea44262c43eef98eb3b164fd000e0491/pillow-12.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:0ddedfaa8b5f0b4ffbc2fa87b556dc59f6bb4ecb14a53b33f9189713ae8053c0", size = 7045354, upload-time = "2026-01-02T09:12:16.599Z" }, + { url = "https://files.pythonhosted.org/packages/ac/82/8b9b97bba2e3576a340f93b044a3a3a09841170ab4c1eb0d5c93469fd32f/pillow-12.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:80941e6d573197a0c28f394753de529bb436b1ca990ed6e765cf42426abc39f8", size = 2454547, upload-time = "2026-01-02T09:12:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/8c/87/bdf971d8bbcf80a348cc3bacfcb239f5882100fe80534b0ce67a784181d8/pillow-12.1.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:5cb7bc1966d031aec37ddb9dcf15c2da5b2e9f7cc3ca7c54473a20a927e1eb91", size = 4062533, upload-time = "2026-01-02T09:12:20.791Z" }, + { url = "https://files.pythonhosted.org/packages/ff/4f/5eb37a681c68d605eb7034c004875c81f86ec9ef51f5be4a63eadd58859a/pillow-12.1.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:97e9993d5ed946aba26baf9c1e8cf18adbab584b99f452ee72f7ee8acb882796", size = 4138546, upload-time = "2026-01-02T09:12:23.664Z" }, + { url = "https://files.pythonhosted.org/packages/11/6d/19a95acb2edbace40dcd582d077b991646b7083c41b98da4ed7555b59733/pillow-12.1.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:414b9a78e14ffeb98128863314e62c3f24b8a86081066625700b7985b3f529bd", size = 3601163, upload-time = "2026-01-02T09:12:26.338Z" }, + { url = "https://files.pythonhosted.org/packages/fc/36/2b8138e51cb42e4cc39c3297713455548be855a50558c3ac2beebdc251dd/pillow-12.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e6bdb408f7c9dd2a5ff2b14a3b0bb6d4deb29fb9961e6eb3ae2031ae9a5cec13", size = 5266086, upload-time = "2026-01-02T09:12:28.782Z" }, + { url = "https://files.pythonhosted.org/packages/53/4b/649056e4d22e1caa90816bf99cef0884aed607ed38075bd75f091a607a38/pillow-12.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:3413c2ae377550f5487991d444428f1a8ae92784aac79caa8b1e3b89b175f77e", size = 4657344, upload-time = "2026-01-02T09:12:31.117Z" }, + { url = "https://files.pythonhosted.org/packages/6c/6b/c5742cea0f1ade0cd61485dc3d81f05261fc2276f537fbdc00802de56779/pillow-12.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e5dcbe95016e88437ecf33544ba5db21ef1b8dd6e1b434a2cb2a3d605299e643", size = 6232114, upload-time = "2026-01-02T09:12:32.936Z" }, + { url = "https://files.pythonhosted.org/packages/bf/8f/9f521268ce22d63991601aafd3d48d5ff7280a246a1ef62d626d67b44064/pillow-12.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d0a7735df32ccbcc98b98a1ac785cc4b19b580be1bdf0aeb5c03223220ea09d5", size = 8042708, upload-time = "2026-01-02T09:12:34.78Z" }, + { url = "https://files.pythonhosted.org/packages/1a/eb/257f38542893f021502a1bbe0c2e883c90b5cff26cc33b1584a841a06d30/pillow-12.1.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0c27407a2d1b96774cbc4a7594129cc027339fd800cd081e44497722ea1179de", size = 6347762, upload-time = "2026-01-02T09:12:36.748Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5a/8ba375025701c09b309e8d5163c5a4ce0102fa86bbf8800eb0d7ac87bc51/pillow-12.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15c794d74303828eaa957ff8070846d0efe8c630901a1c753fdc63850e19ecd9", size = 7039265, upload-time = "2026-01-02T09:12:39.082Z" }, + { url = "https://files.pythonhosted.org/packages/cf/dc/cf5e4cdb3db533f539e88a7bbf9f190c64ab8a08a9bc7a4ccf55067872e4/pillow-12.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c990547452ee2800d8506c4150280757f88532f3de2a58e3022e9b179107862a", size = 6462341, upload-time = "2026-01-02T09:12:40.946Z" }, + { url = "https://files.pythonhosted.org/packages/d0/47/0291a25ac9550677e22eda48510cfc4fa4b2ef0396448b7fbdc0a6946309/pillow-12.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b63e13dd27da389ed9475b3d28510f0f954bca0041e8e551b2a4eb1eab56a39a", size = 7165395, upload-time = "2026-01-02T09:12:42.706Z" }, + { url = "https://files.pythonhosted.org/packages/4f/4c/e005a59393ec4d9416be06e6b45820403bb946a778e39ecec62f5b2b991e/pillow-12.1.0-cp314-cp314-win32.whl", hash = "sha256:1a949604f73eb07a8adab38c4fe50791f9919344398bdc8ac6b307f755fc7030", size = 6431413, upload-time = "2026-01-02T09:12:44.944Z" }, + { url = "https://files.pythonhosted.org/packages/1c/af/f23697f587ac5f9095d67e31b81c95c0249cd461a9798a061ed6709b09b5/pillow-12.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:4f9f6a650743f0ddee5593ac9e954ba1bdbc5e150bc066586d4f26127853ab94", size = 7176779, upload-time = "2026-01-02T09:12:46.727Z" }, + { url = "https://files.pythonhosted.org/packages/b3/36/6a51abf8599232f3e9afbd16d52829376a68909fe14efe29084445db4b73/pillow-12.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:808b99604f7873c800c4840f55ff389936ef1948e4e87645eaf3fccbc8477ac4", size = 2543105, upload-time = "2026-01-02T09:12:49.243Z" }, + { url = "https://files.pythonhosted.org/packages/82/54/2e1dd20c8749ff225080d6ba465a0cab4387f5db0d1c5fb1439e2d99923f/pillow-12.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:bc11908616c8a283cf7d664f77411a5ed2a02009b0097ff8abbba5e79128ccf2", size = 5268571, upload-time = "2026-01-02T09:12:51.11Z" }, + { url = "https://files.pythonhosted.org/packages/57/61/571163a5ef86ec0cf30d265ac2a70ae6fc9e28413d1dc94fa37fae6bda89/pillow-12.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:896866d2d436563fa2a43a9d72f417874f16b5545955c54a64941e87c1376c61", size = 4660426, upload-time = "2026-01-02T09:12:52.865Z" }, + { url = "https://files.pythonhosted.org/packages/5e/e1/53ee5163f794aef1bf84243f755ee6897a92c708505350dd1923f4afec48/pillow-12.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8e178e3e99d3c0ea8fc64b88447f7cac8ccf058af422a6cedc690d0eadd98c51", size = 6269908, upload-time = "2026-01-02T09:12:54.884Z" }, + { url = "https://files.pythonhosted.org/packages/bc/0b/b4b4106ff0ee1afa1dc599fde6ab230417f800279745124f6c50bcffed8e/pillow-12.1.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:079af2fb0c599c2ec144ba2c02766d1b55498e373b3ac64687e43849fbbef5bc", size = 8074733, upload-time = "2026-01-02T09:12:56.802Z" }, + { url = "https://files.pythonhosted.org/packages/19/9f/80b411cbac4a732439e629a26ad3ef11907a8c7fc5377b7602f04f6fe4e7/pillow-12.1.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bdec5e43377761c5dbca620efb69a77f6855c5a379e32ac5b158f54c84212b14", size = 6381431, upload-time = "2026-01-02T09:12:58.823Z" }, + { url = "https://files.pythonhosted.org/packages/8f/b7/d65c45db463b66ecb6abc17c6ba6917a911202a07662247e1355ce1789e7/pillow-12.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:565c986f4b45c020f5421a4cea13ef294dde9509a8577f29b2fc5edc7587fff8", size = 7068529, upload-time = "2026-01-02T09:13:00.885Z" }, + { url = "https://files.pythonhosted.org/packages/50/96/dfd4cd726b4a45ae6e3c669fc9e49deb2241312605d33aba50499e9d9bd1/pillow-12.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:43aca0a55ce1eefc0aefa6253661cb54571857b1a7b2964bd8a1e3ef4b729924", size = 6492981, upload-time = "2026-01-02T09:13:03.314Z" }, + { url = "https://files.pythonhosted.org/packages/4d/1c/b5dc52cf713ae46033359c5ca920444f18a6359ce1020dd3e9c553ea5bc6/pillow-12.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0deedf2ea233722476b3a81e8cdfbad786f7adbed5d848469fa59fe52396e4ef", size = 7191878, upload-time = "2026-01-02T09:13:05.276Z" }, + { url = "https://files.pythonhosted.org/packages/53/26/c4188248bd5edaf543864fe4834aebe9c9cb4968b6f573ce014cc42d0720/pillow-12.1.0-cp314-cp314t-win32.whl", hash = "sha256:b17fbdbe01c196e7e159aacb889e091f28e61020a8abeac07b68079b6e626988", size = 6438703, upload-time = "2026-01-02T09:13:07.491Z" }, + { url = "https://files.pythonhosted.org/packages/b8/0e/69ed296de8ea05cb03ee139cee600f424ca166e632567b2d66727f08c7ed/pillow-12.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:27b9baecb428899db6c0de572d6d305cfaf38ca1596b5c0542a5182e3e74e8c6", size = 7182927, upload-time = "2026-01-02T09:13:09.841Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f5/68334c015eed9b5cff77814258717dec591ded209ab5b6fb70e2ae873d1d/pillow-12.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:f61333d817698bdcdd0f9d7793e365ac3d2a21c1f1eb02b32ad6aefb8d8ea831", size = 2545104, upload-time = "2026-01-02T09:13:12.068Z" }, + { url = "https://files.pythonhosted.org/packages/8b/bc/224b1d98cffd7164b14707c91aac83c07b047fbd8f58eba4066a3e53746a/pillow-12.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ca94b6aac0d7af2a10ba08c0f888b3d5114439b6b3ef39968378723622fed377", size = 5228605, upload-time = "2026-01-02T09:13:14.084Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ca/49ca7769c4550107de049ed85208240ba0f330b3f2e316f24534795702ce/pillow-12.1.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:351889afef0f485b84078ea40fe33727a0492b9af3904661b0abbafee0355b72", size = 4622245, upload-time = "2026-01-02T09:13:15.964Z" }, + { url = "https://files.pythonhosted.org/packages/73/48/fac807ce82e5955bcc2718642b94b1bd22a82a6d452aea31cbb678cddf12/pillow-12.1.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bb0984b30e973f7e2884362b7d23d0a348c7143ee559f38ef3eaab640144204c", size = 5247593, upload-time = "2026-01-02T09:13:17.913Z" }, + { url = "https://files.pythonhosted.org/packages/d2/95/3e0742fe358c4664aed4fd05d5f5373dcdad0b27af52aa0972568541e3f4/pillow-12.1.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:84cabc7095dd535ca934d57e9ce2a72ffd216e435a84acb06b2277b1de2689bd", size = 6989008, upload-time = "2026-01-02T09:13:20.083Z" }, + { url = "https://files.pythonhosted.org/packages/5a/74/fe2ac378e4e202e56d50540d92e1ef4ff34ed687f3c60f6a121bcf99437e/pillow-12.1.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53d8b764726d3af1a138dd353116f774e3862ec7e3794e0c8781e30db0f35dfc", size = 5313824, upload-time = "2026-01-02T09:13:22.405Z" }, + { url = "https://files.pythonhosted.org/packages/f3/77/2a60dee1adee4e2655ac328dd05c02a955c1cd683b9f1b82ec3feb44727c/pillow-12.1.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5da841d81b1a05ef940a8567da92decaa15bc4d7dedb540a8c219ad83d91808a", size = 5963278, upload-time = "2026-01-02T09:13:24.706Z" }, + { url = "https://files.pythonhosted.org/packages/2d/71/64e9b1c7f04ae0027f788a248e6297d7fcc29571371fe7d45495a78172c0/pillow-12.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:75af0b4c229ac519b155028fa1be632d812a519abba9b46b20e50c6caa184f19", size = 7029809, upload-time = "2026-01-02T09:13:26.541Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pytest" +version = "9.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901, upload-time = "2025-12-06T21:30:51.014Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, +] + +[[package]] +name = "pytest-cov" +version = "7.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", extra = ["toml"] }, + { name = "pluggy" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5e/f7/c933acc76f5208b3b00089573cf6a2bc26dc80a8aece8f52bb7d6b1855ca/pytest_cov-7.0.0.tar.gz", hash = "sha256:33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1", size = 54328, upload-time = "2025-09-09T10:57:02.113Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl", hash = "sha256:3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861", size = 22424, upload-time = "2025-09-09T10:57:00.695Z" }, +] + +[[package]] +name = "rich" +version = "14.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz", hash = "sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4", size = 219990, upload-time = "2025-10-09T14:16:53.064Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl", hash = "sha256:76bc51fe2e57d2b1be1f96c524b890b816e334ab4c1e45888799bfaab0021edd", size = 243393, upload-time = "2025-10-09T14:16:51.245Z" }, +] + +[[package]] +name = "ruff" +version = "0.14.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/08/52232a877978dd8f9cf2aeddce3e611b40a63287dfca29b6b8da791f5e8d/ruff-0.14.10.tar.gz", hash = "sha256:9a2e830f075d1a42cd28420d7809ace390832a490ed0966fe373ba288e77aaf4", size = 5859763, upload-time = "2025-12-18T19:28:57.98Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/01/933704d69f3f05ee16ef11406b78881733c186fe14b6a46b05cfcaf6d3b2/ruff-0.14.10-py3-none-linux_armv6l.whl", hash = "sha256:7a3ce585f2ade3e1f29ec1b92df13e3da262178df8c8bdf876f48fa0e8316c49", size = 13527080, upload-time = "2025-12-18T19:29:25.642Z" }, + { url = "https://files.pythonhosted.org/packages/df/58/a0349197a7dfa603ffb7f5b0470391efa79ddc327c1e29c4851e85b09cc5/ruff-0.14.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:674f9be9372907f7257c51f1d4fc902cb7cf014b9980152b802794317941f08f", size = 13797320, upload-time = "2025-12-18T19:29:02.571Z" }, + { url = "https://files.pythonhosted.org/packages/7b/82/36be59f00a6082e38c23536df4e71cdbc6af8d7c707eade97fcad5c98235/ruff-0.14.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d85713d522348837ef9df8efca33ccb8bd6fcfc86a2cde3ccb4bc9d28a18003d", size = 12918434, upload-time = "2025-12-18T19:28:51.202Z" }, + { url = "https://files.pythonhosted.org/packages/a6/00/45c62a7f7e34da92a25804f813ebe05c88aa9e0c25e5cb5a7d23dd7450e3/ruff-0.14.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6987ebe0501ae4f4308d7d24e2d0fe3d7a98430f5adfd0f1fead050a740a3a77", size = 13371961, upload-time = "2025-12-18T19:29:04.991Z" }, + { url = "https://files.pythonhosted.org/packages/40/31/a5906d60f0405f7e57045a70f2d57084a93ca7425f22e1d66904769d1628/ruff-0.14.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:16a01dfb7b9e4eee556fbfd5392806b1b8550c9b4a9f6acd3dbe6812b193c70a", size = 13275629, upload-time = "2025-12-18T19:29:21.381Z" }, + { url = "https://files.pythonhosted.org/packages/3e/60/61c0087df21894cf9d928dc04bcd4fb10e8b2e8dca7b1a276ba2155b2002/ruff-0.14.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7165d31a925b7a294465fa81be8c12a0e9b60fb02bf177e79067c867e71f8b1f", size = 14029234, upload-time = "2025-12-18T19:29:00.132Z" }, + { url = "https://files.pythonhosted.org/packages/44/84/77d911bee3b92348b6e5dab5a0c898d87084ea03ac5dc708f46d88407def/ruff-0.14.10-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c561695675b972effb0c0a45db233f2c816ff3da8dcfbe7dfc7eed625f218935", size = 15449890, upload-time = "2025-12-18T19:28:53.573Z" }, + { url = "https://files.pythonhosted.org/packages/e9/36/480206eaefa24a7ec321582dda580443a8f0671fdbf6b1c80e9c3e93a16a/ruff-0.14.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4bb98fcbbc61725968893682fd4df8966a34611239c9fd07a1f6a07e7103d08e", size = 15123172, upload-time = "2025-12-18T19:29:23.453Z" }, + { url = "https://files.pythonhosted.org/packages/5c/38/68e414156015ba80cef5473d57919d27dfb62ec804b96180bafdeaf0e090/ruff-0.14.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f24b47993a9d8cb858429e97bdf8544c78029f09b520af615c1d261bf827001d", size = 14460260, upload-time = "2025-12-18T19:29:27.808Z" }, + { url = "https://files.pythonhosted.org/packages/b3/19/9e050c0dca8aba824d67cc0db69fb459c28d8cd3f6855b1405b3f29cc91d/ruff-0.14.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59aabd2e2c4fd614d2862e7939c34a532c04f1084476d6833dddef4afab87e9f", size = 14229978, upload-time = "2025-12-18T19:29:11.32Z" }, + { url = "https://files.pythonhosted.org/packages/51/eb/e8dd1dd6e05b9e695aa9dd420f4577debdd0f87a5ff2fedda33c09e9be8c/ruff-0.14.10-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:213db2b2e44be8625002dbea33bb9c60c66ea2c07c084a00d55732689d697a7f", size = 14338036, upload-time = "2025-12-18T19:29:09.184Z" }, + { url = "https://files.pythonhosted.org/packages/6a/12/f3e3a505db7c19303b70af370d137795fcfec136d670d5de5391e295c134/ruff-0.14.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b914c40ab64865a17a9a5b67911d14df72346a634527240039eb3bd650e5979d", size = 13264051, upload-time = "2025-12-18T19:29:13.431Z" }, + { url = "https://files.pythonhosted.org/packages/08/64/8c3a47eaccfef8ac20e0484e68e0772013eb85802f8a9f7603ca751eb166/ruff-0.14.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:1484983559f026788e3a5c07c81ef7d1e97c1c78ed03041a18f75df104c45405", size = 13283998, upload-time = "2025-12-18T19:29:06.994Z" }, + { url = "https://files.pythonhosted.org/packages/12/84/534a5506f4074e5cc0529e5cd96cfc01bb480e460c7edf5af70d2bcae55e/ruff-0.14.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c70427132db492d25f982fffc8d6c7535cc2fd2c83fc8888f05caaa248521e60", size = 13601891, upload-time = "2025-12-18T19:28:55.811Z" }, + { url = "https://files.pythonhosted.org/packages/0d/1e/14c916087d8598917dbad9b2921d340f7884824ad6e9c55de948a93b106d/ruff-0.14.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5bcf45b681e9f1ee6445d317ce1fa9d6cba9a6049542d1c3d5b5958986be8830", size = 14336660, upload-time = "2025-12-18T19:29:16.531Z" }, + { url = "https://files.pythonhosted.org/packages/f2/1c/d7b67ab43f30013b47c12b42d1acd354c195351a3f7a1d67f59e54227ede/ruff-0.14.10-py3-none-win32.whl", hash = "sha256:104c49fc7ab73f3f3a758039adea978869a918f31b73280db175b43a2d9b51d6", size = 13196187, upload-time = "2025-12-18T19:29:19.006Z" }, + { url = "https://files.pythonhosted.org/packages/fb/9c/896c862e13886fae2af961bef3e6312db9ebc6adc2b156fe95e615dee8c1/ruff-0.14.10-py3-none-win_amd64.whl", hash = "sha256:466297bd73638c6bdf06485683e812db1c00c7ac96d4ddd0294a338c62fdc154", size = 14661283, upload-time = "2025-12-18T19:29:30.16Z" }, + { url = "https://files.pythonhosted.org/packages/74/31/b0e29d572670dca3674eeee78e418f20bdf97fa8aa9ea71380885e175ca0/ruff-0.14.10-py3-none-win_arm64.whl", hash = "sha256:e51d046cf6dda98a4633b8a8a771451107413b0f07183b2bef03f075599e44e6", size = 13729839, upload-time = "2025-12-18T19:28:48.636Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[package]] +name = "tomli" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/52/ed/3f73f72945444548f33eba9a87fc7a6e969915e7b1acc8260b30e1f76a2f/tomli-2.3.0.tar.gz", hash = "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549", size = 17392, upload-time = "2025-10-08T22:01:47.119Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/2e/299f62b401438d5fe1624119c723f5d877acc86a4c2492da405626665f12/tomli-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:88bd15eb972f3664f5ed4b57c1634a97153b4bac4479dcb6a495f41921eb7f45", size = 153236, upload-time = "2025-10-08T22:01:00.137Z" }, + { url = "https://files.pythonhosted.org/packages/86/7f/d8fffe6a7aefdb61bced88fcb5e280cfd71e08939da5894161bd71bea022/tomli-2.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:883b1c0d6398a6a9d29b508c331fa56adbcdff647f6ace4dfca0f50e90dfd0ba", size = 148084, upload-time = "2025-10-08T22:01:01.63Z" }, + { url = "https://files.pythonhosted.org/packages/47/5c/24935fb6a2ee63e86d80e4d3b58b222dafaf438c416752c8b58537c8b89a/tomli-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1381caf13ab9f300e30dd8feadb3de072aeb86f1d34a8569453ff32a7dea4bf", size = 234832, upload-time = "2025-10-08T22:01:02.543Z" }, + { url = "https://files.pythonhosted.org/packages/89/da/75dfd804fc11e6612846758a23f13271b76d577e299592b4371a4ca4cd09/tomli-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a0e285d2649b78c0d9027570d4da3425bdb49830a6156121360b3f8511ea3441", size = 242052, upload-time = "2025-10-08T22:01:03.836Z" }, + { url = "https://files.pythonhosted.org/packages/70/8c/f48ac899f7b3ca7eb13af73bacbc93aec37f9c954df3c08ad96991c8c373/tomli-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a154a9ae14bfcf5d8917a59b51ffd5a3ac1fd149b71b47a3a104ca4edcfa845", size = 239555, upload-time = "2025-10-08T22:01:04.834Z" }, + { url = "https://files.pythonhosted.org/packages/ba/28/72f8afd73f1d0e7829bfc093f4cb98ce0a40ffc0cc997009ee1ed94ba705/tomli-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:74bf8464ff93e413514fefd2be591c3b0b23231a77f901db1eb30d6f712fc42c", size = 245128, upload-time = "2025-10-08T22:01:05.84Z" }, + { url = "https://files.pythonhosted.org/packages/b6/eb/a7679c8ac85208706d27436e8d421dfa39d4c914dcf5fa8083a9305f58d9/tomli-2.3.0-cp311-cp311-win32.whl", hash = "sha256:00b5f5d95bbfc7d12f91ad8c593a1659b6387b43f054104cda404be6bda62456", size = 96445, upload-time = "2025-10-08T22:01:06.896Z" }, + { url = "https://files.pythonhosted.org/packages/0a/fe/3d3420c4cb1ad9cb462fb52967080575f15898da97e21cb6f1361d505383/tomli-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:4dc4ce8483a5d429ab602f111a93a6ab1ed425eae3122032db7e9acf449451be", size = 107165, upload-time = "2025-10-08T22:01:08.107Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b7/40f36368fcabc518bb11c8f06379a0fd631985046c038aca08c6d6a43c6e/tomli-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d7d86942e56ded512a594786a5ba0a5e521d02529b3826e7761a05138341a2ac", size = 154891, upload-time = "2025-10-08T22:01:09.082Z" }, + { url = "https://files.pythonhosted.org/packages/f9/3f/d9dd692199e3b3aab2e4e4dd948abd0f790d9ded8cd10cbaae276a898434/tomli-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:73ee0b47d4dad1c5e996e3cd33b8a76a50167ae5f96a2607cbe8cc773506ab22", size = 148796, upload-time = "2025-10-08T22:01:10.266Z" }, + { url = "https://files.pythonhosted.org/packages/60/83/59bff4996c2cf9f9387a0f5a3394629c7efa5ef16142076a23a90f1955fa/tomli-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:792262b94d5d0a466afb5bc63c7daa9d75520110971ee269152083270998316f", size = 242121, upload-time = "2025-10-08T22:01:11.332Z" }, + { url = "https://files.pythonhosted.org/packages/45/e5/7c5119ff39de8693d6baab6c0b6dcb556d192c165596e9fc231ea1052041/tomli-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f195fe57ecceac95a66a75ac24d9d5fbc98ef0962e09b2eddec5d39375aae52", size = 250070, upload-time = "2025-10-08T22:01:12.498Z" }, + { url = "https://files.pythonhosted.org/packages/45/12/ad5126d3a278f27e6701abde51d342aa78d06e27ce2bb596a01f7709a5a2/tomli-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e31d432427dcbf4d86958c184b9bfd1e96b5b71f8eb17e6d02531f434fd335b8", size = 245859, upload-time = "2025-10-08T22:01:13.551Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a1/4d6865da6a71c603cfe6ad0e6556c73c76548557a8d658f9e3b142df245f/tomli-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b0882799624980785240ab732537fcfc372601015c00f7fc367c55308c186f6", size = 250296, upload-time = "2025-10-08T22:01:14.614Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b7/a7a7042715d55c9ba6e8b196d65d2cb662578b4d8cd17d882d45322b0d78/tomli-2.3.0-cp312-cp312-win32.whl", hash = "sha256:ff72b71b5d10d22ecb084d345fc26f42b5143c5533db5e2eaba7d2d335358876", size = 97124, upload-time = "2025-10-08T22:01:15.629Z" }, + { url = "https://files.pythonhosted.org/packages/06/1e/f22f100db15a68b520664eb3328fb0ae4e90530887928558112c8d1f4515/tomli-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1cb4ed918939151a03f33d4242ccd0aa5f11b3547d0cf30f7c74a408a5b99878", size = 107698, upload-time = "2025-10-08T22:01:16.51Z" }, + { url = "https://files.pythonhosted.org/packages/89/48/06ee6eabe4fdd9ecd48bf488f4ac783844fd777f547b8d1b61c11939974e/tomli-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5192f562738228945d7b13d4930baffda67b69425a7f0da96d360b0a3888136b", size = 154819, upload-time = "2025-10-08T22:01:17.964Z" }, + { url = "https://files.pythonhosted.org/packages/f1/01/88793757d54d8937015c75dcdfb673c65471945f6be98e6a0410fba167ed/tomli-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:be71c93a63d738597996be9528f4abe628d1adf5e6eb11607bc8fe1a510b5dae", size = 148766, upload-time = "2025-10-08T22:01:18.959Z" }, + { url = "https://files.pythonhosted.org/packages/42/17/5e2c956f0144b812e7e107f94f1cc54af734eb17b5191c0bbfb72de5e93e/tomli-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4665508bcbac83a31ff8ab08f424b665200c0e1e645d2bd9ab3d3e557b6185b", size = 240771, upload-time = "2025-10-08T22:01:20.106Z" }, + { url = "https://files.pythonhosted.org/packages/d5/f4/0fbd014909748706c01d16824eadb0307115f9562a15cbb012cd9b3512c5/tomli-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4021923f97266babc6ccab9f5068642a0095faa0a51a246a6a02fccbb3514eaf", size = 248586, upload-time = "2025-10-08T22:01:21.164Z" }, + { url = "https://files.pythonhosted.org/packages/30/77/fed85e114bde5e81ecf9bc5da0cc69f2914b38f4708c80ae67d0c10180c5/tomli-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4ea38c40145a357d513bffad0ed869f13c1773716cf71ccaa83b0fa0cc4e42f", size = 244792, upload-time = "2025-10-08T22:01:22.417Z" }, + { url = "https://files.pythonhosted.org/packages/55/92/afed3d497f7c186dc71e6ee6d4fcb0acfa5f7d0a1a2878f8beae379ae0cc/tomli-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad805ea85eda330dbad64c7ea7a4556259665bdf9d2672f5dccc740eb9d3ca05", size = 248909, upload-time = "2025-10-08T22:01:23.859Z" }, + { url = "https://files.pythonhosted.org/packages/f8/84/ef50c51b5a9472e7265ce1ffc7f24cd4023d289e109f669bdb1553f6a7c2/tomli-2.3.0-cp313-cp313-win32.whl", hash = "sha256:97d5eec30149fd3294270e889b4234023f2c69747e555a27bd708828353ab606", size = 96946, upload-time = "2025-10-08T22:01:24.893Z" }, + { url = "https://files.pythonhosted.org/packages/b2/b7/718cd1da0884f281f95ccfa3a6cc572d30053cba64603f79d431d3c9b61b/tomli-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0c95ca56fbe89e065c6ead5b593ee64b84a26fca063b5d71a1122bf26e533999", size = 107705, upload-time = "2025-10-08T22:01:26.153Z" }, + { url = "https://files.pythonhosted.org/packages/19/94/aeafa14a52e16163008060506fcb6aa1949d13548d13752171a755c65611/tomli-2.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:cebc6fe843e0733ee827a282aca4999b596241195f43b4cc371d64fc6639da9e", size = 154244, upload-time = "2025-10-08T22:01:27.06Z" }, + { url = "https://files.pythonhosted.org/packages/db/e4/1e58409aa78eefa47ccd19779fc6f36787edbe7d4cd330eeeedb33a4515b/tomli-2.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4c2ef0244c75aba9355561272009d934953817c49f47d768070c3c94355c2aa3", size = 148637, upload-time = "2025-10-08T22:01:28.059Z" }, + { url = "https://files.pythonhosted.org/packages/26/b6/d1eccb62f665e44359226811064596dd6a366ea1f985839c566cd61525ae/tomli-2.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c22a8bf253bacc0cf11f35ad9808b6cb75ada2631c2d97c971122583b129afbc", size = 241925, upload-time = "2025-10-08T22:01:29.066Z" }, + { url = "https://files.pythonhosted.org/packages/70/91/7cdab9a03e6d3d2bb11beae108da5bdc1c34bdeb06e21163482544ddcc90/tomli-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0eea8cc5c5e9f89c9b90c4896a8deefc74f518db5927d0e0e8d4a80953d774d0", size = 249045, upload-time = "2025-10-08T22:01:31.98Z" }, + { url = "https://files.pythonhosted.org/packages/15/1b/8c26874ed1f6e4f1fcfeb868db8a794cbe9f227299402db58cfcc858766c/tomli-2.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b74a0e59ec5d15127acdabd75ea17726ac4c5178ae51b85bfe39c4f8a278e879", size = 245835, upload-time = "2025-10-08T22:01:32.989Z" }, + { url = "https://files.pythonhosted.org/packages/fd/42/8e3c6a9a4b1a1360c1a2a39f0b972cef2cc9ebd56025168c4137192a9321/tomli-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5870b50c9db823c595983571d1296a6ff3e1b88f734a4c8f6fc6188397de005", size = 253109, upload-time = "2025-10-08T22:01:34.052Z" }, + { url = "https://files.pythonhosted.org/packages/22/0c/b4da635000a71b5f80130937eeac12e686eefb376b8dee113b4a582bba42/tomli-2.3.0-cp314-cp314-win32.whl", hash = "sha256:feb0dacc61170ed7ab602d3d972a58f14ee3ee60494292d384649a3dc38ef463", size = 97930, upload-time = "2025-10-08T22:01:35.082Z" }, + { url = "https://files.pythonhosted.org/packages/b9/74/cb1abc870a418ae99cd5c9547d6bce30701a954e0e721821df483ef7223c/tomli-2.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:b273fcbd7fc64dc3600c098e39136522650c49bca95df2d11cf3b626422392c8", size = 107964, upload-time = "2025-10-08T22:01:36.057Z" }, + { url = "https://files.pythonhosted.org/packages/54/78/5c46fff6432a712af9f792944f4fcd7067d8823157949f4e40c56b8b3c83/tomli-2.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:940d56ee0410fa17ee1f12b817b37a4d4e4dc4d27340863cc67236c74f582e77", size = 163065, upload-time = "2025-10-08T22:01:37.27Z" }, + { url = "https://files.pythonhosted.org/packages/39/67/f85d9bd23182f45eca8939cd2bc7050e1f90c41f4a2ecbbd5963a1d1c486/tomli-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f85209946d1fe94416debbb88d00eb92ce9cd5266775424ff81bc959e001acaf", size = 159088, upload-time = "2025-10-08T22:01:38.235Z" }, + { url = "https://files.pythonhosted.org/packages/26/5a/4b546a0405b9cc0659b399f12b6adb750757baf04250b148d3c5059fc4eb/tomli-2.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a56212bdcce682e56b0aaf79e869ba5d15a6163f88d5451cbde388d48b13f530", size = 268193, upload-time = "2025-10-08T22:01:39.712Z" }, + { url = "https://files.pythonhosted.org/packages/42/4f/2c12a72ae22cf7b59a7fe75b3465b7aba40ea9145d026ba41cb382075b0e/tomli-2.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c5f3ffd1e098dfc032d4d3af5c0ac64f6d286d98bc148698356847b80fa4de1b", size = 275488, upload-time = "2025-10-08T22:01:40.773Z" }, + { url = "https://files.pythonhosted.org/packages/92/04/a038d65dbe160c3aa5a624e93ad98111090f6804027d474ba9c37c8ae186/tomli-2.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e01decd096b1530d97d5d85cb4dff4af2d8347bd35686654a004f8dea20fc67", size = 272669, upload-time = "2025-10-08T22:01:41.824Z" }, + { url = "https://files.pythonhosted.org/packages/be/2f/8b7c60a9d1612a7cbc39ffcca4f21a73bf368a80fc25bccf8253e2563267/tomli-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8a35dd0e643bb2610f156cca8db95d213a90015c11fee76c946aa62b7ae7e02f", size = 279709, upload-time = "2025-10-08T22:01:43.177Z" }, + { url = "https://files.pythonhosted.org/packages/7e/46/cc36c679f09f27ded940281c38607716c86cf8ba4a518d524e349c8b4874/tomli-2.3.0-cp314-cp314t-win32.whl", hash = "sha256:a1f7f282fe248311650081faafa5f4732bdbfef5d45fe3f2e702fbc6f2d496e0", size = 107563, upload-time = "2025-10-08T22:01:44.233Z" }, + { url = "https://files.pythonhosted.org/packages/84/ff/426ca8683cf7b753614480484f6437f568fd2fda2edbdf57a2d3d8b27a0b/tomli-2.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:70a251f8d4ba2d9ac2542eecf008b3c8a9fc5c3f9f02c56a9d7952612be2fdba", size = 119756, upload-time = "2025-10-08T22:01:45.234Z" }, + { url = "https://files.pythonhosted.org/packages/77/b8/0135fadc89e73be292b473cb820b4f5a08197779206b33191e801feeae40/tomli-2.3.0-py3-none-any.whl", hash = "sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b", size = 14408, upload-time = "2025-10-08T22:01:46.04Z" }, +] + +[[package]] +name = "typer" +version = "0.21.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "rich" }, + { name = "shellingham" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/bf/8825b5929afd84d0dabd606c67cd57b8388cb3ec385f7ef19c5cc2202069/typer-0.21.1.tar.gz", hash = "sha256:ea835607cd752343b6b2b7ce676893e5a0324082268b48f27aa058bdb7d2145d", size = 110371, upload-time = "2026-01-06T11:21:10.989Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/1d/d9257dd49ff2ca23ea5f132edf1281a0c4f9de8a762b9ae399b670a59235/typer-0.21.1-py3-none-any.whl", hash = "sha256:7985e89081c636b88d172c2ee0cfe33c253160994d47bdfdc302defd7d1f1d01", size = 47381, upload-time = "2026-01-06T11:21:09.824Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] From 9c14e4829dc48b67dc9be411f42351fdbefcb6c0 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Wed, 7 Jan 2026 15:17:27 +0100 Subject: [PATCH 17/38] added test.yml --- .github/workflows/test.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..5da756d7 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,29 @@ +name: Tests + +on: + pull_request: + branches: [ main ] + push: + branches: [ main ] + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10", "3.11", "3.12"] # Test multiple versions + + steps: + - uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v5 + + - name: Set up Python ${{ matrix.python-version }} + run: uv python install ${{ matrix.python-version }} + + - name: Install dependencies + run: uv sync --all-extras --dev + + - name: Run Tests + run: uv run pytest \ No newline at end of file From 100ab9d034236e237fe69e7923dfe8f230e5f396 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Wed, 7 Jan 2026 15:50:38 +0100 Subject: [PATCH 18/38] metadata-scrubber-tool: Tests used hardcoded Windows paths like C:\Users\Xheri\... that don't exist on GitHub Actions' Ubuntu runners. Solution Created tests/conftest.py with relative path helpers that work on any OS: --- .github/workflows/test.yml | 2 +- tests/conftest.py | 48 +++++++++++ tests/e2e/test_read_command.py | 25 +++--- tests/e2e/test_scrub_command.py | 21 ++--- tests/integration/test_metadata_factory.py | 40 ++++----- tests/unit/test_image_handler.py | 95 ++++++++++------------ 6 files changed, 129 insertions(+), 102 deletions(-) create mode 100644 tests/conftest.py diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5da756d7..f882d808 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,4 +26,4 @@ jobs: run: uv sync --all-extras --dev - name: Run Tests - run: uv run pytest \ No newline at end of file + run: uv run pytest -x \ No newline at end of file diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 00000000..f2167b54 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,48 @@ +""" +Pytest configuration and shared fixtures. + +Provides cross-platform test file paths that work on both Windows and Linux (CI). +""" + +from pathlib import Path + +import pytest + +# Get the tests directory (this file's parent) +TESTS_DIR = Path(__file__).parent +ASSETS_DIR = TESTS_DIR / "assets" +TEST_IMAGES_DIR = ASSETS_DIR / "test_images" + + +@pytest.fixture +def jpg_test_file() -> Path: + """Return path to a JPG test file.""" + return TEST_IMAGES_DIR / "test_fuji.jpg" + + +@pytest.fixture +def png_test_file() -> Path: + """Return path to a PNG test file.""" + return TEST_IMAGES_DIR / "generated_test_03.png" + + +@pytest.fixture +def test_images_dir() -> Path: + """Return path to test images directory.""" + return TEST_IMAGES_DIR + + +# String versions for parametrize (which doesn't support fixtures directly) +def get_jpg_test_file() -> str: + """Get JPG test file path as string.""" + return str(TEST_IMAGES_DIR / "test_fuji.jpg") + + +def get_png_test_file() -> str: + """Get PNG test file path as string.""" + return str(TEST_IMAGES_DIR / "generated_test_03.png") + + +def get_test_images_dir() -> str: + """Get test images directory path as string.""" + return str(TEST_IMAGES_DIR) diff --git a/tests/e2e/test_read_command.py b/tests/e2e/test_read_command.py index 840461b4..9972a77c 100644 --- a/tests/e2e/test_read_command.py +++ b/tests/e2e/test_read_command.py @@ -5,43 +5,40 @@ from typer.testing import CliRunner from src.main import app +# Import path helpers from conftest +from tests.conftest import get_jpg_test_file, get_png_test_file, get_test_images_dir + runner = CliRunner() -# Test file paths -JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\test_fuji.jpg" -PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_03.png" -TEST_DIR = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images" +# Test file paths (cross-platform) +JPG_TEST_FILE = get_jpg_test_file() +PNG_TEST_FILE = get_png_test_file() +TEST_DIR = get_test_images_dir() # ============== Success Case Tests ============== -@pytest.mark.parametrize( - "x", - [JPG_TEST_FILE, PNG_TEST_FILE], -) +@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_read_command_single_file_success(x): """ Test the 'read' command with a single file (JPG and PNG). """ result = runner.invoke(app, ["read", str(x)]) - assert result.exit_code == 0 + assert result.exit_code == 0, f"Failed with: {result.stdout}" assert "Reading" in result.stdout assert Path(x).name in result.stdout -@pytest.mark.parametrize( - "ext", - ["jpg", "png"], -) +@pytest.mark.parametrize("ext", ["jpg", "png"]) def test_read_command_recursive_directory_success(ext): """ Test the 'read' command with recursive directory processing. """ result = runner.invoke(app, ["read", TEST_DIR, "-r", "-ext", ext]) - assert result.exit_code == 0 + assert result.exit_code == 0, f"Failed with: {result.stdout}" assert "Reading" in result.stdout diff --git a/tests/e2e/test_scrub_command.py b/tests/e2e/test_scrub_command.py index 21bcc28a..bc64e482 100644 --- a/tests/e2e/test_scrub_command.py +++ b/tests/e2e/test_scrub_command.py @@ -11,14 +11,15 @@ from typer.testing import CliRunner from src.main import app +# Import path helpers from conftest +from tests.conftest import get_jpg_test_file, get_png_test_file, get_test_images_dir + runner = CliRunner() -# Test file paths -JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\test_fuji.jpg" -PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_03.png" -EXAMPLES_DIR = ( - r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images" -) +# Test file paths (cross-platform) +JPG_TEST_FILE = get_jpg_test_file() +PNG_TEST_FILE = get_png_test_file() +EXAMPLES_DIR = get_test_images_dir() @pytest.fixture @@ -39,7 +40,7 @@ def test_scrub_command_single_file_success(x, output_dir): """ result = runner.invoke(app, ["scrub", x, "--output", str(output_dir)]) - assert result.exit_code == 0 + assert result.exit_code == 0, f"Failed with: {result.stdout}" # Check output file was created (has processed_ prefix) output_file = output_dir / f"processed_{Path(x).name}" assert output_file.exists() @@ -54,7 +55,7 @@ def test_scrub_command_recursive_jpg_success(output_dir): app, ["scrub", EXAMPLES_DIR, "-r", "-ext", "jpg", "--output", str(output_dir)] ) - assert result.exit_code == 0 + assert result.exit_code == 0, f"Failed with: {result.stdout}" # Check at least one output file was created output_files = list(output_dir.glob("processed_*.jpg")) assert len(output_files) > 0 @@ -68,7 +69,7 @@ def test_scrub_command_dry_run(output_dir): app, ["scrub", JPG_TEST_FILE, "--output", str(output_dir), "--dry-run"] ) - assert result.exit_code == 0 + assert result.exit_code == 0, f"Failed with: {result.stdout}" assert "DRY-RUN" in result.stdout # No files should be created in dry-run mode output_file = output_dir / f"processed_{Path(JPG_TEST_FILE).name}" @@ -94,7 +95,7 @@ def test_scrub_command_with_workers(output_dir): ], ) - assert result.exit_code == 0 + assert result.exit_code == 0, f"Failed with: {result.stdout}" # ============== Error Case Tests ============== diff --git a/tests/integration/test_metadata_factory.py b/tests/integration/test_metadata_factory.py index db9656b6..6136bcd2 100644 --- a/tests/integration/test_metadata_factory.py +++ b/tests/integration/test_metadata_factory.py @@ -4,25 +4,26 @@ from pathlib import Path import pytest from src.services.metadata_factory import MetadataFactory -from src.utils.exceptions import MetadataNotFoundError +from src.utils.exceptions import MetadataNotFoundError, UnsupportedFormatError -# Test file paths -JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\test_fuji.jpg" -PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_03.png" +# Import path helpers from conftest +from tests.conftest import get_jpg_test_file, get_png_test_file -# ============== success Case Tests ============== +# Test file paths (cross-platform) +JPG_TEST_FILE = get_jpg_test_file() +PNG_TEST_FILE = get_png_test_file() -@pytest.mark.parametrize( - "x", - [JPG_TEST_FILE, PNG_TEST_FILE], -) +# ============== Success Case Tests ============== + + +@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_read_image_metadata(x): """ test for reading image metadata """ # checks if file exists - assert Path(x).exists() + assert Path(x).exists(), f"Test file not found: {x}" handler = MetadataFactory.get_handler(str(x)) metadata = handler.read() @@ -36,16 +37,13 @@ def test_read_image_metadata(x): assert isinstance(metadata, dict) -@pytest.mark.parametrize( - "x", - [JPG_TEST_FILE, PNG_TEST_FILE], -) +@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_wipe_image_metadata(x): """ test for wiping image metadata """ # checks if file exists - assert Path(x).exists() + assert Path(x).exists(), f"Test file not found: {x}" handler = MetadataFactory.get_handler(str(x)) metadata = handler.read() handler.wipe() @@ -54,10 +52,7 @@ def test_wipe_image_metadata(x): assert handler.processed_metadata != metadata -@pytest.mark.parametrize( - "x", - [JPG_TEST_FILE, PNG_TEST_FILE], -) +@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_save_processed_image_metadata(x): """ test for saving image processed metadata to a copy of the file @@ -82,10 +77,7 @@ def test_save_processed_image_metadata(x): shutil.rmtree(output_dir) -@pytest.mark.parametrize( - "x", - [JPG_TEST_FILE, PNG_TEST_FILE], -) +@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_output_file_has_less_metadata(x): """ Test that the output file has metadata stripped @@ -136,8 +128,6 @@ def test_unsupported_format_raises_error(tmp_path): """ Test that unsupported file formats raise an error """ - from src.utils.exceptions import UnsupportedFormatError - # Create a fake text file fake_file = tmp_path / "test.txt" fake_file.write_text("not an image") diff --git a/tests/unit/test_image_handler.py b/tests/unit/test_image_handler.py index 4bf31419..742c02a3 100644 --- a/tests/unit/test_image_handler.py +++ b/tests/unit/test_image_handler.py @@ -6,24 +6,24 @@ import pytest from src.services.image_handler import ImageHandler from src.utils.exceptions import MetadataNotFoundError, UnsupportedFormatError -# Test file paths -JPG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\test_fuji.jpg" -PNG_TEST_FILE = r"C:\Users\Xheri\development\metadata-scrubber-tool\tests\assets\test_images\generated_test_03.png" +# Import path helpers from conftest +from tests.conftest import get_jpg_test_file, get_png_test_file + +# Test file paths (cross-platform) +JPG_TEST_FILE = get_jpg_test_file() +PNG_TEST_FILE = get_png_test_file() -# ============== success Case Tests ============== +# ============== Success Case Tests ============== -@pytest.mark.parametrize( - "x", - [JPG_TEST_FILE, PNG_TEST_FILE], -) +@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_read_image_metadata(x): """ test for reading image metadata """ # checks if file exists - assert Path(x).exists() + assert Path(x).exists(), f"Test file not found: {x}" processor = ImageHandler(x) metadata = processor.read() @@ -40,16 +40,13 @@ def test_read_image_metadata(x): assert isinstance(metadata, dict) -@pytest.mark.parametrize( - "x", - [JPG_TEST_FILE, PNG_TEST_FILE], -) +@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_wipe_image_metadata(x): """ test for wiping image metadata """ # checks if file exists - assert Path(x).exists() + assert Path(x).exists(), f"Test file not found: {x}" processor = ImageHandler(x) metadata = processor.read() processor.wipe() @@ -58,10 +55,7 @@ def test_wipe_image_metadata(x): assert processor.processed_metadata != metadata -@pytest.mark.parametrize( - "x", - [JPG_TEST_FILE, PNG_TEST_FILE], -) +@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_save_processed_image_metadata(x): """ test for saving image processed metadata to a copy of the file @@ -86,10 +80,37 @@ def test_save_processed_image_metadata(x): shutil.rmtree(output_dir) -@pytest.mark.parametrize( - "x", - [JPG_TEST_FILE, PNG_TEST_FILE], -) +# ============== Error Case Tests ============== + + +def test_unsupported_format_raises_error(tmp_path): + """ + Test that unsupported file formats raise an error (PIL or custom) + """ + from PIL import UnidentifiedImageError + + # Create a fake text file + fake_file = tmp_path / "test.txt" + fake_file.write_text("not an image") + + handler = ImageHandler(str(fake_file)) + # Either our UnsupportedFormatError or PIL's UnidentifiedImageError is acceptable + with pytest.raises((UnsupportedFormatError, UnidentifiedImageError)): + handler.read() + + +def test_save_without_output_path_raises_error(): + """ + Test that save() raises ValueError when output_path is None + """ + handler = ImageHandler(JPG_TEST_FILE) + handler.read() + handler.wipe() + with pytest.raises(ValueError): + handler.save(None) + + +@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_output_file_has_less_metadata(x): """ Test that the output file has metadata stripped @@ -131,33 +152,3 @@ def test_format_detection_works(): handler_png = ImageHandler(PNG_TEST_FILE) detected_png = handler_png._detect_format() assert detected_png == "png" - - -# ============== Error Case Tests ============== - - -def test_unsupported_format_raises_error(tmp_path): - """ - Test that unsupported file formats raise an error (PIL or custom) - """ - from PIL import UnidentifiedImageError - - # Create a fake text file - fake_file = tmp_path / "test.txt" - fake_file.write_text("not an image") - - handler = ImageHandler(str(fake_file)) - # Either our UnsupportedFormatError or PIL's UnidentifiedImageError is acceptable - with pytest.raises((UnsupportedFormatError, UnidentifiedImageError)): - handler.read() - - -def test_save_without_output_path_raises_error(): - """ - Test that save() raises ValueError when output_path is None - """ - handler = ImageHandler(JPG_TEST_FILE) - handler.read() - handler.wipe() - with pytest.raises(ValueError): - handler.save(None) From 2b7792cbbca1779b72368fe6e399e42b4d06477a Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Wed, 7 Jan 2026 16:32:04 +0100 Subject: [PATCH 19/38] added publish workflow --- .github/workflows/publish.yml | 38 +++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..3359f907 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,38 @@ +name: Publish to PyPI + +on: + release: + types: [published] + +jobs: + # The Safety Check + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: astral-sh/setup-uv@v5 + - run: uv python install 3.10 + - run: uv sync --all-extras --dev + - run: uv run pytest -x + + # The Publisher + # This ONLY runs if 'test' passes successfully. + publish: + needs: test # <--- The Dependency You Requested + runs-on: ubuntu-latest + environment: pypi + permissions: + id-token: write # IMPORTANT: Required for Trusted Publishing + + steps: + - uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v5 + + - name: Build package + run: uv build + + - name: Publish to PyPI + # We use the official PyPA action for OIDC security + uses: pypa/gh-action-pypi-publish@release/v1 \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 90481daf..90f525dc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [project] -name = "metadata-scrubber-tool" +name = "metadata-scrubber" version = "0.1.0" description = "A privacy-focused CLI tool that removes sensitive metadata from image files" readme = "README.md" From d00d9d45989e8cb1498045ac1fb8a9e64e1298e5 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Wed, 7 Jan 2026 17:15:06 +0100 Subject: [PATCH 20/38] updated readme and project version --- README.md | 135 +++++++++++++++++++++++++------------------------ pyproject.toml | 2 +- src/main.py | 2 +- 3 files changed, 72 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index bba2e38b..58a0f55d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,11 @@ -# 🔒 Metadata Scrubber Tool +# 🔒 Metadata Scrubber A privacy-focused CLI tool that removes sensitive metadata (EXIF, GPS, author info) from image files. Perfect for protecting your privacy before sharing photos online. +[![Tests](https://github.com/Heritage-XioN/metadata-scrubber-tool/actions/workflows/test.yml/badge.svg)](https://github.com/Heritage-XioN/metadata-scrubber-tool/actions) +[![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) + ## ✨ Features - **Multi-format support** - JPEG, PNG (with PDF/Office planned) @@ -11,106 +15,107 @@ A privacy-focused CLI tool that removes sensitive metadata (EXIF, GPS, author in - **Beautiful CLI** - Rich progress bars and formatted output - **Privacy-first** - Removes GPS coordinates, camera info, timestamps, author data -## 📚 Educational Value +## 🚀 Quick Start -This project demonstrates: -- **Factory pattern** for extensible file type handling -- **Abstract base classes** for consistent handler interfaces -- **Concurrent processing** with thread-safe operations -- **CLI development** with Typer and Rich -- **Image metadata handling** with Pillow and piexif - -## 📋 Prerequisites - -- Python 3.10+ -- [uv](https://github.com/astral-sh/uv) (recommended) or pip - -## 🚀 Installation +### Installation ```bash -# Clone the repository +# Using uv (recommended) +uv pip install metadata-scrubber + +# Or clone and install locally git clone https://github.com/Heritage-XioN/metadata-scrubber-tool.git cd metadata-scrubber-tool - -# Create virtual environment and install dependencies -uv venv -.venv\Scripts\activate # Windows -# source .venv/bin/activate # Linux/Mac - -uv pip install -r requirements.txt +uv sync ``` -## 📖 Usage - -### Read Metadata +### Basic Usage ```bash -# Single file -python -m src.main read photo.jpg +# Read metadata from a file +mst read photo.jpg -# Recursive directory scan -python -m src.main read ./photos/ -r -ext jpg +# Scrub metadata and save to output folder +mst scrub photo.jpg --output ./cleaned + +# Batch process entire folder +mst scrub ./photos -r -ext jpg --output ./cleaned ``` -### Scrub Metadata +## 📖 Commands + +### `mst read` - View Metadata ```bash -# Single file -python -m src.main scrub photo.jpg --output ./cleaned +mst read photo.jpg # Single file +mst read ./photos -r -ext jpg # Directory (recursive) +``` -# Batch process with 8 workers -python -m src.main scrub ./photos/ -r -ext jpg --output ./cleaned --workers 8 +### `mst scrub` - Remove Metadata -# Preview without changes -python -m src.main scrub ./photos/ -r -ext jpg --dry-run +```bash +mst scrub photo.jpg --output ./out # Single file +mst scrub ./photos -r -ext jpg -o ./out # Directory +mst scrub ./photos -r -ext jpg --dry-run # Preview only +mst scrub ./photos -r -ext jpg -w 8 # 8 concurrent workers ``` ### CLI Options -| Command | Options | -|---------|---------| -| `read` | `-r` / `--recursive`, `-ext` / `--extension` | -| `scrub` | `-r`, `-ext`, `-o` / `--output`, `-d` / `--dry-run`, `-w` / `--workers` | -| Global | `-V` / `--verbose`, `-v` / `--version` | +| Option | Description | +|--------|-------------| +| `-r`, `--recursive` | Process directories recursively | +| `-ext`, `--extension` | Filter by file extension (jpg, png) | +| `-o`, `--output` | Output directory for cleaned files | +| `-d`, `--dry-run` | Preview without making changes | +| `-w`, `--workers` | Number of concurrent workers | +| `-V`, `--verbose` | Show detailed debug logs | +| `-v`, `--version` | Show version | -## 🏗️ Architecture +## 🛠️ Development + +### Setup + +```bash +git clone https://github.com/Heritage-XioN/metadata-scrubber-tool.git +cd metadata-scrubber-tool + +# Install with dev dependencies +uv sync --all-extras + +# Run tests +pytest + +# Run linting +ruff check . + +# Run type checking +mypy src +``` + +### Project Structure ``` src/ ├── main.py # CLI entry point (Typer app) ├── commands/ -│ ├── read.py # Read metadata command -│ └── scrub.py # Scrub metadata command (batch processing) +│ ├── read.py # Read metadata command +│ └── scrub.py # Scrub metadata command ├── services/ │ ├── metadata_factory.py # Factory for creating handlers -│ ├── metadata_handler.py # Abstract base class │ ├── image_handler.py # JPEG/PNG handler │ └── batch_processor.py # Concurrent batch processing -├── core/ -│ ├── jpeg_metadata.py # JPEG EXIF processor (piexif) -│ └── png_metadata.py # PNG metadata processor (PIL) -└── utils/ - ├── display.py # Rich output formatting - ├── formatter.py # Value formatting helpers - ├── exceptions.py # Custom exceptions - └── logger.py # Logging configuration -``` - -**Data Flow:** -``` -CLI Command → MetadataFactory → Handler (read→wipe→save) → Output - ↓ - Format Detection - ↓ - JpegProcessor / PngProcessor +└── core/ + ├── jpeg_metadata.py # JPEG EXIF processor + └── png_metadata.py # PNG metadata processor ``` ## ⚠️ Security Considerations -- **Always backup files** before scrubbing in production +- **Original files are never modified** - processed copies are created - **Use `--dry-run`** to preview changes before committing - **GPS coordinates** are completely stripped for privacy -- **Original files are not modified** - processed copies are created +- **Always backup files** before scrubbing in production ## 📄 License diff --git a/pyproject.toml b/pyproject.toml index 90f525dc..962c1979 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "metadata-scrubber" -version = "0.1.0" +version = "0.1.1" description = "A privacy-focused CLI tool that removes sensitive metadata from image files" readme = "README.md" requires-python = ">=3.10" diff --git a/src/main.py b/src/main.py index 2c5543c8..99d4d0fc 100644 --- a/src/main.py +++ b/src/main.py @@ -22,7 +22,7 @@ app = typer.Typer(no_args_is_help=True, pretty_exceptions_show_locals=False) log = logging.getLogger("metadata-scrubber") -__version__ = "0.1.0" +__version__ = "0.1.1" # --------------------------------------------------------- From 45ca2089b2d9a9ff4f4d708b0b52c5d2cdd74e70 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Fri, 9 Jan 2026 12:06:51 +0100 Subject: [PATCH 21/38] metadata-scrubber-tool: initial commit, installed pyPDF --- pyproject.toml | 1 + uv.lock | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 962c1979..d9f43c51 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,6 +9,7 @@ dependencies = [ "rich>=14.0.0", "pillow>=12.0.0", "piexif>=1.1.3", + "pypdf>=6.5.0", ] [project.optional-dependencies] diff --git a/uv.lock b/uv.lock index 8e1a939e..97a4212e 100644 --- a/uv.lock +++ b/uv.lock @@ -243,12 +243,13 @@ wheels = [ ] [[package]] -name = "metadata-scrubber-tool" -version = "0.1.0" +name = "metadata-scrubber" +version = "0.1.1" source = { editable = "." } dependencies = [ { name = "piexif" }, { name = "pillow" }, + { name = "pypdf" }, { name = "rich" }, { name = "typer" }, ] @@ -266,6 +267,7 @@ requires-dist = [ { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.19.0" }, { name = "piexif", specifier = ">=1.1.3" }, { name = "pillow", specifier = ">=12.0.0" }, + { name = "pypdf", specifier = ">=6.5.0" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.0.0" }, { name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=6.0.0" }, { name = "rich", specifier = ">=14.0.0" }, @@ -472,6 +474,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, ] +[[package]] +name = "pypdf" +version = "6.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4d/9b/db1056a54eda8cd44f9e5128e87e1142cb328295dad92bbec0d39f251641/pypdf-6.5.0.tar.gz", hash = "sha256:9e78950906380ae4f2ce1d9039e9008098ba6366a4d9c7423c4bdbd6e6683404", size = 5277655, upload-time = "2025-12-21T11:07:19.876Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/db/f2e7703791a1f32532618b82789ddddb7173b9e22d97e34cc11950d8e330/pypdf-6.5.0-py3-none-any.whl", hash = "sha256:9cef8002aaedeecf648dfd9ff1ce38f20ae8d88e2534fced6630038906440b25", size = 329560, upload-time = "2025-12-21T11:07:18.173Z" }, +] + [[package]] name = "pytest" version = "9.0.2" From 955bb8f6a1258ba7531e35388819dd5b52e7195d Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Fri, 9 Jan 2026 17:27:22 +0100 Subject: [PATCH 22/38] metadata-scrubber-tool: added pdf handler, modifed the display to accepts pdf specific data, and pdf format data, added full test coverage --- src/services/metadata_factory.py | 5 +- src/services/metadata_handler.py | 2 +- src/services/pdf_handler.py | 102 ++++++++ src/utils/display.py | 14 +- src/utils/exceptions.py | 6 + src/utils/formatter.py | 4 + .../assets/test_pdfs/file-example_PDF_1MB.pdf | Bin 0 -> 1042157 bytes tests/assets/test_pdfs/sample.pdf | Bin 0 -> 18810 bytes tests/conftest.py | 29 +++ tests/e2e/test_read_command.py | 34 ++- tests/e2e/test_scrub_command.py | 76 +++++- tests/integration/test_metadata_factory.py | 105 ++++++++- tests/unit/test_pdf_handler.py | 223 ++++++++++++++++++ 13 files changed, 590 insertions(+), 10 deletions(-) create mode 100644 src/services/pdf_handler.py create mode 100644 tests/assets/test_pdfs/file-example_PDF_1MB.pdf create mode 100644 tests/assets/test_pdfs/sample.pdf create mode 100644 tests/unit/test_pdf_handler.py diff --git a/src/services/metadata_factory.py b/src/services/metadata_factory.py index 3d9e11fe..ef5aec68 100644 --- a/src/services/metadata_factory.py +++ b/src/services/metadata_factory.py @@ -9,6 +9,7 @@ extensibility for supporting new file formats (PDF, Office docs, etc.). from pathlib import Path from src.services.image_handler import ImageHandler +from src.services.pdf_handler import PDFHandler from src.utils.exceptions import UnsupportedFormatError @@ -45,10 +46,10 @@ class MetadataFactory: if Path(filepath).is_file(): if ext in [".jpg", ".jpeg", ".png"]: return ImageHandler(filepath) + elif ext == ".pdf": + return PDFHandler(filepath) # TODO: implement other handlers - # elif ext == ".pdf": - # return PDFHandler(filepath) # elif ext == ".xlsx": # return ExcelHandler(filepath) # elif ext == ".pptx": diff --git a/src/services/metadata_handler.py b/src/services/metadata_handler.py index 8d0e94f0..5a189f23 100644 --- a/src/services/metadata_handler.py +++ b/src/services/metadata_handler.py @@ -61,7 +61,7 @@ class MetadataHandler(ABC): pass @abstractmethod - def save(self, output_path: str | None = None) -> None: + def save(self, output_path: str) -> None: """ Save the processed file with cleaned metadata. diff --git a/src/services/pdf_handler.py b/src/services/pdf_handler.py new file mode 100644 index 00000000..57b03b1b --- /dev/null +++ b/src/services/pdf_handler.py @@ -0,0 +1,102 @@ +""" +PDF metadata handler for PDF files. +Does not support encrypted files. + +This module provides the PdfHandler class which implements the MetadataHandler +interface for PDF files. It delegates the actual metadata operations to +format-specific processors (PdfProcessor). +""" + +import shutil +from pathlib import Path + +from pypdf import PdfReader, PdfWriter + +from src.services.metadata_handler import MetadataHandler +from src.utils.exceptions import ( + MetadataNotFoundError, + MetadataReadingError, + UnsupportedFormatError, +) + + +class PDFHandler(MetadataHandler): + """ + PDF metadata handler for PDF files. + """ + + def __init__(self, filepath: str): + """ + Initialize the pdf handler. + + Args: + filepath: Path to the pdf file to process. + """ + super().__init__(filepath) + self.keys_to_delete: list[str] = [] + + def _detect_format(self) -> str: + """ + Detect actual pdf format using, not file extension. + + Returns: + Normalized format string ('pdf'). + + Raises: + UnsupportedFormatError: If format is not supported or undetectable. + """ + normalise = Path(self.filepath).suffix.lower() + if normalise != ".pdf": + raise UnsupportedFormatError(f"Unsupported format: {normalise}") + + return normalise[1:] + + def read(self): + """ + Extract metadata from the file. + + Uses actual format detection to select the appropriate processor. + """ + with PdfReader(Path(self.filepath)) as reader: + if reader.is_encrypted: + raise MetadataReadingError("File is encrypted.") + + if reader.metadata is None: + raise MetadataNotFoundError("No metadata found in the file.") + + for key, value in reader.metadata.items(): + self.metadata[key] = value + self.keys_to_delete.append(key) + return self.metadata + + def wipe(self) -> None: + """ + Remove metadata from PDF file. + """ + with PdfReader(Path(self.filepath)) as reader: + metadata = reader.metadata + if metadata is None: + raise MetadataNotFoundError("No metadata found in the file.") + + for key in list(metadata): + if key in self.keys_to_delete: + del metadata[key] + + self.processed_metadata = metadata + + def save(self, output_path: str | Path | None = None) -> None: + """ + Save the changes to a copy of the original file. + """ + destination_file_path = Path(output_path) if output_path else None + if not destination_file_path: + raise ValueError("output_path is required") + + shutil.copy2(self.filepath, destination_file_path) + with PdfReader(destination_file_path) as reader, PdfWriter() as writer: + # Copy all pages + for page in reader.pages: + writer.add_page(page) + + writer.add_metadata(self.processed_metadata) + writer.write(destination_file_path) diff --git a/src/utils/display.py b/src/utils/display.py index ccf0fc33..270e15e6 100644 --- a/src/utils/display.py +++ b/src/utils/display.py @@ -31,6 +31,11 @@ def print_metadata_table(metadata: dict[str, Any]): # Define the groups using simple lists of keys groups = { + "📄 Document Info": [ + "Author", + "/Author", + "/Creator", + ], "📸 Device Info": ["Make", "Model", "Software", "ExifVersion"], "⚙️ Exposure Settings": [ "ExposureTime", @@ -49,7 +54,14 @@ def print_metadata_table(metadata: dict[str, Any]): "Orientation", "ResolutionUnit", ], - "📅 Dates": ["DateTime", "DateTimeOriginal", "DateTimeDigitized", "OffsetTime"], + "📅 Dates": [ + "DateTime", + "DateTimeOriginal", + "DateTimeDigitized", + "OffsetTime", + "/CreationDate", + "/ModDate", + ], } # Create the main table diff --git a/src/utils/exceptions.py b/src/utils/exceptions.py index 8cf00cd7..9d6484b6 100644 --- a/src/utils/exceptions.py +++ b/src/utils/exceptions.py @@ -28,3 +28,9 @@ class MetadataProcessingError(MetadataException): """Raised when an error occurs during metadata processing.""" pass + + +class MetadataReadingError(MetadataException): + """Raised when an error occurs during metadata reading.""" + + pass diff --git a/src/utils/formatter.py b/src/utils/formatter.py index 997bfa3a..be2544c6 100644 --- a/src/utils/formatter.py +++ b/src/utils/formatter.py @@ -31,6 +31,10 @@ def clean_value(value: Any) -> str: if isinstance(value, tuple) or isinstance(value, list): return "/".join(map(str, value)) + if isinstance(value, str) and value.startswith("D:"): + clean_iso = f"{value[2:6]}-{value[6:8]}-{value[8:10]}T{value[10:12]}:{value[12:14]}:{value[14:16]}" + return clean_iso + # Handle empty values if value == "": return "-" diff --git a/tests/assets/test_pdfs/file-example_PDF_1MB.pdf b/tests/assets/test_pdfs/file-example_PDF_1MB.pdf new file mode 100644 index 0000000000000000000000000000000000000000..13ce57492fac05cd5f7a5dde88d2b91d621ff2a4 GIT binary patch literal 1042157 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

Z=@w~z=B>4gO`pBY?UXh30>Px;$dBDO{Lk{x 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ÁY5GN`$(IG4Usx>EH>7EZUrG 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

@d{3}g`?V(WQiHA`I`OvO#Ebuj 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

~vX5@Bai`JX*g;X@d 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

U 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

XC$KQp6?XLV+O4YDd$MBYN;KGDk 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 literal 0 HcmV?d00001 diff --git a/tests/conftest.py b/tests/conftest.py index f2167b54..e000b353 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -12,6 +12,7 @@ import pytest TESTS_DIR = Path(__file__).parent ASSETS_DIR = TESTS_DIR / "assets" TEST_IMAGES_DIR = ASSETS_DIR / "test_images" +TEST_PDFS_DIR = ASSETS_DIR / "test_pdfs" @pytest.fixture @@ -46,3 +47,31 @@ def get_png_test_file() -> str: def get_test_images_dir() -> str: """Get test images directory path as string.""" return str(TEST_IMAGES_DIR) + + +@pytest.fixture +def pdf_test_file() -> Path: + """Return path to a PDF test file with metadata.""" + return TEST_PDFS_DIR / "sample.pdf" + + +@pytest.fixture +def test_pdfs_dir() -> Path: + """Return path to test PDFs directory.""" + return TEST_PDFS_DIR + + +# String versions for parametrize (PDF) +def get_pdf_test_file() -> str: + """Get PDF test file path as string.""" + return str(TEST_PDFS_DIR / "sample.pdf") + + +def get_large_pdf_test_file() -> str: + """Get large PDF test file path as string.""" + return str(TEST_PDFS_DIR / "file-example_PDF_1MB.pdf") + + +def get_test_pdfs_dir() -> str: + """Get test PDFs directory path as string.""" + return str(TEST_PDFS_DIR) diff --git a/tests/e2e/test_read_command.py b/tests/e2e/test_read_command.py index 9972a77c..fc17ad3e 100644 --- a/tests/e2e/test_read_command.py +++ b/tests/e2e/test_read_command.py @@ -6,7 +6,13 @@ from typer.testing import CliRunner from src.main import app # Import path helpers from conftest -from tests.conftest import get_jpg_test_file, get_png_test_file, get_test_images_dir +from tests.conftest import ( + get_jpg_test_file, + get_pdf_test_file, + get_png_test_file, + get_test_images_dir, + get_test_pdfs_dir, +) runner = CliRunner() @@ -14,6 +20,8 @@ runner = CliRunner() JPG_TEST_FILE = get_jpg_test_file() PNG_TEST_FILE = get_png_test_file() TEST_DIR = get_test_images_dir() +PDF_TEST_FILE = get_pdf_test_file() +PDF_DIR = get_test_pdfs_dir() # ============== Success Case Tests ============== @@ -74,3 +82,27 @@ def test_read_command_file_not_found(): assert result.exit_code == 2 assert "Invalid value for 'FILE_PATH'" in result.stderr assert "does not exist" in result.stderr + + +# ============== PDF E2E Read Tests ============== + + +def test_read_command_pdf_single_file_success(): + """ + Test the 'read' command with a single PDF file. + """ + result = runner.invoke(app, ["read", PDF_TEST_FILE]) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + assert "Reading" in result.stdout + assert Path(PDF_TEST_FILE).name in result.stdout + + +def test_read_command_recursive_pdf_success(): + """ + Test the 'read' command with recursive directory processing for PDF. + """ + result = runner.invoke(app, ["read", PDF_DIR, "-r", "-ext", "pdf"]) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + assert "Reading" in result.stdout diff --git a/tests/e2e/test_scrub_command.py b/tests/e2e/test_scrub_command.py index bc64e482..5e593cd9 100644 --- a/tests/e2e/test_scrub_command.py +++ b/tests/e2e/test_scrub_command.py @@ -12,7 +12,13 @@ from typer.testing import CliRunner from src.main import app # Import path helpers from conftest -from tests.conftest import get_jpg_test_file, get_png_test_file, get_test_images_dir +from tests.conftest import ( + get_jpg_test_file, + get_pdf_test_file, + get_png_test_file, + get_test_images_dir, + get_test_pdfs_dir, +) runner = CliRunner() @@ -20,6 +26,8 @@ runner = CliRunner() JPG_TEST_FILE = get_jpg_test_file() PNG_TEST_FILE = get_png_test_file() EXAMPLES_DIR = get_test_images_dir() +PDF_TEST_FILE = get_pdf_test_file() +PDF_DIR = get_test_pdfs_dir() @pytest.fixture @@ -127,3 +135,69 @@ def test_scrub_command_requires_recursive_with_ext(): result = runner.invoke(app, ["scrub", JPG_TEST_FILE, "-ext", "jpg"]) assert result.exit_code != 0 + + +# ============== PDF E2E Tests ============== + + +def test_scrub_command_pdf_single_file_success(output_dir): + """ + Test the 'scrub' command with a single PDF file. + """ + result = runner.invoke(app, ["scrub", PDF_TEST_FILE, "--output", str(output_dir)]) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + # Check output file was created (has processed_ prefix) + output_file = output_dir / f"processed_{Path(PDF_TEST_FILE).name}" + assert output_file.exists() + + +def test_scrub_command_recursive_pdf_success(output_dir): + """ + Test the 'scrub' command with recursive directory processing for PDF. + """ + result = runner.invoke( + app, ["scrub", PDF_DIR, "-r", "-ext", "pdf", "--output", str(output_dir)] + ) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + # Check at least one output file was created + output_files = list(output_dir.glob("processed_*.pdf")) + assert len(output_files) > 0 + + +def test_scrub_command_pdf_dry_run(output_dir): + """ + Test that --dry-run doesn't create PDF files. + """ + result = runner.invoke( + app, ["scrub", PDF_TEST_FILE, "--output", str(output_dir), "--dry-run"] + ) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + assert "DRY-RUN" in result.stdout + # No files should be created in dry-run mode + output_file = output_dir / f"processed_{Path(PDF_TEST_FILE).name}" + assert not output_file.exists() + + +def test_scrub_command_pdf_with_workers(output_dir): + """ + Test the --workers option for concurrent PDF processing. + """ + result = runner.invoke( + app, + [ + "scrub", + PDF_DIR, + "-r", + "-ext", + "pdf", + "--output", + str(output_dir), + "--workers", + "2", + ], + ) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" diff --git a/tests/integration/test_metadata_factory.py b/tests/integration/test_metadata_factory.py index 6136bcd2..3f3fbbc3 100644 --- a/tests/integration/test_metadata_factory.py +++ b/tests/integration/test_metadata_factory.py @@ -3,22 +3,26 @@ from pathlib import Path import pytest +from src.core.jpeg_metadata import JpegProcessor +from src.core.png_metadata import PngProcessor from src.services.metadata_factory import MetadataFactory +from src.services.pdf_handler import PDFHandler from src.utils.exceptions import MetadataNotFoundError, UnsupportedFormatError # Import path helpers from conftest -from tests.conftest import get_jpg_test_file, get_png_test_file +from tests.conftest import get_jpg_test_file, get_pdf_test_file, get_png_test_file # Test file paths (cross-platform) JPG_TEST_FILE = get_jpg_test_file() PNG_TEST_FILE = get_png_test_file() +PDF_TEST_FILE = get_pdf_test_file() # ============== Success Case Tests ============== @pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) -def test_read_image_metadata(x): +def test_read_metadata(x): """ test for reading image metadata """ @@ -30,8 +34,12 @@ def test_read_image_metadata(x): # checks if metadata is not empty assert handler.metadata == metadata - # checks if tags_to_delete or text_keys_to_delete is not empty - assert handler.tags_to_delete is not None or handler.text_keys_to_delete is not None + if isinstance(handler, JpegProcessor | PngProcessor): + # checks if tags_to_delete or text_keys_to_delete is not empty + assert ( + handler.tags_to_delete is not None + or handler.text_keys_to_delete is not None + ) # checks if metadata is a dictionary assert isinstance(metadata, dict) @@ -146,3 +154,92 @@ def test_save_without_output_path_raises_error(): handler.wipe() with pytest.raises(ValueError): handler.save(None) + + +# ============== PDF Integration Tests ============== + + +def test_read_pdf_metadata_via_factory(): + """ + Test reading PDF metadata through MetadataFactory. + """ + assert Path(PDF_TEST_FILE).exists(), f"Test file not found: {PDF_TEST_FILE}" + handler = MetadataFactory.get_handler(PDF_TEST_FILE) + + # Verify correct handler type is returned + assert isinstance(handler, PDFHandler) + + metadata = handler.read() + assert handler.metadata == metadata + assert isinstance(metadata, dict) + assert handler.keys_to_delete is not None + + +def test_wipe_pdf_metadata_via_factory(): + """ + Test wiping PDF metadata through MetadataFactory. + """ + assert Path(PDF_TEST_FILE).exists(), f"Test file not found: {PDF_TEST_FILE}" + handler = MetadataFactory.get_handler(PDF_TEST_FILE) + metadata = handler.read() + handler.wipe() + + assert handler.processed_metadata != metadata + + +def test_save_processed_pdf_metadata_via_factory(): + """ + Test saving processed PDF metadata through MetadataFactory. + """ + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + handler = MetadataFactory.get_handler(PDF_TEST_FILE) + metadata = handler.read() + handler.wipe() + + assert handler.processed_metadata != metadata + + output_file = output_dir / Path(PDF_TEST_FILE).name + handler.save(str(output_file)) + + assert output_file.exists() + shutil.rmtree(output_dir) + + +def test_pdf_format_detection_via_factory(): + """ + Test that format detection returns 'pdf' for PDF files. + """ + handler = MetadataFactory.get_handler(PDF_TEST_FILE) + detected = handler._detect_format() + assert detected == "pdf" + + +def test_output_pdf_file_has_less_metadata(): + """ + Test that the output PDF file has metadata stripped. + """ + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + # Process original file + handler = MetadataFactory.get_handler(PDF_TEST_FILE) + original_metadata = handler.read() + original_count = len(original_metadata) + handler.wipe() + + # Save processed file + output_file = output_dir / Path(PDF_TEST_FILE).name + handler.save(str(output_file)) + + # Read output file and verify metadata is reduced or gone + try: + output_handler = MetadataFactory.get_handler(str(output_file)) + output_metadata = output_handler.read() + assert len(output_metadata) < original_count + except MetadataNotFoundError: + # If no metadata found, that's expected for fully stripped files + pass + + shutil.rmtree(output_dir) diff --git a/tests/unit/test_pdf_handler.py b/tests/unit/test_pdf_handler.py new file mode 100644 index 00000000..55001c07 --- /dev/null +++ b/tests/unit/test_pdf_handler.py @@ -0,0 +1,223 @@ +""" +Unit tests for PDFHandler. + +Tests the PDFHandler class in isolation, focusing on individual methods +and edge cases including encrypted PDFs, missing metadata, and corrupted files. +""" + +import shutil +from pathlib import Path + +import pytest +from pypdf.errors import PdfReadError + +from src.services.pdf_handler import PDFHandler +from src.utils.exceptions import ( + MetadataNotFoundError, + MetadataReadingError, + UnsupportedFormatError, +) + +# Import path helpers from conftest +from tests.conftest import get_large_pdf_test_file, get_pdf_test_file + +# Test file paths (cross-platform) +PDF_TEST_FILE = get_pdf_test_file() +LARGE_PDF_TEST_FILE = get_large_pdf_test_file() + + +# ============== Success Case Tests ============== + + +@pytest.mark.parametrize("pdf_file", [PDF_TEST_FILE, LARGE_PDF_TEST_FILE]) +def test_read_pdf_metadata(pdf_file): + """ + Test reading metadata from PDF files. + Verifies that read() extracts metadata and populates keys_to_delete. + """ + assert Path(pdf_file).exists(), f"Test file not found: {pdf_file}" + handler = PDFHandler(pdf_file) + metadata = handler.read() + + # Check metadata was extracted + assert handler.metadata == metadata + assert isinstance(metadata, dict) + + # Check keys_to_delete is populated + assert handler.keys_to_delete is not None + assert len(handler.keys_to_delete) > 0 + + +@pytest.mark.parametrize("pdf_file", [PDF_TEST_FILE, LARGE_PDF_TEST_FILE]) +def test_wipe_pdf_metadata(pdf_file): + """ + Test wiping metadata from PDF files. + Verifies that wipe() removes metadata entries. + """ + assert Path(pdf_file).exists(), f"Test file not found: {pdf_file}" + handler = PDFHandler(pdf_file) + metadata = handler.read() + handler.wipe() + + # processed_metadata should differ from original + assert handler.processed_metadata != metadata + + +@pytest.mark.parametrize("pdf_file", [PDF_TEST_FILE, LARGE_PDF_TEST_FILE]) +def test_save_processed_pdf_metadata(pdf_file): + """ + Test saving processed PDF to output path. + """ + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + handler = PDFHandler(pdf_file) + handler.read() + handler.wipe() + + output_file = output_dir / Path(pdf_file).name + handler.save(str(output_file)) + + # Verify output file exists + assert output_file.exists() + + # Cleanup + shutil.rmtree(output_dir) + + +def test_format_detection_works(): + """ + Test that _detect_format() correctly identifies PDF files. + """ + handler = PDFHandler(PDF_TEST_FILE) + detected = handler._detect_format() + assert detected == "pdf" + + +@pytest.mark.parametrize("pdf_file", [PDF_TEST_FILE, LARGE_PDF_TEST_FILE]) +def test_output_file_has_less_metadata(pdf_file): + """ + Test that the output file has metadata stripped. + """ + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + # Process original file + handler = PDFHandler(pdf_file) + original_metadata = handler.read() + original_count = len(original_metadata) + handler.wipe() + + # Save processed file + output_file = output_dir / Path(pdf_file).name + handler.save(str(output_file)) + + # Read output file and verify metadata is reduced or gone + try: + output_handler = PDFHandler(str(output_file)) + output_metadata = output_handler.read() + assert len(output_metadata) < original_count + except MetadataNotFoundError: + # If no metadata found, that's expected for fully stripped files + pass + + # Cleanup + shutil.rmtree(output_dir) + + +# ============== Error Case Tests ============== + + +def test_unsupported_format_raises_error(tmp_path): + """ + Test that non-PDF files raise UnsupportedFormatError. + """ + # Create a fake text file with .txt extension + fake_file = tmp_path / "test.txt" + fake_file.write_text("not a pdf") + + handler = PDFHandler(str(fake_file)) + with pytest.raises(UnsupportedFormatError): + handler._detect_format() + + +def test_save_without_output_path_raises_error(): + """ + Test that save() raises ValueError when output_path is None. + """ + handler = PDFHandler(PDF_TEST_FILE) + handler.read() + handler.wipe() + with pytest.raises(ValueError): + handler.save(None) + + +# ============== Edge Case Tests ============== + + +def test_encrypted_pdf_raises_error(tmp_path): + """ + Test that encrypted PDFs raise MetadataReadingError. + Note: This test creates a minimal encrypted PDF for testing. + """ + # Create a minimal encrypted PDF structure + encrypted_pdf = tmp_path / "encrypted.pdf" + # Write minimal PDF with encryption marker + # This is a simplified test - in production you'd use a real encrypted PDF + encrypted_pdf.write_bytes( + b"%PDF-1.4\n" + b"1 0 obj\n<>\nendobj\n" + b"2 0 obj\n<>\nendobj\n" + b"3 0 obj\n<>\nendobj\n" + b"xref\n0 4\n" + b"0000000000 65535 f \n" + b"0000000009 00000 n \n" + b"0000000058 00000 n \n" + b"0000000115 00000 n \n" + b"trailer\n<>>>\n" + b"startxref\n191\n%%EOF" + ) + + handler = PDFHandler(str(encrypted_pdf)) + # Encrypted PDF should raise MetadataReadingError or PdfReadError + with pytest.raises((MetadataReadingError, PdfReadError, Exception)): + handler.read() + + +def test_pdf_without_metadata_raises_error(tmp_path): + """ + Test that PDFs with no metadata raise MetadataNotFoundError. + """ + # Create a minimal PDF without metadata + no_metadata_pdf = tmp_path / "no_metadata.pdf" + no_metadata_pdf.write_bytes( + b"%PDF-1.4\n" + b"1 0 obj\n<>\nendobj\n" + b"2 0 obj\n<>\nendobj\n" + b"3 0 obj\n<>\nendobj\n" + b"xref\n0 4\n" + b"0000000000 65535 f \n" + b"0000000009 00000 n \n" + b"0000000058 00000 n \n" + b"0000000115 00000 n \n" + b"trailer\n<>\n" + b"startxref\n191\n%%EOF" + ) + + handler = PDFHandler(str(no_metadata_pdf)) + with pytest.raises((MetadataNotFoundError, Exception)): + handler.read() + + +def test_corrupted_pdf_graceful_error(tmp_path): + """ + Test that corrupted PDFs are handled gracefully. + """ + # Create a corrupted PDF (invalid structure) + corrupted_pdf = tmp_path / "corrupted.pdf" + corrupted_pdf.write_bytes(b"not a valid pdf content at all") + + handler = PDFHandler(str(corrupted_pdf)) + # Should raise PdfReadError or similar from pypdf + with pytest.raises((PdfReadError, Exception)): + handler.read() From 3bd506e4eba909dbd84d1b99877052aa70e1b6bf Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Fri, 9 Jan 2026 19:55:27 +0100 Subject: [PATCH 23/38] metadata-scrubber-tool: added handler for excel files, add comprehensive tests --- pyproject.toml | 1 + src/services/excel_handler.py | 163 +++++++++++++ src/services/metadata_factory.py | 5 +- src/services/pdf_handler.py | 70 ++++-- src/utils/display.py | 2 + .../test_xlsx/file_example_XLSX_1000.xlsx | Bin 0 -> 42669 bytes .../test_xlsx/file_example_XLSX_5000.xlsx | Bin 0 -> 188887 bytes tests/conftest.py | 30 +++ tests/e2e/test_read_command.py | 68 +++--- tests/e2e/test_scrub_command.py | 104 ++++---- tests/integration/test_metadata_factory.py | 226 +++++++----------- tests/unit/test_excel_handler.py | 207 ++++++++++++++++ uv.lock | 23 ++ 13 files changed, 667 insertions(+), 232 deletions(-) create mode 100644 src/services/excel_handler.py create mode 100644 tests/assets/test_xlsx/file_example_XLSX_1000.xlsx create mode 100644 tests/assets/test_xlsx/file_example_XLSX_5000.xlsx create mode 100644 tests/unit/test_excel_handler.py diff --git a/pyproject.toml b/pyproject.toml index d9f43c51..43d9c2ad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,6 +10,7 @@ dependencies = [ "pillow>=12.0.0", "piexif>=1.1.3", "pypdf>=6.5.0", + "openpyxl>=3.1.5", ] [project.optional-dependencies] diff --git a/src/services/excel_handler.py b/src/services/excel_handler.py new file mode 100644 index 00000000..748201ff --- /dev/null +++ b/src/services/excel_handler.py @@ -0,0 +1,163 @@ +""" +Excel metadata handler for Excel files. + +This module provides the ExcelHandler class which implements the MetadataHandler +interface for Excel files (.xlsx, .xlsm, .xltx, .xltm). Uses openpyxl for +reading and writing Excel workbook properties. + +Note: + Does not support password-protected/encrypted workbooks. +""" + +import shutil +from pathlib import Path +from typing import Any + +from openpyxl import load_workbook + +from src.services.metadata_handler import MetadataHandler +from src.utils.exceptions import ( + MetadataNotFoundError, + MetadataReadingError, + UnsupportedFormatError, +) + +# Supported Excel formats +FORMAT_MAP = { + "xlsx": "xlsx", + "xlsm": "xlsm", + "xltx": "xltx", + "xltm": "xltm", +} + +# Properties to preserve (not deleted during wipe) +PRESERVED_PROPERTIES = {"created", "modified", "language"} + + +class ExcelHandler(MetadataHandler): + """ + Excel metadata handler for Excel files. + + Handles extraction and removal of document properties from Excel workbooks + including author, title, subject, keywords, and other core properties. + + Attributes: + keys_to_delete: List of property names to be wiped. + """ + + def __init__(self, filepath: str): + """ + Initialize the Excel handler. + + Args: + filepath: Path to the Excel file to process. + """ + super().__init__(filepath) + self.keys_to_delete: list[str] = [] + + def _detect_format(self) -> str: + """ + Detect Excel format from file extension. + + Returns: + Normalized format string ('xlsx', 'xlsm', 'xltx', or 'xltm'). + + Raises: + UnsupportedFormatError: If file extension is not a supported Excel format. + """ + ext = Path(self.filepath).suffix.lower() + normalised = FORMAT_MAP.get(ext[1:]) # Remove leading dot + if normalised is None: + raise UnsupportedFormatError(f"Unsupported format: {ext}") + + return normalised + + def read(self) -> dict[str, Any]: + """ + Extract metadata properties from the Excel workbook. + + Reads all document properties from the workbook and identifies + which properties should be wiped (excludes created, modified, language). + + Returns: + Dictionary of property names to their values. + + Raises: + MetadataReadingError: If the workbook is password-protected. + MetadataNotFoundError: If no properties are found. + """ + wb = load_workbook(Path(self.filepath)) + try: + if wb.security.workbookPassword is not None: + raise MetadataReadingError("File is encrypted.") + + if wb.properties is None: + raise MetadataNotFoundError("No metadata found in the file.") + + for attr, value in vars(wb.properties).items(): + self.metadata[attr] = value + if attr not in PRESERVED_PROPERTIES: + self.keys_to_delete.append(attr) + + return self.metadata + finally: + wb.close() + + def wipe(self) -> None: + """ + Remove metadata properties from the Excel workbook. + + Clears all properties identified during read() except for + preserved properties (created, modified, language). + + Raises: + MetadataNotFoundError: If no properties are found. + """ + wb = load_workbook(Path(self.filepath)) + try: + if wb.properties is None: + raise MetadataNotFoundError("No metadata found in the file.") + + # Clear each property marked for deletion + for attr in self.keys_to_delete: + if hasattr(wb.properties, attr): + setattr(wb.properties, attr, None) + + self.processed_metadata = wb.properties + finally: + wb.close() + + def save(self, output_path: str | None) -> None: + """ + Save the workbook with cleaned metadata to the output path. + + Creates a copy of the original file and applies the wiped + metadata properties to it. + + Args: + output_path: Path where the cleaned file should be saved. + + Raises: + ValueError: If output_path is None or empty. + """ + if not output_path: + raise ValueError("output_path is required") + + destination_file_path = Path(output_path) + shutil.copy2(self.filepath, destination_file_path) + + # Use keep_vba=True for macro-enabled workbooks + detected_format = self._detect_format() + if detected_format == "xlsm": + wb = load_workbook(destination_file_path, keep_vba=True) + else: + wb = load_workbook(destination_file_path) + + try: + # Apply wiped properties + for attr, value in vars(self.processed_metadata).items(): + setattr(wb.properties, attr, value) + + wb.save(destination_file_path) + finally: + wb.close() diff --git a/src/services/metadata_factory.py b/src/services/metadata_factory.py index ef5aec68..06beff3f 100644 --- a/src/services/metadata_factory.py +++ b/src/services/metadata_factory.py @@ -8,6 +8,7 @@ extensibility for supporting new file formats (PDF, Office docs, etc.). from pathlib import Path +from src.services.excel_handler import ExcelHandler from src.services.image_handler import ImageHandler from src.services.pdf_handler import PDFHandler from src.utils.exceptions import UnsupportedFormatError @@ -48,10 +49,10 @@ class MetadataFactory: return ImageHandler(filepath) elif ext == ".pdf": return PDFHandler(filepath) + elif ext in [".xlsx", ".xlsm", ".xltx", ".xltm"]: + return ExcelHandler(filepath) # TODO: implement other handlers - # elif ext == ".xlsx": - # return ExcelHandler(filepath) # elif ext == ".pptx": # return PowerPointHandler(filepath) else: diff --git a/src/services/pdf_handler.py b/src/services/pdf_handler.py index 57b03b1b..bcef30eb 100644 --- a/src/services/pdf_handler.py +++ b/src/services/pdf_handler.py @@ -1,14 +1,17 @@ """ PDF metadata handler for PDF files. -Does not support encrypted files. -This module provides the PdfHandler class which implements the MetadataHandler -interface for PDF files. It delegates the actual metadata operations to -format-specific processors (PdfProcessor). +This module provides the PDFHandler class which implements the MetadataHandler +interface for PDF files. Uses pypdf library for reading and writing PDF +document information dictionary. + +Note: + Does not support encrypted/password-protected PDF files. """ import shutil from pathlib import Path +from typing import Any from pypdf import PdfReader, PdfWriter @@ -23,39 +26,50 @@ from src.utils.exceptions import ( class PDFHandler(MetadataHandler): """ PDF metadata handler for PDF files. + + Handles extraction and removal of document information from PDF files + including author, creator, title, subject, and other standard PDF metadata. + + Attributes: + keys_to_delete: List of metadata keys to be wiped. """ def __init__(self, filepath: str): """ - Initialize the pdf handler. + Initialize the PDF handler. Args: - filepath: Path to the pdf file to process. + filepath: Path to the PDF file to process. """ super().__init__(filepath) self.keys_to_delete: list[str] = [] def _detect_format(self) -> str: """ - Detect actual pdf format using, not file extension. + Validate that the file has a PDF extension. Returns: Normalized format string ('pdf'). Raises: - UnsupportedFormatError: If format is not supported or undetectable. + UnsupportedFormatError: If file extension is not .pdf. """ - normalise = Path(self.filepath).suffix.lower() - if normalise != ".pdf": - raise UnsupportedFormatError(f"Unsupported format: {normalise}") + ext = Path(self.filepath).suffix.lower() + if ext != ".pdf": + raise UnsupportedFormatError(f"Unsupported format: {ext}") - return normalise[1:] + return ext[1:] # Return 'pdf' without the dot - def read(self): + def read(self) -> dict[str, Any]: """ - Extract metadata from the file. + Extract metadata from the PDF document information dictionary. - Uses actual format detection to select the appropriate processor. + Returns: + Dictionary of metadata keys to their values. + + Raises: + MetadataReadingError: If the PDF is encrypted/password-protected. + MetadataNotFoundError: If no metadata is found in the PDF. """ with PdfReader(Path(self.filepath)) as reader: if reader.is_encrypted: @@ -67,11 +81,17 @@ class PDFHandler(MetadataHandler): for key, value in reader.metadata.items(): self.metadata[key] = value self.keys_to_delete.append(key) + return self.metadata def wipe(self) -> None: """ - Remove metadata from PDF file. + Remove metadata entries from the PDF document. + + Clears all metadata keys identified during read(). + + Raises: + MetadataNotFoundError: If no metadata is found in the PDF. """ with PdfReader(Path(self.filepath)) as reader: metadata = reader.metadata @@ -84,15 +104,25 @@ class PDFHandler(MetadataHandler): self.processed_metadata = metadata - def save(self, output_path: str | Path | None = None) -> None: + def save(self, output_path: str | None) -> None: """ - Save the changes to a copy of the original file. + Save the PDF with cleaned metadata to the output path. + + Creates a copy of the original file and rebuilds the PDF + with the wiped metadata. + + Args: + output_path: Path where the cleaned PDF should be saved. + + Raises: + ValueError: If output_path is None or empty. """ - destination_file_path = Path(output_path) if output_path else None - if not destination_file_path: + if not output_path: raise ValueError("output_path is required") + destination_file_path = Path(output_path) shutil.copy2(self.filepath, destination_file_path) + with PdfReader(destination_file_path) as reader, PdfWriter() as writer: # Copy all pages for page in reader.pages: diff --git a/src/utils/display.py b/src/utils/display.py index 270e15e6..ae1fe4cc 100644 --- a/src/utils/display.py +++ b/src/utils/display.py @@ -59,6 +59,8 @@ def print_metadata_table(metadata: dict[str, Any]): "DateTimeOriginal", "DateTimeDigitized", "OffsetTime", + "created", + "modified", "/CreationDate", "/ModDate", ], diff --git a/tests/assets/test_xlsx/file_example_XLSX_1000.xlsx b/tests/assets/test_xlsx/file_example_XLSX_1000.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e933f72499afd7a9e0ccc785ee8d7d19984128d1 GIT binary patch literal 42669 zcmeFZc{tTu8$WEGLXynG##WRmq%8>{8>MJKC6pm0*@#L-2pgF*gk)$ur!sWPP{~k; zBz3|Gu_=m31IhH>>-*iNr!zh8`&{qupWnGI4d+^|wZ8Wn?)!6pKKI&U#>^tXz`?=6 z(6W!ujA71y3*gUoo=$FFD$3~B8*$G}nOE|K4xS8;@$I4!})sP z-46I{Z6*fz`(GJ`4_Y`L-nYf`u!on5gNKLm(L-+O&vX}*tMajaYTIm)|9acd=GfcH zwEit^2A;p2es`1T;#zutQQ1J$pyYVrmHPO>f<^1SgU>a0pQ&cxu?c-<+M3!|EMVh! zcE?EY7OF@VscFTL1sZzx>?_Tf9-DgCRhT^4zvk1Lch?@jye)9=oj}D_%hzj|h166Q zR(tLeVCP)Syfe42lRf;_QPEMmmvN)xLQ+rH5^wF`$r}*s$yD|oqh0Ox+~S#HS;~k$ zQ@Z^RzH9Ii3mO0JGZ)SM%zcMFozQoljVp66SLF^F^b21;qNyO_7XF84bERwiQpP`S z?@Bn&f5Rl3xaH`WoP>ZTrTO{L;GnOY(3hYC@jBMav~9E2%E~h;74Q6T*|6_-nUjXp zFT0!Webh+k<=}n#OUZiSrE3-(zN2n`pCySU#%E(P|DpSrKDxe|d&Q@F?=Ez4YA*ZFqhv6lY!2+(^zNBZKC!QbAebS~V ztY&2@H}U-8ruSM}*B6>cl|L9PxWL=k;2)*C$1btLYU{PGt1K6hTseShpXz2Aeo7b+av$Z7jlE0ur4dzaHwFO3NYi`;!2+?Mou-;X?B`(ppq@&V1y z{!t^(WBE1HZM7~iZg0&yb3gKm#d9XRP=l{y4A&1MgAcx4DXs>_-uSosN)!x!)J+9H zbH0Z?5AHpD_#iSme*R)N9jri>pIEYCAW=<6iwXbxK)m z7nf6iLwrNimj~o;A2iN>2&**UX1kuna;EH&56At}69XSRMRq*RYVX)D7o97`|I59_ z%>hCtDmx3lkZhFqmd9w@=G2&)Uu&u<4*F=JQv2EDMH=JNC0lRoV!rLZVoQlv`Bd({ zCLUh9Y`+ZEY97v~o|3WZ&n=_(cC1iQWB+<+^sUZYT^WgH*(bMxGAuQHIe)ivmK;33 z;4tUw8(U8Gj}yOqzMEon<5qjy2_|Hj&7Ve(H^O(z{jFsLaLah@ckpy_-0JP=>h9u& z40B|M?Pjr+d?yBPg$>-_9Vl@1I#FIKSb#s6gYVkm)Dk(DM=mdZi`E$b;r_(zNY}dd z=DU*5>IaT{d@H$=?we?TPt5s#f%_{5tM844ZK{5!&ihX!9$8Pciu)E7+7fHvv+9Q$ zhqTXEE1?jZC0(ya)-E)9wCard)MIn2J@;PlfSPxcimD zi7uLIpKnQ$%@xW!tBMz!uQv6$Wb3PD>x(}<+v_^A?F%6~TmRI0U8}^e8E3?N2^xvX5&ISvTD{oyLov^us<3iRCSALD>!kr! zZoVvTc9Eu?>j|YZS?(3}Yce(33*|4E$ zNdzI5(oieF=63nQw&jPuE^}QOe4lYet4LDrC-&Ed*IzBU@Ar+-T0mv8Xi2yI4R!l_ zIU8OU3-1^_^y&5`p$)zp#TMQE7%!?pD3bRk#}quyOpzj6vX*>$wSKDD-Spv(ZiZA% zqtoY=p87;^o{w!?A0QVR_Vznr-HtfVO6@g!^_#`3+^ab49vr=EwmNak#kVQvEqB=l zy;aFu-|&&UI(s`0CFAyHH?ak2cKpuP@4ZJK{<@XCO-wV&HOYP&_XMTRt= z&rXYn@7Bj9i*9~!Gj`z1`}8fAXU-o};0XB~=^aC3ra9W*%lo3Yci-)jBx*|@L0nzT ze3SBxUy^$-L_c`kc-iWskob_2dehAyi38{5>qVNxStZuCyNd)DIt{J5sP4H%FxvY# z@7_0JukXkD_rCklAU=WJ;#^U`WsSnIxyQeRBKda!g{pBP`$-O`hzeRk_Ee0rvPVkq=*>DW-k!l|CB!|N_hgx)Ik8~gPB z&BSP*|JWxLsZ-;J{ZEaLNlo=t`A>djf95|CVK?7<;OFa%>`Wv;U8-h5pz4zuT>w{P?ZQw{&dVwauGGM@zr^ zuN(g~H0b}S;_lRN)#jF|7ooc2-$!C}PfgsK`rKKvdEwNjr_ZKJrpA+`O2@v&_>Ye0 zPV`j`PD*y9f<=C)yqWl}b!Kxk*#672sUPpR!&;4Gm`%1_iIJKbA6;|{Of;~SGpg(R z=ZH7{8>XZ(F67qRof?`tIsW~M|L8>1o0H2suh7Q(r>5+p8HP6N3XNqvm>h}rKep}H z$=AtN&iMhAadlhOY9i$U$1j34iHC)ZX^ z{^(1xo21>!c=2nPl}w1>keJM4!J&+>Arn%W*uK%=sG@1@H)Pg!9G)o*UU3h?Iu`6{3Ye? z)em-`Njmb?edGO-mC{9@LY(%dGj(q#bgrHdTfbMANdDe3wIhzFbnF(xXb z_g(u$@@V`5_$B0EZ>U~5$B(mm<$OOjGjZyS-Eb8191XX4tXg-fO1>-qaC^)pUjsp+ z(5Z7yonj#h9oq>G+!G-&B)wDXH(D(gjDN&n)1Hwl?6mV;#aQ0(Kvj5mxme=4N4)!b zw-YjdDU~J;?>kv473U`GWH+Rh3=Pwo+Q#y}4OE46mve8?6x6=g`HSBAgg0)#`lRKu z@QanZ?dvLy+f56Wvq*Fr4(Y!ymM>eRI+B!rSeP?WPo_eK$jc{_o2A|&r%V_dTP&Ep zv6iBy7u7yNirIbDQOml2%M+{hmp^5X^GN4ORgHB8)jZC4Y;}TnsUlTPW!YGCCw$I2 z-IX~)%eRY?Z}{$h!LwNCNLl6OZPiXz#4auS2XV#@?Qx_&wG8eA#@B;WZ_kQU*V*lL zVcVf|b0CCTTVmfJvR>8SZR#eJlMkCQt{Y!>>^>m1p*- z_D1%%Jr`-YCzYojS+P>~);eXEeV4~3PsX&lwU#Yx71&HETfK4j5GymUb8_LqgtV@L z2iKEpo$P3lwLbY4BE^T_vJV{0RV8MvXnk3+A6Jjsh;MWe z>`7qse)D2sYv*IjgwtZ5MFjLzFEUhmG;pxph`oO@=Lvu4mlRhPmjks8C;fCi3dHTMcr%8Tz1-5f z_w&C#Nkw1rpw8um&4|R*!->N${c0aR{m#ux5cUWdxjVt+;Nn=z>yy|#x+~3#tKsCJ zuE#R*Wm9S%20B4Zd<6ka_f!}-f(ugI+V$)CMFT2rlDZtzMM@$VWbc*_8SfO`c;k2u zLkJbV;JdI1$K%KxZZ-l%HPs|-pH93=)xh$H^1D7PK}|$kc}Yhz4QyK-L?Sv{ZT20zkmKv zdtB4G_!oxk{@`pbRZo`(9lOuid*st5HjlzLBzvZjO7lsS^jOkZKJT*h_sUF>pDEhm z46?p2%^Vp5ZDg7GxYxw!u}Bvu8)ihWqZt*2_wkiRnebEHFqXpL4l!xFFi4XX9U zZY~Qp`7W|gkT@d1xMAR`)fR>_WH}~|;1?-5;;S_T*%$D1Db_wK-1ItSK;~g}y2rTp zt_=fqa~cZhSw_hORCanlCiSUaIC2@L_MkLd8Rox2o?)e!{KGMs06kKw$&;=9b+O4$ zg8^zZ1D^ z`NNmCtjXPeN4GI9b-#8OIw~;cLTj4IM1Ha*RgTw1{jp6?!58(dzDw-mDh8nc!b|P? zj4aGtpB``#_+r$}M4If0ypOrN+tG^v*9QsgP!0aV0K3DGHO%j6c+q8s$O0AJtrz~NM-4|MCASC6 zYuM>M{J;Yl4c1_6O~%JnCBHB%hHc)kFQstR8+}H{(1rNqqC_khb75fCI_F3)#TPX@ zyasME)#WdaTCNv#ZOK^yurI8I_Xa|53zTf1b^|5HI z9Y@IOy{tj6st0t;U6yziHIUONB<)KpeXSUsu?0(P^P?Xyw@ozFfbK}8vyZ4N&Q^}P zxl$U>52!t?yYDe>YVF+ez?j!QxtfuCv35L(o1oy;pvv2$uEm|3?sIwS?WxiHsJ@B( zlhNXOsugBLMz->+HLXKJ(gahDC0;t2@6!X~KfY_Va z{buJpX1P$=o)B|-gq88^Vn5kHz40h#it4qRynwg;)(=~4`I3uPMBP<-;#T6F%gFdB zYjT5L@22(qF*y|dEi@1F0+Ng2q4&z1imgIb+9H?A*4FZNNimoGFxI1#t>kX?Zx>R7 zoBH6C6xFLeZQ%Mt8Q-_r%X6#Eb@n_sxqXWxGgIKot?LD2ax!&yrID_gqG6chzNw^7Q?|3L6z)Hjxvd|-7slpv0j&4Kk%JNx$RMaQQdHs zaBellFQy<^>mqn2{^5W`HNo@2n*u7ed^vU(n=wX+$46T}lqvaem4$;%^K_uT3;%}G zacbs=s(2TdFVO(cA}pAM0G)ev4dtjsmJ;BK{&MM&U$QP z+~I!JL2$qDQO43+j2tWlDLLE@FK7=Jevh*0_`{ajx@bvMl5_2o8(MWtJc|_qkoi~{ zO+=ogRCXp8?Gr5Yv4S4XbZvi|?`g(UpojT}81;(E`z-L0;D(xwfgF>}SJF3{lK84t52r9B%+ zX1zHvrOYs+#*6^*vhw)d^OMp3DLth16G@6AYc)_Oi ztT7~Ub*#zqhs*6AWpm|v9^{4j1~A{d1)dPx6r!#iWH3Jm-;>~QOODcRb9BzZ>n<^=us=` zTURb$Hnyg2w3hP-9>*)>-@~n1e@BM9>1F#9@ zg_Bvi*w9L#C2fV_;0!Bz3@S7Aw{jZ$Uv9K-_kQu^0Ot43JXWPNkn7RPQ`W$S&e%T; zOHzNsf5Louc?>uP%L1ABJEGZdWCD^FlmbDpn*()2To>$_|r?KFu zcOy+PAcuR2{pPC-_>ec5`tz4WL5E7KU?&EZF8_XVi5{VUW4U4j&0ezv_C2@&A6VLJ zHZ5~^$&CLjfTi_=rR~{4+F5fh9ba034%7?51zR-U$8{0~5AT<7<)%99!FmQm!wys> zxL`}6?^Olg4iljz3vCaW*8^(pvAK}B`In6ItOIS^18l{=WO3zsVFwUG8?>Qc*kE&A zGdtIPMz!_m7_&0Nwy&%wra^eox;CDa_7s*v5_$>J?zH~aXn(*+mQ{5lxHZo7MI38n z74|{c)*D%=wR*wY;s^$I-}0fmdw5&!8RHQMGnc*aZ8#lAiFHhJ$iUBSSxJRUqL{P9 z^Zlls=nWHbwwScMOL-*9rC7LqM2&q#Iy&}{>J8q;eDv#v5EY`HJauXXL!27>Ci)(e zY;y_-^6Mm7oin&I2q963^J#F5CM0HZBgxPY8*X&yU3LkdhsSF1rZCUyo3Q7(m=+$j z<7yz~tp+1T1c`ivi{-g37pYJpYJrKCn;)-C%*q8Cd~D|Hxnq7UY9&@;$LlD#Ltb!) zTzhz5X9jUOf{}tx$Hy=eU3=?|*Ym=`aXxMAtJTqQfu#K9ZLZ3<4knQTJ;uz{)P0O` z8V|AoHynVwB^n%obO}wKL;Q{zyI3{sW{&$NWTrR`We!vEdRJ(nOG#~idTgzl&$4hP zrCyuSYIgA@oTsyB*RwA+%a}>zbZ{1@wQ4jPB^CEEM;nK*=m(oc9Di^yhb=0+_2CwZ zxGT{|p;Pi|EKS2Dwmw?-WLDNh3DK%o_K>pD^;1)Z(e0}jX>e;NY+0aqsP4$-2JNoi zsQ8X$ul^`C*n3rIMDdc*@4jc<1G&O|0@?OP^H;GeQphhwsoA|zS30h2GMJL2OhxjT zyIOp+&AxRpFe~q3U?D+{g{4;fz;8xO2Xo0iNlm&RRe!9ein+R}nnhe6H2otcS6G9O z-Ll-Vfj{YVLaxYda?iS;49%kxew7m%n%OYo=XiBu9UD)jq+CCn66HJ3A1@s9OS(wk zT~{}k8hduFJHU9!=>GfY;qCes+m8k+pJZQBxm0c~yT&qeAK!cIx*s2p!FX=+>}c|G zd1k_VqG8Mm4*L746+xdkkGnu$>%Y79wU-*V?l&k@Q2MZGwd^gnz$KZdo3n#OGUcN7 zNe^qJ^bdSr#B1Px!=Xb{Z24wai{HixJZwy^e0;~Zt!&bXtL!w}zqxDove^1`&d|)# zM%A!Jz6F*$w<+n8gHG#-vcTk(<*aF2wyxrT9Ba5{L|!~(a!m!{bw9}|NpO4Z!bXUV z*ckJSsePP@q$S!^A{c&Gr|MTLQMMLm<3*XbukJkM!Nz=Aog=KWUa$F)={pal6M;8P zf}k%Y=*zN#U}+#gF^xF>!tUcQr|tLbC-CM}rn8!*#ibk39DS?GJcNI&;0coF$s=GU z)gZcY^AN!fj{8%(N(znQS_Yz$V8A3%wpdZx;TtfZe||`CX69*941Z!sB55tpDt`7x z39AZ+UX@kcGOG-0Zlg&-o8K@?6=lkqU(%PUAr*HWCUH-k3(-#qxoV9*Zu6@cRV@uZ zzl6fq_S6LhwemcI?*lc^r&);7xGa#7Obp5g8ua=t%0Iy_kg(j~8bj{65L(e}=PGRE z8m9Y4W7dIDeNk?fMgrk0SykLPj-(Z2NJHjsTNs)L<_>SPFgF$hNw*TT`PdK z32)%j)yB--7^7;5nOog~`h}Ed7*{h8l}ekQ&|n@KEG{JY5;mc0S#rEqkCyeO7Y#(+ zqN#op5?uLdMj!t7w8f1t?Oc-$UBi|gH;uUdjs2i1 zpLI}xY79#Ss|kNkATgHI0_ME+$l=2+jg4SVm6ez|HH0~GkU8IN3?iCea(E)o!~eeZ z2qhV|WxPDkP=VK+L*jE5pBB0nB0BH3Kp;|B((#?sBG;Ekrnir5AH;}PRpP?`MKWuetviE zM6JWpCPWdkZ>vb?HP}zoM!q+{fua1tP)6D44BX^SB>CoTEl(; ze-7H3uq@7J;X*`WG!7Gn|7(snC%Vw#V%+Hp`af!X9surBAZ|(`58K{& ze)p)&4d1}%^%LTuMKJS-M!s{m&|aaR7gx)7TY?CU^9-%^1%v0?^Dt#S&(0zNOyG%I z6D{zJv%omQo6_$$prTnPqgl!P?UIp>m>w-A?}Uaxm1X(Y=axO0dm}1GfnJ9%OcHaB z6{8i6HD+DdE_WY-<%maKydXc-lb+New*P6TdbLXo5M<9 z!(QG9c}CSR4L)ue)=EjIC=!{rtz3!U__T_nk#4V9p>+Mh3Ri>21WP?}vPclwWH*~7{6)rA*id=G zDAdR>^eE*Pey2q0=LEn((a#~82a%7R-{^CfTPA5Tykc)6>lSfAif%xMJ)xJ!>@lHH z&&~4joia~w7PSP=_bMbs8B*ozbFkmQY1RrGa)Hy_$EQGjLGY|;)+FaFK(lVm4Qu6F zcD6CA-COuxPNYwBC!_Ljx$SrKOJ-GX~?5?VO-n$TJ`k%KMQl8S`f{;$N|iXQFwbYE z)C$DWeI_=ZD{7-c#oE-{6Fk@$W1B@dN~~+r*kTXT&2)3(Qpon4kfZ0|>RmnY`vcK1 zwpb>b-jmkLF_j7}Hbiq|rzW^imYW*ftFgm<6tcHkj2c^PoR)5y88PLfyNKa*M{T9( zw#W}b_9kI%NIWu1;4xu!e=B{N8~&27O%Sfjx62MzBV*!b+9pbji_G2y^MdPS$tCHX zY6-Z*TnR}TxCA#z&vTeyp)A=A=n5qAz_LTUfGxfcSp+;UEWSIq-AxH0`%^Keibo#7 zlAIx3Wd3C?G32y9%!;q*0Z88xYC)^}5cfmeOO%1#g6);Cwrq{vE1ec(%0+AvLC*)US{`chs&ps6mHyI7X zkrcGDWg;ww_{1~y`ICy2y>ejU$qU^l&V+0V4%t7s6~C8}rTZ-&-_hs4qMtK8r9SS| zUhe18a2%1dM25zkCG0nMFax%Wz*Hd@en{vOI+Dlxtd7VJi8LoT&}&-OO9V6Jl(Oe3rnI>o+gP(`C3zU!A8 zb9SsUnXOzeuFjRuHC7dzV8mv!A1tg8ENnWQ?7oGs>PIHDnhge1)Oq4a=R$O{HL&A$zqBzIZugJ9Xjb%-)SO-Sk<%nCX`d2*PciHx zdPm1!;T;j^M^YYjbeKx?LSIMkM~NAo$Ys-Chnk=rTZQf;dXqz}SQ8gy0CJe^<6HV_ zJxW9>k@-Cww077=5S-nKf^GC8Uc(VxYo`+^2V*LWBHGm5!Mnra58l$~&(bg)tU^Y@ z7i6BBgcCFXo7OfV#JXjs3ETQ;KNaR%rBI{EWow#M>jz})QLrxpSzU^&@L3c=DdxGG%Uq!DOJV7086e-j9 zOmad_5?!>}r5zq&9eh^fmP9#o6`;pM~V$ZqT~Mo-37NXHp;v(kN|TA09m z-&jld+^e!iTxN~o-W@QV10bb>>ExM-wCG#*d^4jG)!QY4s)sI>^nW@^EEaGIh57jB zEQ|{Os&7GYu-xJn|CV?16N|0+F;Q@iZRbL(WV`My;`9bL>w9**%pz7-cscLVvz5wn zfDSCvJ}WkkQg1?cU$O2kg$i!ht;{8qSwUSg` zqqa;0Fxg_c!odduz%&-u7`hsKkQkMv%@*5b=G)deME)xOffxMWL5;9&Ti}OJC?~kz zKE;6RF1dqeXV6yT0Qx7KN1w3$&AHps4t%bFhQK#3tv{Wh8U_dx>+Ct!SvYi-n30Ax z8kUEq)Cxl5g{ARrxG`uj`{M#jz!;Zx|FB{;y5GrJj7CjO$UW4MMrvtW876L5ynr{_ zILpMsV?Q8YlYV}fJc`i`chXeDP6W0Ccoa5_QfYe|QYHI5TYfdToVLh&q8#`)vc;Z1 zI-cc-++~!0Hwm^3n|nc({4nwabX=Heyu_N=*oFE>=`iz;Fmb9I<_D8iU)4AS!F_}=F1N+&L}wD5GpIL!7~M{dp8VO!AE zOM-9^uIRlkg#Nv9Uc!d!^qX?Z4tRX{rojsyQ~yqjMI}PW{=Wf2h7bkf;=2lp6jL8T zDrPWB?=21Pe1~XO3?N{uEI!G2a z6ov0^y_{Qlro}0NEy7!06j{ivplb$U&h)Y@4=^Zh#jzDU*#JI_ccG7;<1nlF+360m z2-XCGlMOAoRZa49{T!@vB5C6b#kjA%Xx&g72w;Tnp=+#6gqx+Ffc(m3ef}z~iDkXV zb@KVsL=B_%fj>yF^%)Pqz701wBnJj8tzoacBwI%VdPKe9=+WvG-Wv-`5Sbag{jAeW zPhALoWjZ8m@@aL!f`{Kf0AB`f5cnu=A49eQTbuhG_ZI7Y zVWI^(61a&qu)#$+Dw=z?M42}pLVmj=bl*D}}zU=_Y#*yGF!FR%?K|!!L-!6IvV?sB8 zF;DT#U`$vRgfVMEbRHap_-c~K1GZ+S5ae1#H7NaiuLSQ3GFk)2_X+~EV#DMZJPe@^ zCJqyVJ7y1LQQ#iH3~;D9Q)6T67+hR>s&F?QPw+Ued}J!znUHG|BK}f#4YnrUS=Q(6XtUr)hPdg8_<`IytvJ{f zg73>eIS#0-s*_n&8GRnb20^QYIlzndS^y9wDnrT%HfKGLOjS|oOV!j`nVb+C7AA;_ zo)auBFb}#(!WP|~IT8Ebc=_i!20(89nU3Vt<{l!#8=nuSYt5$k=?7B4Do zRZX>E><(!ep330`2W>=A1zcI1UTe9*0}@HFF_GQ{D%B&)>*<(TuF zs3-I82>ufP$jiURAu-+W9>D@RN5_TGk3pVUN*7P!ng`zj5FEpY>Qzm(Wi$+Jab)<6 z_0xPQvLE2*k4uJeB7+bWHQM=DJ3f<8$w%&7w>KzDPm24@nHs(Q@!jT=TlAZ@UN9=& zzt#V(L#(auJ=1MFUw*MIlM-N^B*=3wji^+H*g%Q@@>;4lCF|gO6&*#NB!<6$mRKm? zXyyyr>B6SQbpT#z(bT(S3ESc8P%b4Gi(j?qQAz;c66 zOr63RGva5q8)esIAEH@9Klv5qPqleucnn{~@JS?sv6n_kqG$zSuSPp>YsW50l>ro4 zZmy5P5z5N2gi2RF1v=Jiw4+$pi7yJTkQrd-6X#~R?@)t=+w`Pa)7m_(AEF&)!1+c# zABTLLP?FfBUu`x**9hCKb_b6d->a-v^x4MXSs|0^a}{zA(->ARO2zauqpFanH|QQq=G!Y?fcjike>hVRyj#qa{;L z$T@8v1cv_tR36Zb*dn^)1G5HP*d_quG3*Wa9ULTJ?~f|0e)ZYFU|I1*iM|*yqAaoq zFzzJs=3rp)n!|5{KVn383^W7OAmoQsK4&Yd4n(=G{|Zh*YS}mvzt7P^KxB@58r2r% zUjdcu0^=>dB>ji;yig>tlhjzbFPg|tNA7S@YqsPXH^rfjW*i@uD$v*@V-gLEHH}LT zVHxphr{`3!L8h&}QVPFYbHasy!O4>TUPTN9&a@h^B*Ti{##|%p!&i3un+^Ae4X7g@ z69oBieB$fjYVoptM-GArUaIxS0)Vgi*`rvZzMC7C2Vv#cY$lKb;5Rw$4OZ^ErS6uc zZWwwIO}j<}eSem)BS90A97WT69*yN#Dk*Uu!38=}LRk=3>b@Yy*g^t^lwqhMDZTy8 zh2PNLA&c^_53&zNa7Zo=%eElE>AZ}YpyAe<`vP#S1_td{hTR4)Ju^}}j0B$Z#+^CX zu8<(Y!EB-iy&9D}E{j!OC;bupSX&gEo@;Z_J~Y@vQI_D-L}6tzI`6Rf=$s;02KkSP zhB-X}N=$)oH?6oZrx9Q`A8*WvGnv`pU}Al3o*;EDOw{SaJL2Qx!SYrKY-Zx7K`47U zivbf);|?FgfRf;Kk(~vpUA^=s@MZr9B@b2bUUKM(N{6^Y#+5A36BvuGo{`91Xhp+X zAy6x^k(~K*Ftcfpy<G0b&>E5p{pCfO0>h45IT z2M|0}WaPbZ9w z0MLGvhq`!q>}s)*kYhc*6*;dQ1T+oiIYDf&vd-L-+AN_J$Ok6q=UgPw zec*UC-3J=`*L3EpGsTGWYP;(V$4o;=`)gfzdX)|#^L?W$e?@uPYAH*$*ucF>YWYDq z^?gbFCeHUD418hc+XB$aTj2?>(g&LOj+vYnDTyGX_@SmO!C10-9-iifefQXc}9%@3%NyEOKlW z={|=!lB7SL_&{a)6WWtagu&(YvNd|tQAOwL(NPi#;zjfu$7Uc`2jspnGvADTEvQG{U?BI1W-T+kZBdIrTD-EInAw%T* zCn0smbdZmaEzZ7>U_#p+L*!qky#m1)3||7K|CyYW13!e5lLXK62wwgfIq5*{S`cT1 z$jRA8v*aY$d>%Oorut8E636NmqKcH=7jnts2&-S2OFSYv7`h2=mKzt<@Ph1>9fk>~ z`#I5s+zRlH;4UH6RJh8T*80et^DZPl0PkWpNC^1}IL1^SQ+-1}Y4kQn-xZ($8fZ>P z#Q=e|HAt@h^$C6x+~lo5^g1O;L^s39UafHOa2l(=6{S@9R3CY z?=CZb_f;=jcD@4PJBgQn*Fy7O_U-O<(J@Q>`1+xfnR$U(G?g7Vk)$Wx-}2#E`RQ`C!x?%8At%&K_;7rg>g zBJ8*`a4SwqR-0>^iy}AU-2MAZyq!>ajMoSyc7fmct+YA!iKcdY04CwUqrCOe%ik3P z>&_$d)|Jkb{bA>74PmlS%)I<*ofDTyTH|%2a#9=$;tu+!J0NIy>1T-95I7%??cs;W z6C@)TQznzA&gYYtsKq`_-6AUScg=n}tW&_K8)gNs)N=k%M;8!Pp#1@7=od(LZ9+^4 zoll9w!pXYP&fRnIqXOgKGi1zXo;AER??ni7pZ2yL9UFb^rbvEGuk-QOzLT z&^#k&?wka-RwFA4AASXD=O+LeSJ)q;1_%K~?Qngj%JV$e#6&Q7-i-qS?keDZ>j|+a z5CL}M2Jl)f=`8X*V!r(d5tD+Z8S57sR8Y#mq9csyr5n(gOQ`}H8lV}Lf(A>P);B~?X&s+9ow;^ZjCGkWhwED}Ty zh-c(Qr-4|{1D+!g!=ONo=GR7Pn&Z(9eJJ-W0E^8PV?pJHJ{>5{MWR^|nDS*V?F;8- z7oFA`0Q%Gx=+oaICpVqOu4Jvz6DG%LAx>|p_Ah0l%W@E_SF5T0*IZ-)f0`K1$7%LI zUx+kdv&qslEDzc*f-}vCv}-e;MWUF*&B=YUHSK$#BP=XJ#t5>(;uqYc=TjlU2WfoB zEmU4R0qi*<_UPQ-ei3Ulag++do8(qfj+M($#OHLgBNugp^S;5&PUE7A;1wh7X3-%G z^$Ka5K(Yf?MkKsDq-A~c{2t%H$Z`5uy%Y1sf{X#NK4=v27qh(Q3XBfGGc&ywkFV+T z_Z(VBXHOCKt5()dM0~#uwxxyThsmn_v2szM56i(0#Jt}zKa^-SqlSj2;P`em&sO>wu=}MyrkxUhx<`aL^HPJRcV1NW~YBH=&|Pb zL%0DE#|ne35{G0f6(HG88%U&5QId38sv`xtj}^!rW|ua5B-hGRh8Spm1OiJS#bCXA z1GyJ2pT;>DvgLNwx67CWN5YaV7D;e8c;iYG&47 zdKtxf>4%hL?n?^IT&5-x1y!eT1g4A-m`H=`E|mJ4M4#v3LaPhekxfN zq_wTz#gr@YAB9lOmnGS*xE7}ceK1;3j31BHAY*}qR`g&7zH<#AO-ZBYfHaZPbr#Vf ztOj=gprTT5D})ZCvuF)j?O%<@u3x;mdaZsE@T4FByTfyS@iIied@=Ja1E{H?z=inH z6;#_99>+|aEf&PQ7)1w`XvH|qw;{l3rp8(^<2(m~tyNkAejpKoShOb-q9>139pk(! zu&d~|0G?lUrR5oao~9us5y>_!Dh--WBmq2><8|FG>mZIH&11c{)VZ_ND-}v+`@+b| z+{$aspt?iBFARu@W{rZ8XQQVP`L&rHgjS?f5I%DjFU1)F1 z(sOK>MpwUkEiPou+G~rhuxYXqP_3MDopQE@biTk4>Ix?XF^4U;s$?}`_u?YfGQB+GKnKW6-8AN>LW~Bvk}s_Q^Nse0 zT?v4o`y4B-(IJa+S1yGtM8?HF5KW;;d4UBI5BY3+0Qlw`T@3Y;k|%|Z6tkUYasjH4 z6xMo4z|(j;Q3~f6ovi%QicM=3Vidw@qUs;h?_4?vz$L_hcjYu)l?qYZ07WBu+a9nPJew9;-%4-)S{Z4;@kV{2N3G zGyii$Nj$QrG+_>+tmYk(F@x;!kDzt(Twlw!SSND_YnlvnFI?iS^VTLOLi3xIq@aZ) zZF?3>X^?C3qWmXzeFs$=C>8zSf4mVZP`Viy+O)S9fpK;}q zbm?|WpyQ`?5@5etr1X$Fej62KhM98bIg z%%JOU{}EV1pxHMG2jxfnDh#e*;1eid*H}^vM$2Nl+TJ_!a3ieCbmoARu=$;7hb$kgWpk9OBc=7t6{@U zmxjDk1{(&EBapYm^tYIdwRatz!3@}siA!ZQtZ8X@Wys&)OGQdlb|j$Uo5x?;xilNP zgz@U5vEnfVYPhl*>9Yx*KzISYG$T>{iJDZPdd;IIIe4BwzJ|gs92J3~c_4dHMV&)V zf*RKQ`8+i&951Bvo*wHy$YCQI_)UIXfMx@?lET#uhyh-i|w zAkL76C`=&qz)>oj8hkZ?R&#bWvi5QwKUjYLv|se;D%L-q<0@8qZB)wZ#c?E+s-498 zBXDN1j>Lw0ZLqTs2MD({Smdm-O%JSM6Ti>9{Nj)5~Wqv{#d{h%E2?#1iJM3`PO}W$KX_AdJV*NI;Kig z{U=8W5?(=wZj2xy60!^tkbKvq>n+fU{!g9G3{JJIkhV1VnWO~S3wbCOqcW==L{ILm zklt&s+XPC`Gy^K7o%j^wqb|Wknp1D^2xVL0w#qJT^?-VTCMb15g&-hf#T?&kAqdjd z3W@WAa}2jbL?#iFr~;8mgz62^@3C_brlDupy^9zJDQSswkX2&DBd3N6$Z4NpStX$i z!oV<;TnE$HadsS=j*o(@Hu=N7Qwp(;j{#K`-SbXDlwndUS5XCXs1_MFZ2H`2 zdmLb)ZFnQVLX>hH0VPcZubel#nb-_Z34{I{p7PjV^OTBS6%EY&upfT$PEgf)35vG!gc1};1-W|kB~9`^sE;aTJOe)I#UBh zw2`M7HmD`s=s-2t`8!$Icn8Y*I{gcXne;CqrpUj6m@wc!Ld;qOF&(QU{STt!6~79@ z_S2;9HE@^^IV&3g;Q>d`^fGqY<84rIr3CjO^74R-u(80`g&#pCaKu&_nA+C@iG`{q zfGuK`$p#P(^Iej@$%pkatGraAv`EuckVTPn@R&U>>CI9>AyVVj$#AP;G>r&?kC0+M zIET!|(W>}mS3%IuKyn6a^Un~|2|>(v1sqUy`AQ0s6?jgz(5#c1jhIdPZ~z_QE?aRB zeH#>zAXzbxXAKad?@rP}z-g7#ZaUHUcS_f!f1`9&!_lJ*6-J&p#lh>7of*OK5Ng@)5QTeK|Jd^ zA@zaxq^Ujs3+F3co#+LgzGy?yF}<`8XDM54+T9pp9Cr>RrD_oj1wS-XP5EaK6D&2q zn(|K|Ce{Yc`U?cncNRG(W0_dC%l$A-N+9 z8XxdibrWx4!XZZo9^eUDHH1^=CTQ`o${YmCq%VXn2kp(OpS7;op#xmZTR`R=3WSUl z)JWG@tYZ=)TrsFb0f|{fm@L?-AYLE3Mas-1{ieg?Ew^r^X4EtM}K<&Nm? z^Ljn*2BC7^UQyE zV7mPAb^p)cQjT)|vdJ`4*q95oQ6HV z>b}JXV{@Sfd=~Mwx!_$*>oJ4js(Dvj7t6Mytmt2pm(+SbiNHDAdT-3>X5c2f6Y0Xl zUEsMEXG*Wp007np33LQz@U`e+tC6ATW1K8bOrG6}COu6|riei;F775F3a6KK_GV#@ zW}4o^vH{pww{gDlpU6w9_YkKmy^`>k0+g;Vn^O-G2LeyL9%Q!OQ1|xyeT|iaXe2P7x(3?9g7_ge~x<5^fb8-dt1Oa+MPX~7ajn4b0t z4?PWw0|sa;7v&|7z0?C09R^T1)S>BjcJH4&)dN8RJk{d@z#?onDkHQ{b(7~|9_d4+ zQ&=Jv6-bIVUf+NOKEO!yHQ2cbLq2Y+4?2BxjVF#kx8{LxD+*$27!U(s;T*`r(VvbX z`mmKN?@$ZX?_TV^3DSsQuQf=!3LY#BgxaZ-2kcPE4yyce-)c=u=vU;&h+G&DBMg74 zqO28{f`>fn5JB67JdcRh1)j12gDY$2VAK{EvI-0-|GNMC--AmDIybp$o;yTc@xIVNui`+M8%2ky ztk??{9{8h2NbLi~dgfCQpW`KxYv=`+>@U$RK2vu>NdmbP0$0Z|{c;m}J_nx0Db2@t zRjA2C;h@eF4xYHex*7gb0`Zp|@ESe#Zo-U^`%W3^$_QRWfN;19YH8)y7>x5{6+n0! zfuLzx%2yD9oj#;v1@4N7ijrpeG_-?PlLe_5$$11PIV+#l&x7jjTdb!=KbQ^9gjo2r z42{sWDu~HP6|hKI-VKs>Om~_NX~1}Z&Uhm_ok&;xplZaW+L+^{gS5pc&4TCn^g$RD z*ck{_5BhQNR1Ll{>GhU>TS!@C4r}vIg_P5c{+7YKNk@Et2QQCcg_N~Xe^*G^^lunU zY%qY1MDkpdBPBF#ZSrBHtb_HXGq`^XFOU2yc-i-_7|c`WS;tm`Ew7$HF&3SFHi<{i z40yT6D)R3jLacIBZ6rz58QvK%eu}~aEbN(6MnbP;hXD^HAIji?7b{OQ{EAd<+XRd) zLAGSs6HC*A>n>I~>f|#>x7k3!+(m>QnaSc15QosLQOe@O+HG#Jq&LV2J(Hdlik=2* zeX;cGoMOrv+r&$e9roMNo!J9ynPQ;9+J)Qk94$oQsMrM0(WapsExPDNlEj^3#c8Zm zEZOUav7EL~#1F^39DVdmhVld<+Iq;++Q4Hq2A8l*t`wTnylN7Rzr!BA+2aUx=QjQg z>_(^833DxoKi#mjCVf0J@aC1Z5#G-)Pl6csiNRkNRDuMGdh=50*W9qLe22xs;^-{` zAaBcZ4Mf`X8{c`~b%Y0bP?$}Biszp-vCjcM<|6or4kseu0nYUkQnqp>k-JeD<0AX_ zD%y%N+LhYJVB0|v37BB|5uIA>Q4)N(-rQy%G2k(^eQ|NypS{*26K-&CwGDC^`|Xze zMOo#e;XnAq1&hw5Qk7AY;NXp04EDu9IF;oqw_SQ`gx}YWSHykGD!6U zhWrggl2Cd6kB{|$z&5E86WHSLh}_Q|Z2PODc~JE#Is?%JFIFwLgw@?ccbbqvVWbe8 z+@V4fcbc$I=r8EBcVhw*TyKdz*HM!uRS$d+{-6)u(EuV&K&ylJV*CLmtX>U!)`X5{ z-4|eY1x|8GqLctVA3MvsDv4kSYWh7N^mNeNw+DU!j&l(ve4VD=koa@jWv-riW9Ja| zpwFL{j$o2itOm0}UeH-Y1Rb2_Z z;y5M^o7uF7APWPJqtFGrO(L4lMY0UGppXeyds}d;K`Hr4>;WCDijMxu&i{nMgtF1U z0-0E)ogV;Np-kzWhvqPfxY!3a8t}I@Ko_4_{|AI8NV56?Nh$wa>@!`92(5k+$bv#g zW3E6JUbWe8Os6O5Ma4+#b5H!>|96G#e^Qt}Ezf^a$P&HU*T<375HCM1wC#g{0zL6S z-}!f;QnRF4r|T8QgkzK{BsBg93R$R*tes^ixdr@)!oy_#9tg^sW%2iOghYAaIf+}d zGFlEi2m6@t87@kUHXxPVaRvlM|3ALg^YOoe znIj40i`a9p-SDcUZlUgPiZc+Y!>2faK(qS;doIGf1gMgUOmCJhv0)sZiuI`U-Ge!goL z;fJ71=7hqLPyzSYhhp$Jh3v!OMq3|1kekBuk(w6XgGH_s-h+i$7Yb$R5e^Lb&#(1> zG5*DCJ*|8G&1*gG|Bl1t!8uH&f8a1%|B1uIvhrd-`nZF7xhYTPWp4SC;DH@n@B>)v z5KcQ9{@IJL*ef0AMOg4HKfefzFM74P{9Iz#l>tC*oX(&Y+Vl0Kz}k*0X%4v^=*uqa4s ziQc$_S6IYw0Qr|JCXjPa*bc<$*tVVB^AerN;f)^gff|2LWUWn zi$p?l4f`6&8+zcbJ8^*qlXk6tfkYM=etpS9Oo@AY1LuLZjf&bs@9&Zhhh z>LP}G7Ro)gpA4hhp+lz?PIN?RS;fit-5&s1{KWKc%Pv8h7+qymRI-W*@$1bP`^Rbk zoBpxv66i@Ig0rv4T(@R?#R_9?`aTL9Z!{A}4}|qx#MHJQ|gtAg`x}GB=0um1C`V zAXEWTz`=XZ_^YbryN9P}40}}Q`UXFI{oAU`y#GSgO63JE>$Fm|{a zzr|j9>EXIT+QY*nJ^A~VJrATdhZ)_;|@;g zfmA^?IDE$_9jhKPrMUfWL_2xVBp&Z`r|X95H{p6dlvTzDzzR-%gHwfeXXY1jv*h)LShivn@uCW>vi0VJa z8Wdmzl6AS2f^~BJ<||OQ*A(+8)Sv(k;p!nRw^Cj2U#l;FXx@X4ME|w=5|zi*!`7i& zb$j5lcsiZ*aiuS+K21NaiZwh5#+tD1$cB4mthPhv!_4Ete11i7D}JZa9y>AiJfW6A zS8l=%PFWM>2Lkz-w#PcP0$W8C617GB*23q%Qi2J$4(+k_19$L!^Gw_%B=Wyff(gfz z*2eR|5b@Qm^J*~R4C?=4OIShCWIc3D37yu!+)(NOZN}l4)j}eupAvrB*{FudA%5Bk z$FI85v+dL2bQ-S;mAArhnbqx-l@<{F-hOseMARFeRfl&e$9_M62#v#*V)zbqFuDM# z)<0Qgn9#>H;~5D1KXgwA?Z;cN{xA0N`QaoJ5a*xz_`s0gLs)?cc7$Ih-%(GwII=ia zKQe#XAn z(08Mcp>GFg1XwAeqZ;ZM@lR!#Fp>B&c&~9h)|gv|X$WrZsyLKp>wRfB@;}rPw!x|V zJd>4%HG|8m?Us*$@y@1UQGH|;DI6*d3Q@`v&=Gp|B+Wxd$O~-_ENLT`NN0Y(Rn17GeO}k6(iId|oRY4n|RnySZg!PI!OT=^E=J*n#J1J-F{8HIN>X{1%$xq7zgT=$_&TZSEkz z`Jm9u#k!cQhA!sPyirsM$9(8oCyLGnu_DXSgbyAVMUE4L#OC3j_hP4k_+`s((|#wc zn(a+Ez~v*?FOq+vR+v9zWl^tM$jTzB@&P}BTnw5uTd|2(SxRR()6PKN1up&wK(9Mp zudp9~?Fj1nga6tQ-A*mMr13wugvGkizyq=4#nWnCGlN}xm&7)lTRmy9+-u0Glv>@~ zlX>?Jk4Vlr&3>x|y9Kp&P!E(1@m0!f_~m5aRLBMAvuj(zuinvQ3jBWXlN_T$-+YDS z?W-wQKko21fi74=%!P99i6KH3mFK9v2kL?I^bem8laM79QR>VxCe>9q`KY`hr-T(F zm`}RGJx_BMSV!x2W>+PMdQ()tKDWx*nO?k=#1={q@sj4^qskpoiYTM!$N0gWHS40< zyBujH#y7EvRMA8=lGqq?QHs!=8o^UaKAN+06+X}X&B0B=acWz<1yh2l zu6(31qf-7j;>^ig@y=cKNz(hshB04c;d^B1dS*lofgum~{w4xaYz2%$XR3cO&Ka(% z)`{UG5e%b)UL56&?0Z6Bcx8ps6QI86cu~z=?v#?^v(9P1oVd7@C-x#6WnlXwO01B` zOO?}{n(yIY<_kPe5}vnkFIv(QKF-P~1bCpwO*Wwf&+%3Fr#6Pnoogn@YE9i^g|!^I z%4-Qs%>{2#u9y8u5n5I`5@F>2g5uH8y^!Qj7M;wxgQNgsXha65Q#5rG2aVs~x|7bK zpYNiT+dpzDOp}K+?f)}+=rcYf&-UZozHYhVDK-|LUca3T>D?*CKhE zDMe6R%^p!aP8AL5uvWjRRPrQIy9@*|-d9aljG)m)U_h);y#ig>P>QYz7e%#f9AAf4 zw+4D=&K0S9XoygKM;V!ST>;veYYHm;x{gEF%8{%jMA@-r!}qvcID@Yi`I3(YRfvcZ z;pMvTS=~Nw6GjZNcO=lI=$w_CLY`nkIKa(VcVd$$XcSuUN#YO&I1(pf46u z9M=gc`y9;4@cNClJ<@O(56Vznw)6Wgf~XFPQjVC5hRyD^UQvzWqk5N_-#n45_(+_U z)z}94vkN6u-CJTf%37I)DA81O^2Hsr{H3Ak(zO6`~?kDW- ze7)@RIw}2-!c25)dgOeVAV{<9rqylpUofFlDn@yh3<%OPpD&AGYO?fG2{I0_f2l#~ zDOL^+jud(rF~|#kB!VgLNgCi50>vZeodFT>7=>CC-A=KZ!be>Vksm8Sn`sZ$Lk@ zl~oB$B7@#*bXrYS=e-}(hi{3#8T0J^miRP3e;K{XOOB(r0vLtahWL~*Obig z({iyNjv)=bps@bTka^R!f~{Ni*gV3^&Gg-aFbh<&abMEb^t-lz z`I?+xOv1w>bZOi3FHmDSn3f3_5l#UDvfrV3DlA^vdlywc~poPUslDp%pZ1pl3t10EI2`xUdb4}fe%jc0#41U3H;Kfbf{h&b3ql}H}3T?{9 z@=NvC^XebFpuPX_3V zKjC7!Fh9fVa1dSW9AQUMzhZEI>tLt3an9)N{YaP;Yr0@4oi4r@mLV6fu5eyX?!baIxa)&_kr$?;abVue74~Os5p@^BAv~Y(51UiYz2Ag}5NEiQ-U%?!&f|BI}_05pV&a2>vl`x>%bbJK{=#{hY>|CkmZzEi z)?fj#St_excc16ucxe_&54yj34qn2Y@Xl4Fg|ei#%6HK`EHQz!YY36)x-^5Dqaf|s zA-`ZlSR11F+F(+Yg2N>!tvo;uyHV(aqX$MAjoce3*`3BDE+(;<0Xz2iaV>$2pk|d^do3ZYkI~M0TzQdk(Q8w1fZM> zP69yGk$)IKmoMd)q6^X0Jd7|4Sr`AeULShq=PGiW$h&UkoN;NZfOIJR`h8e0Tw*+EY)Y92agcC#HV{Tv`xm=$S7!7I%gD1NnIH3;4qsm zIT_=&s7rpNbb;$(-z82rOnM)ej>!}TbaD4Mr+qFQ9}AY#)+Tp}Ec&@d9$-)@wq;nh zrfZRP*Gg+YwPL1MrLjP~v-UHi=pq-g;Tdn)>l&tw+07Z%BCobb>)PiT)k{26kdqkB z4^3(G|4d}?_+nvR@G}0mT-mlIh8A;1Y0evU@>8&IjD)Nw;}5ymCnVwC>}5K6MhR#( zli_SMTird3YREGoG?C$7CK_*79viue0VVOc$AB*dWj6T3}&>h}HCrxdZeAmE;Ds?BdvBL0}aWW{?p zW?~CNmnZ4P%_6=Qqd>X(t;;oS*XX!hTn>{zLmzm!K z+d`pnl|1yn4z6i6I5`IpB>H(`-R{NYA&&5+8Y5@%I1h|ct22B4HLY+t9f(WKDdAib z-N;S2t&Bw{EncyRliE8bvsD2MdbFtVkjJaYfpdLCS^Nlxd3B< zl88^vQbj$NdHe?@1Exas8J~h{Veh_-VZ;mK(CzS+B zVjJU#ZwwHJb~|$3CY#rNNbO=2RQQJ0G_eNZ!QrQ1eL%+wAj?XzF5YCPjulLtZmsYG ziB35PwU zXjPZx8Gukwy`?zKRY_+Jg5OkybWb0mAM-JI#d_o!@MX=X)l?%68m7Ya$Y0^}%B(+ek^_5O!--FlE@DuY@_{08=a?UR3pw>5; zQ)!wD)KpE|{SpOOM0wX=U@)91B~tgmX`DZg1=>8rpy~b)jEwM5ouV3npTz0(D?5<^i4z@+m{whYQe}uVxGc+P<5lJJIF!o@xd+G*N08iZs% z%I}Ox%jl%(%}+st0}*4ewg(-hJs-+i$XRDJ6@4|V6k+8rDqsX(GKYR(HEaSp2e zO#iq9a#nP)@}hEZjhy#Nq;3J36uTY@pHq$2norHv@WY*?UV`)NZrD6!znhV>mURgPGCPEWDu| z3lmcVnr+#eOKgn5PYs%bkA{>9@DS}|cU5EGf^+3xE!F_Aog;yug1n>+AOb#OiHIi_bazGZFN)xwZpZR$ z&-l<72snY2?jcdz5UL?c`BONrFn6F^Hn2qmqmgeFVHVz+T6vP^vvQ!OX2v=-KBmwj^zHP%Y?LtD79gC|Mav zh|Ck@AeYsTvY+3XqKyz@inGX2a*i^#c;Ur#SPw+TD1M(Mi{~FADdg01rm@)K1DNZ4 zKcp}a_XrPQt*R12-C2Hu$+}`spjtTnZWBfqQ^GjFsPY4mqux4qTU5bR@?$`p_`?Q& zH%0U8zuu@hbF)SxPhC<=phhdO#^xYBzRuZ7BYT=5g4@0vL!T2xEmcv1xh(Q z10KK!Jm4vYi!AmYE6H}F4}$ZHY}DSp;WD|mZsVhlt-<1zS@gtIN!272&=cf{^Ve6) zG5)%iOk2wVG_c|#k-q17?{ffA6z6(8gPv%x>fg4^gHDeGb|H*+0d&rxg2yp901!qD zAAGoDP?>F3l(-WlRNjT+Jnv~B#`6wV;M2%&Ilz7WioH?mKJcA6=`#9qzu0%Y;lZAGu9t^$4nk>JCoI_-X! zmrz-G8JxWuV6gLzmg&+E3HHSEJMsX(>@C@ab-$pu$9=O_3{UJSPEa+PLF`k0s_W#* z`#8mWf9F4EYQY4IA&(BUYN{H&9S*^Gw6c<941kC11RpfeGk;LiqL|#h=ThkTh@atH zaP$sDbdbSeqo_u3(pf23^CD@X{-YpDe4aHNEP%qLEeny6s6M1hkhJk3u3Rj{L_+{E z%d*&J5%W92-HixkAjTF^b}AQAnB!}_BjG2?gaFO6gbeiC=y~Ekrvl~BMOAr*QVh-u+dZpOYWj4m1J0V_}VPAGp&(1LhmY#e1NDqpuDTbu`$z++`_%ZK+e zh2$n}xRAKx)JabV8V$Q3_WLOFOZMAjVAH>|xO;HOq;};%sU*7qm*c z=C6B$u?p*i$zqegGOe6lgZTLo6ZBexOzo)V&MgeDV(isC^w{!BwB2r}yt>`nLspKU z8HwzGjO?4Xd%}W{at+h9uM`nqz{CH~q?5+2ErKUy?a91x^OCZ#sWLWRvO{N^{*H8B z{W;mIx$Wg4qiYX`TJPp?oe0Sd8WRjrn(?xGynbOz&>6wv?TNdk${XKX4U z@;y{aJR0t%_y_@{oYe{dvVT)cIlw6v;tDzETMFDW1(V8my{Ct$p(x%gaa z>K|#|sXL>)w+;8U zjvQ*yn)I9LP$-`m-1d{&@$1($A4j@nZr0 zBOj-#y47bsO~307oa~+cGFbekP&{y=sVOz_!L@|S=jEe=SyEa7YNxcOqDBQq%RMW! zC(4c|6!|}#=&&g5^WW1nGUj&TgwI2N*U=9-Tdpk_>-HRb`{r%oaewEwsj3ar-Epsq zr>DPs(ViLebqJhzS~@Tgc!eWiq99QqIxtsjW^{0Rw4=02>cqnd_ka^42_0E()8j*J z@20h<{Q^cmPCb2@8tC)Rdtzi}vNthHJKXo|SGkKbHf8mf9&VVKk$Psk`;J@D^ysMX zct@7Nwiz`AhTDvQsWCUt!L)I{$@2ulqr*gksWAtqFoB1MhtRN}Y)qK*MS}nKaZ&K} z@^x|Wl=pFU8L+f=OH>p--ja29vgi_%=DOngdyAWfhs<-*?mIVzE+pO&6%%%uFMtS_UGq38BR^!__3|oYxpBMWRtC= z?Q*q`Z6U%#YF}G_axSTGHHu)r6fB~(<@{r9>76I#D&6m`@c831eYJhq`45jdf6Ak& zt$e~fla$nPW_y@icyRf_2HFlTo?N|2iym<=Tx2|3znSdj*RuEPA3IvY6*#JJ&|ro4YQ@iXSZdvW@oV6CI^zvb!za zEzKGuHE(K&t(z+0m))@Jz?}y_b(LCfS=uN3iV&QzKP94bQ8Syle}2W$q};s+;%}ar zF!7>(v{Mw%Sso{FWmLC?|1Zobuhp*B9xsppflZU3u&hTF&C0SOcJXqzmjz22W*t!+%d>2OtnH{L6JiY{hW%ppZ%Oy z2|exjDfM#7w$LIib9IZe&ZVxY?;Y-H+J$K-xkdCAKJd1i{WBhMWORM+wqE{qMrRAQ zJBKAQ-}Pum=?-)hXg+!H?Bn5<{gWF{WIW91R!DJcx>&S7vEZufOlE6ScjK*5JOAgI zpIed#AFJ*>-fv~GpO1YNC%$_Xxa9Nv_kQ8w_cTX^u)3C5179FL5e%aN-~ zRjc;ZCN33OcWsH|Wo5V#f-{>B6ZSSE1H&Et@ro7*8|1ZT}m+?o{m z3I{EC@)dr6DZtc?OLp9TKm7QuH^OPrJj-(;YV+*&#&;WVzpCOWRh|~u>?oT4ae0q*_*H(I zpaeO6TgJezd$L6PhI;qWby@;XopZ1WeVJ`pTs19eK=Lc-bIY@;B<|U?t}(1__f*KG z*Me#*PO<&*K6&F6qv>Rxvh#1ke%;?**&Z|9y8pt`!A`;+WH z7srGjF^x7&l^Yv(DdY`}eVF_}U{u=XT1Ha5h|h^^wJRRS9M`Xr%ey82&Wv2E{g4t?=(WvA--DEt)dy>z3;|y`rr8?eg6kzlbNq z2m83ayLcqow%}5?8}G7uoA4_KdCe=S)O9u?wx?Ge&}bj5+VI!<9v;iiJFC;TXgu|w z5<~kM_+s1ZL^cB93GD5Ec5RDbUw7-d9rkiK>}9jl*WJO>8trXiT#0e1qVQjX6RV6e zYi^EEr~}^Qjqe}%#$R}tk>o1$HtM&D!Q*L(*Lj*=57n3s7Y&ZSO^9*U`egk(8?DcJ z%}oP2W%ow0zE?RuyR^OEVE^a?bbzSvOB0OX3D}4%er0Cg481J|KF;@53d0+JCRT(b6J1YBzAH@f~ z_~VGnfZ*2f!Gk96mqqG5i272xf8yQo#9K3hYeUnv^Ss+YZIMyea9+Uk*p!3p8zS|V zdz^kFT0OQyxzJsqWjcH~qKRK#vdqy>pM9dVxJP=(>eJ(Vi9oZ;k4YDfvm>F~373ki zfY2>Ckw9xFKS(**dNZ=c@p=Hc+~KE7>e%&!JM zCIf>-=Y9ML2ZoBQh0k>i|Mn#ooXbfbgE?+4Ab?Efeno+-5V|_rdN|nc@bYjvd=LZK zA75lHRxg=50pTxhYzDLjPe%s_FHe{ZeklFB_nGVN5Uzj!;<@?*%Kx~4xfX@|;rFkF pN#7PQ>m7gm@LbJ6M)&=zBl+K&ps6tz5e?#nKiVKTOD6ii{|6U}{jmT5 literal 0 HcmV?d00001 diff --git a/tests/assets/test_xlsx/file_example_XLSX_5000.xlsx b/tests/assets/test_xlsx/file_example_XLSX_5000.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e79d0802fe552d93225de108f2b615bbc360b192 GIT binary patch literal 188887 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≪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

^ce49uxU;ydjvU5u%RU2%5y5 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 z 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 OM+X str: def get_test_pdfs_dir() -> str: """Get test PDFs directory path as string.""" return str(TEST_PDFS_DIR) + + +# Excel fixtures +@pytest.fixture +def xlsx_test_file() -> Path: + """Return path to an XLSX test file with metadata.""" + return TEST_XLSX_DIR / "file_example_XLSX_1000.xlsx" + + +@pytest.fixture +def test_xlsx_dir() -> Path: + """Return path to test XLSX directory.""" + return TEST_XLSX_DIR + + +# String versions for parametrize (Excel) +def get_xlsx_test_file() -> str: + """Get XLSX test file path as string.""" + return str(TEST_XLSX_DIR / "file_example_XLSX_1000.xlsx") + + +def get_large_xlsx_test_file() -> str: + """Get large XLSX test file path as string.""" + return str(TEST_XLSX_DIR / "file_example_XLSX_5000.xlsx") + + +def get_test_xlsx_dir() -> str: + """Get test XLSX directory path as string.""" + return str(TEST_XLSX_DIR) diff --git a/tests/e2e/test_read_command.py b/tests/e2e/test_read_command.py index fc17ad3e..173cc44e 100644 --- a/tests/e2e/test_read_command.py +++ b/tests/e2e/test_read_command.py @@ -1,3 +1,9 @@ +""" +E2E tests for the 'read' command. + +Tests the full CLI flow for reading metadata from files. +""" + from pathlib import Path import pytest @@ -12,6 +18,8 @@ from tests.conftest import ( get_png_test_file, get_test_images_dir, get_test_pdfs_dir, + get_test_xlsx_dir, + get_xlsx_test_file, ) runner = CliRunner() @@ -22,16 +30,16 @@ PNG_TEST_FILE = get_png_test_file() TEST_DIR = get_test_images_dir() PDF_TEST_FILE = get_pdf_test_file() PDF_DIR = get_test_pdfs_dir() +XLSX_TEST_FILE = get_xlsx_test_file() +XLSX_DIR = get_test_xlsx_dir() -# ============== Success Case Tests ============== +# ============== Image Tests ============== @pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_read_command_single_file_success(x): - """ - Test the 'read' command with a single file (JPG and PNG). - """ + """Test the 'read' command with a single image file.""" result = runner.invoke(app, ["read", str(x)]) assert result.exit_code == 0, f"Failed with: {result.stdout}" @@ -41,9 +49,7 @@ def test_read_command_single_file_success(x): @pytest.mark.parametrize("ext", ["jpg", "png"]) def test_read_command_recursive_directory_success(ext): - """ - Test the 'read' command with recursive directory processing. - """ + """Test the 'read' command with recursive directory processing.""" result = runner.invoke(app, ["read", TEST_DIR, "-r", "-ext", ext]) assert result.exit_code == 0, f"Failed with: {result.stdout}" @@ -51,46 +57,34 @@ def test_read_command_recursive_directory_success(ext): def test_read_command_requires_ext_with_recursive(): - """ - Test that --recursive requires --extension flag. - """ + """Test that --recursive requires --extension flag.""" result = runner.invoke(app, ["read", TEST_DIR, "-r"]) - assert result.exit_code != 0 - # Should fail with bad parameter error def test_read_command_requires_recursive_with_ext(): - """ - Test that --extension requires --recursive flag. - """ + """Test that --extension requires --recursive flag.""" result = runner.invoke(app, ["read", JPG_TEST_FILE, "-ext", "jpg"]) - assert result.exit_code != 0 -# ============== Error Case Tests ============== +# ============== Error Tests ============== def test_read_command_file_not_found(): - """ - Test that the app handles missing files gracefully. - """ + """Test that the app handles missing files gracefully.""" result = runner.invoke(app, ["read", "ghost_file.jpg"]) - # Typer returns exit code 2 (Usage Error) for bad arguments assert result.exit_code == 2 assert "Invalid value for 'FILE_PATH'" in result.stderr assert "does not exist" in result.stderr -# ============== PDF E2E Read Tests ============== +# ============== PDF Tests ============== def test_read_command_pdf_single_file_success(): - """ - Test the 'read' command with a single PDF file. - """ + """Test the 'read' command with a single PDF file.""" result = runner.invoke(app, ["read", PDF_TEST_FILE]) assert result.exit_code == 0, f"Failed with: {result.stdout}" @@ -99,10 +93,28 @@ def test_read_command_pdf_single_file_success(): def test_read_command_recursive_pdf_success(): - """ - Test the 'read' command with recursive directory processing for PDF. - """ + """Test the 'read' command with recursive PDF directory processing.""" result = runner.invoke(app, ["read", PDF_DIR, "-r", "-ext", "pdf"]) assert result.exit_code == 0, f"Failed with: {result.stdout}" assert "Reading" in result.stdout + + +# ============== Excel Tests ============== + + +def test_read_command_xlsx_single_file_success(): + """Test the 'read' command with a single Excel file.""" + result = runner.invoke(app, ["read", XLSX_TEST_FILE]) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + assert "Reading" in result.stdout + assert Path(XLSX_TEST_FILE).name in result.stdout + + +def test_read_command_recursive_xlsx_success(): + """Test the 'read' command with recursive Excel directory processing.""" + result = runner.invoke(app, ["read", XLSX_DIR, "-r", "-ext", "xlsx"]) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + assert "Reading" in result.stdout diff --git a/tests/e2e/test_scrub_command.py b/tests/e2e/test_scrub_command.py index 5e593cd9..2d974696 100644 --- a/tests/e2e/test_scrub_command.py +++ b/tests/e2e/test_scrub_command.py @@ -18,6 +18,8 @@ from tests.conftest import ( get_png_test_file, get_test_images_dir, get_test_pdfs_dir, + get_test_xlsx_dir, + get_xlsx_test_file, ) runner = CliRunner() @@ -28,6 +30,8 @@ PNG_TEST_FILE = get_png_test_file() EXAMPLES_DIR = get_test_images_dir() PDF_TEST_FILE = get_pdf_test_file() PDF_DIR = get_test_pdfs_dir() +XLSX_TEST_FILE = get_xlsx_test_file() +XLSX_DIR = get_test_xlsx_dir() @pytest.fixture @@ -38,56 +42,44 @@ def output_dir(tmp_path): return output -# ============== Success Case Tests ============== +# ============== Image Tests ============== @pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_scrub_command_single_file_success(x, output_dir): - """ - Test the 'scrub' command with a single file. - """ + """Test the 'scrub' command with a single image file.""" result = runner.invoke(app, ["scrub", x, "--output", str(output_dir)]) assert result.exit_code == 0, f"Failed with: {result.stdout}" - # Check output file was created (has processed_ prefix) output_file = output_dir / f"processed_{Path(x).name}" assert output_file.exists() def test_scrub_command_recursive_jpg_success(output_dir): - """ - Test the 'scrub' command with recursive directory processing for JPG. - Uses examples folder (smaller) for faster tests. - """ + """Test the 'scrub' command with recursive directory processing for JPG.""" result = runner.invoke( app, ["scrub", EXAMPLES_DIR, "-r", "-ext", "jpg", "--output", str(output_dir)] ) assert result.exit_code == 0, f"Failed with: {result.stdout}" - # Check at least one output file was created output_files = list(output_dir.glob("processed_*.jpg")) assert len(output_files) > 0 def test_scrub_command_dry_run(output_dir): - """ - Test that --dry-run doesn't create files. - """ + """Test that --dry-run doesn't create files.""" result = runner.invoke( app, ["scrub", JPG_TEST_FILE, "--output", str(output_dir), "--dry-run"] ) assert result.exit_code == 0, f"Failed with: {result.stdout}" assert "DRY-RUN" in result.stdout - # No files should be created in dry-run mode output_file = output_dir / f"processed_{Path(JPG_TEST_FILE).name}" assert not output_file.exists() def test_scrub_command_with_workers(output_dir): - """ - Test the --workers option for concurrent processing. - """ + """Test the --workers option for concurrent processing.""" result = runner.invoke( app, [ @@ -106,13 +98,11 @@ def test_scrub_command_with_workers(output_dir): assert result.exit_code == 0, f"Failed with: {result.stdout}" -# ============== Error Case Tests ============== +# ============== Error Tests ============== def test_scrub_command_file_not_found(): - """ - Test that the app handles missing files gracefully. - """ + """Test that the app handles missing files gracefully.""" result = runner.invoke(app, ["scrub", "ghost_file.jpg"]) assert result.exit_code == 2 @@ -120,79 +110,97 @@ def test_scrub_command_file_not_found(): def test_scrub_command_requires_ext_with_recursive(): - """ - Test that --recursive requires --extension flag. - """ + """Test that --recursive requires --extension flag.""" result = runner.invoke(app, ["scrub", EXAMPLES_DIR, "-r"]) - assert result.exit_code != 0 def test_scrub_command_requires_recursive_with_ext(): - """ - Test that --extension requires --recursive flag. - """ + """Test that --extension requires --recursive flag.""" result = runner.invoke(app, ["scrub", JPG_TEST_FILE, "-ext", "jpg"]) - assert result.exit_code != 0 -# ============== PDF E2E Tests ============== +# ============== PDF Tests ============== def test_scrub_command_pdf_single_file_success(output_dir): - """ - Test the 'scrub' command with a single PDF file. - """ + """Test the 'scrub' command with a single PDF file.""" result = runner.invoke(app, ["scrub", PDF_TEST_FILE, "--output", str(output_dir)]) assert result.exit_code == 0, f"Failed with: {result.stdout}" - # Check output file was created (has processed_ prefix) output_file = output_dir / f"processed_{Path(PDF_TEST_FILE).name}" assert output_file.exists() def test_scrub_command_recursive_pdf_success(output_dir): - """ - Test the 'scrub' command with recursive directory processing for PDF. - """ + """Test the 'scrub' command with recursive directory processing for PDF.""" result = runner.invoke( app, ["scrub", PDF_DIR, "-r", "-ext", "pdf", "--output", str(output_dir)] ) assert result.exit_code == 0, f"Failed with: {result.stdout}" - # Check at least one output file was created output_files = list(output_dir.glob("processed_*.pdf")) assert len(output_files) > 0 def test_scrub_command_pdf_dry_run(output_dir): - """ - Test that --dry-run doesn't create PDF files. - """ + """Test that --dry-run doesn't create PDF files.""" result = runner.invoke( app, ["scrub", PDF_TEST_FILE, "--output", str(output_dir), "--dry-run"] ) assert result.exit_code == 0, f"Failed with: {result.stdout}" assert "DRY-RUN" in result.stdout - # No files should be created in dry-run mode output_file = output_dir / f"processed_{Path(PDF_TEST_FILE).name}" assert not output_file.exists() -def test_scrub_command_pdf_with_workers(output_dir): - """ - Test the --workers option for concurrent PDF processing. - """ +# ============== Excel Tests ============== + + +def test_scrub_command_xlsx_single_file_success(output_dir): + """Test the 'scrub' command with a single Excel file.""" + result = runner.invoke(app, ["scrub", XLSX_TEST_FILE, "--output", str(output_dir)]) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + output_file = output_dir / f"processed_{Path(XLSX_TEST_FILE).name}" + assert output_file.exists() + + +def test_scrub_command_recursive_xlsx_success(output_dir): + """Test the 'scrub' command with recursive directory processing for Excel.""" + result = runner.invoke( + app, ["scrub", XLSX_DIR, "-r", "-ext", "xlsx", "--output", str(output_dir)] + ) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + output_files = list(output_dir.glob("processed_*.xlsx")) + assert len(output_files) > 0 + + +def test_scrub_command_xlsx_dry_run(output_dir): + """Test that --dry-run doesn't create Excel files.""" + result = runner.invoke( + app, ["scrub", XLSX_TEST_FILE, "--output", str(output_dir), "--dry-run"] + ) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + assert "DRY-RUN" in result.stdout + output_file = output_dir / f"processed_{Path(XLSX_TEST_FILE).name}" + assert not output_file.exists() + + +def test_scrub_command_xlsx_with_workers(output_dir): + """Test the --workers option for concurrent Excel processing.""" result = runner.invoke( app, [ "scrub", - PDF_DIR, + XLSX_DIR, "-r", "-ext", - "pdf", + "xlsx", "--output", str(output_dir), "--workers", diff --git a/tests/integration/test_metadata_factory.py b/tests/integration/test_metadata_factory.py index 3f3fbbc3..18bffb66 100644 --- a/tests/integration/test_metadata_factory.py +++ b/tests/integration/test_metadata_factory.py @@ -1,3 +1,9 @@ +""" +Integration tests for MetadataFactory. + +Tests the factory pattern integration with all handler types (Image, PDF, Excel). +""" + import shutil from pathlib import Path @@ -5,168 +11,91 @@ import pytest from src.core.jpeg_metadata import JpegProcessor from src.core.png_metadata import PngProcessor +from src.services.excel_handler import ExcelHandler from src.services.metadata_factory import MetadataFactory from src.services.pdf_handler import PDFHandler -from src.utils.exceptions import MetadataNotFoundError, UnsupportedFormatError +from src.utils.exceptions import UnsupportedFormatError # Import path helpers from conftest -from tests.conftest import get_jpg_test_file, get_pdf_test_file, get_png_test_file +from tests.conftest import ( + get_jpg_test_file, + get_pdf_test_file, + get_png_test_file, + get_xlsx_test_file, +) # Test file paths (cross-platform) JPG_TEST_FILE = get_jpg_test_file() PNG_TEST_FILE = get_png_test_file() PDF_TEST_FILE = get_pdf_test_file() +XLSX_TEST_FILE = get_xlsx_test_file() -# ============== Success Case Tests ============== +# ============== Image Tests ============== @pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) -def test_read_metadata(x): - """ - test for reading image metadata - """ - # checks if file exists +def test_read_image_metadata(x): + """Test reading image metadata through factory.""" assert Path(x).exists(), f"Test file not found: {x}" handler = MetadataFactory.get_handler(str(x)) metadata = handler.read() - # checks if metadata is not empty assert handler.metadata == metadata + assert isinstance(metadata, dict) if isinstance(handler, JpegProcessor | PngProcessor): - # checks if tags_to_delete or text_keys_to_delete is not empty assert ( handler.tags_to_delete is not None or handler.text_keys_to_delete is not None ) - # checks if metadata is a dictionary - assert isinstance(metadata, dict) - @pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_wipe_image_metadata(x): - """ - test for wiping image metadata - """ - # checks if file exists + """Test wiping image metadata through factory.""" assert Path(x).exists(), f"Test file not found: {x}" handler = MetadataFactory.get_handler(str(x)) metadata = handler.read() handler.wipe() - # checks if processed_metadata is not equal to metadata assert handler.processed_metadata != metadata @pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) def test_save_processed_image_metadata(x): - """ - test for saving image processed metadata to a copy of the file - """ - # creates output directory + """Test saving processed image metadata through factory.""" output_dir = Path("./tests/assets/output") output_dir.mkdir(parents=True, exist_ok=True) handler = MetadataFactory.get_handler(str(x)) - metadata = handler.read() + handler.read() handler.wipe() - # checks if processed_metadata is not equal to metadata - assert handler.processed_metadata != metadata - - # Pass full file path output_file = output_dir / Path(x).name handler.save(str(output_file)) - # checks if output file exists and then deletes it assert output_file.exists() shutil.rmtree(output_dir) -@pytest.mark.parametrize("x", [JPG_TEST_FILE, PNG_TEST_FILE]) -def test_output_file_has_less_metadata(x): - """ - Test that the output file has metadata stripped - """ - output_dir = Path("./tests/assets/output") - output_dir.mkdir(parents=True, exist_ok=True) - - # Process original file - handler = MetadataFactory.get_handler(str(x)) - original_metadata = handler.read() - original_count = len(original_metadata) - handler.wipe() - - # Save processed file - output_file = output_dir / Path(x).name - handler.save(str(output_file)) - - # Read output file and verify metadata is reduced or gone - try: - output_processor = MetadataFactory.get_handler(str(output_file)) - output_metadata = output_processor.read() - # Output should have fewer metadata entries - assert len(output_metadata) < original_count - except MetadataNotFoundError: - # If no metadata found, that's expected for fully stripped files - pass - # clean up - shutil.rmtree(output_dir) - - -def test_format_detection_works(): - """ - Test that format detection uses Pillow, not file extension - """ +def test_image_format_detection(): + """Test format detection for images.""" handler = MetadataFactory.get_handler(JPG_TEST_FILE) - detected = handler._detect_format() - assert detected == "jpeg" + assert handler._detect_format() == "jpeg" handler_png = MetadataFactory.get_handler(PNG_TEST_FILE) - detected_png = handler_png._detect_format() - assert detected_png == "png" + assert handler_png._detect_format() == "png" -# ============== Error Case Tests ============== - - -def test_unsupported_format_raises_error(tmp_path): - """ - Test that unsupported file formats raise an error - """ - # Create a fake text file - fake_file = tmp_path / "test.txt" - fake_file.write_text("not an image") - - # MetadataFactory.get_handler() raises UnsupportedFormatError for .txt files - with pytest.raises(UnsupportedFormatError): - MetadataFactory.get_handler(str(fake_file)) - - -def test_save_without_output_path_raises_error(): - """ - Test that save() raises ValueError when output_path is None - """ - handler = MetadataFactory.get_handler(JPG_TEST_FILE) - handler.read() - handler.wipe() - with pytest.raises(ValueError): - handler.save(None) - - -# ============== PDF Integration Tests ============== +# ============== PDF Tests ============== def test_read_pdf_metadata_via_factory(): - """ - Test reading PDF metadata through MetadataFactory. - """ + """Test reading PDF metadata through MetadataFactory.""" assert Path(PDF_TEST_FILE).exists(), f"Test file not found: {PDF_TEST_FILE}" handler = MetadataFactory.get_handler(PDF_TEST_FILE) - # Verify correct handler type is returned assert isinstance(handler, PDFHandler) metadata = handler.read() @@ -176,10 +105,7 @@ def test_read_pdf_metadata_via_factory(): def test_wipe_pdf_metadata_via_factory(): - """ - Test wiping PDF metadata through MetadataFactory. - """ - assert Path(PDF_TEST_FILE).exists(), f"Test file not found: {PDF_TEST_FILE}" + """Test wiping PDF metadata through MetadataFactory.""" handler = MetadataFactory.get_handler(PDF_TEST_FILE) metadata = handler.read() handler.wipe() @@ -188,18 +114,14 @@ def test_wipe_pdf_metadata_via_factory(): def test_save_processed_pdf_metadata_via_factory(): - """ - Test saving processed PDF metadata through MetadataFactory. - """ + """Test saving processed PDF metadata through MetadataFactory.""" output_dir = Path("./tests/assets/output") output_dir.mkdir(parents=True, exist_ok=True) handler = MetadataFactory.get_handler(PDF_TEST_FILE) - metadata = handler.read() + handler.read() handler.wipe() - assert handler.processed_metadata != metadata - output_file = output_dir / Path(PDF_TEST_FILE).name handler.save(str(output_file)) @@ -207,39 +129,75 @@ def test_save_processed_pdf_metadata_via_factory(): shutil.rmtree(output_dir) -def test_pdf_format_detection_via_factory(): - """ - Test that format detection returns 'pdf' for PDF files. - """ +def test_pdf_format_detection(): + """Test format detection for PDF files.""" handler = MetadataFactory.get_handler(PDF_TEST_FILE) - detected = handler._detect_format() - assert detected == "pdf" + assert handler._detect_format() == "pdf" -def test_output_pdf_file_has_less_metadata(): - """ - Test that the output PDF file has metadata stripped. - """ +# ============== Excel Tests ============== + + +def test_read_excel_metadata_via_factory(): + """Test reading Excel metadata through MetadataFactory.""" + assert Path(XLSX_TEST_FILE).exists(), f"Test file not found: {XLSX_TEST_FILE}" + handler = MetadataFactory.get_handler(XLSX_TEST_FILE) + + assert isinstance(handler, ExcelHandler) + + metadata = handler.read() + assert handler.metadata == metadata + assert isinstance(metadata, dict) + assert handler.keys_to_delete is not None + + +def test_wipe_excel_metadata_via_factory(): + """Test wiping Excel metadata through MetadataFactory.""" + handler = MetadataFactory.get_handler(XLSX_TEST_FILE) + metadata = handler.read() + handler.wipe() + + assert handler.processed_metadata != metadata + + +def test_save_processed_excel_metadata_via_factory(): + """Test saving processed Excel metadata through MetadataFactory.""" output_dir = Path("./tests/assets/output") output_dir.mkdir(parents=True, exist_ok=True) - # Process original file - handler = MetadataFactory.get_handler(PDF_TEST_FILE) - original_metadata = handler.read() - original_count = len(original_metadata) + handler = MetadataFactory.get_handler(XLSX_TEST_FILE) + handler.read() handler.wipe() - # Save processed file - output_file = output_dir / Path(PDF_TEST_FILE).name + output_file = output_dir / Path(XLSX_TEST_FILE).name handler.save(str(output_file)) - # Read output file and verify metadata is reduced or gone - try: - output_handler = MetadataFactory.get_handler(str(output_file)) - output_metadata = output_handler.read() - assert len(output_metadata) < original_count - except MetadataNotFoundError: - # If no metadata found, that's expected for fully stripped files - pass - + assert output_file.exists() shutil.rmtree(output_dir) + + +def test_excel_format_detection(): + """Test format detection for Excel files.""" + handler = MetadataFactory.get_handler(XLSX_TEST_FILE) + assert handler._detect_format() == "xlsx" + + +# ============== Error Tests ============== + + +def test_unsupported_format_raises_error(tmp_path): + """Test that unsupported file formats raise an error.""" + fake_file = tmp_path / "test.txt" + fake_file.write_text("not an image") + + with pytest.raises(UnsupportedFormatError): + MetadataFactory.get_handler(str(fake_file)) + + +def test_save_without_output_path_raises_error(): + """Test that save() raises ValueError when output_path is empty.""" + handler = MetadataFactory.get_handler(JPG_TEST_FILE) + handler.read() + handler.wipe() + with pytest.raises(ValueError): + handler.save("") diff --git a/tests/unit/test_excel_handler.py b/tests/unit/test_excel_handler.py new file mode 100644 index 00000000..03c3e80a --- /dev/null +++ b/tests/unit/test_excel_handler.py @@ -0,0 +1,207 @@ +""" +Unit tests for ExcelHandler. + +Tests the ExcelHandler class in isolation, focusing on individual methods +and edge cases including encrypted workbooks, missing metadata, and corrupted files. +""" + +import shutil +from pathlib import Path + +import pytest +from openpyxl.utils.exceptions import InvalidFileException + +from src.services.excel_handler import ExcelHandler +from src.utils.exceptions import ( + MetadataNotFoundError, + UnsupportedFormatError, +) + +# Import path helpers from conftest +from tests.conftest import get_large_xlsx_test_file, get_xlsx_test_file + +# Test file paths (cross-platform) +XLSX_TEST_FILE = get_xlsx_test_file() +LARGE_XLSX_TEST_FILE = get_large_xlsx_test_file() + + +# ============== Success Case Tests ============== + + +@pytest.mark.parametrize("xlsx_file", [XLSX_TEST_FILE, LARGE_XLSX_TEST_FILE]) +def test_read_excel_metadata(xlsx_file): + """ + Test reading metadata from Excel files. + Verifies that read() extracts metadata and populates keys_to_delete. + """ + assert Path(xlsx_file).exists(), f"Test file not found: {xlsx_file}" + handler = ExcelHandler(xlsx_file) + metadata = handler.read() + + # Check metadata was extracted + assert handler.metadata == metadata + assert isinstance(metadata, dict) + + # Check keys_to_delete is populated + assert handler.keys_to_delete is not None + assert len(handler.keys_to_delete) > 0 + + +@pytest.mark.parametrize("xlsx_file", [XLSX_TEST_FILE, LARGE_XLSX_TEST_FILE]) +def test_wipe_excel_metadata(xlsx_file): + """ + Test wiping metadata from Excel files. + Verifies that wipe() removes metadata entries. + """ + assert Path(xlsx_file).exists(), f"Test file not found: {xlsx_file}" + handler = ExcelHandler(xlsx_file) + metadata = handler.read() + handler.wipe() + + # processed_metadata should differ from original + assert handler.processed_metadata != metadata + + +@pytest.mark.parametrize("xlsx_file", [XLSX_TEST_FILE, LARGE_XLSX_TEST_FILE]) +def test_save_processed_excel_metadata(xlsx_file): + """ + Test saving processed Excel to output path. + """ + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + handler = ExcelHandler(xlsx_file) + handler.read() + handler.wipe() + + output_file = output_dir / Path(xlsx_file).name + handler.save(str(output_file)) + + # Verify output file exists + assert output_file.exists() + + # Cleanup + shutil.rmtree(output_dir) + + +def test_format_detection_xlsx(): + """ + Test that _detect_format() correctly identifies XLSX files. + """ + handler = ExcelHandler(XLSX_TEST_FILE) + detected = handler._detect_format() + assert detected == "xlsx" + + +@pytest.mark.parametrize("xlsx_file", [XLSX_TEST_FILE, LARGE_XLSX_TEST_FILE]) +def test_output_file_has_less_metadata(xlsx_file): + """ + Test that the output file has metadata stripped. + """ + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + # Process original file + handler = ExcelHandler(xlsx_file) + original_metadata = handler.read() + handler.wipe() + + # Save processed file + output_file = output_dir / Path(xlsx_file).name + handler.save(str(output_file)) + + # Read output file and verify metadata is reduced or gone + try: + output_handler = ExcelHandler(str(output_file)) + output_metadata = output_handler.read() + # Output should have fewer metadata entries (some are None now) + non_none_original = sum(1 for v in original_metadata.values() if v is not None) + non_none_output = sum(1 for v in output_metadata.values() if v is not None) + assert non_none_output <= non_none_original + except MetadataNotFoundError: + # If no metadata found, that's expected for fully stripped files + pass + + # Cleanup + shutil.rmtree(output_dir) + + +def test_preserved_properties_not_deleted(): + """ + Test that created, modified, and language properties are preserved. + """ + handler = ExcelHandler(XLSX_TEST_FILE) + handler.read() + + # These should NOT be in keys_to_delete + assert "created" not in handler.keys_to_delete + assert "modified" not in handler.keys_to_delete + assert "language" not in handler.keys_to_delete + + +# ============== Error Case Tests ============== + + +def test_unsupported_format_raises_error(tmp_path): + """ + Test that non-Excel files raise UnsupportedFormatError. + """ + # Create a fake text file with .txt extension + fake_file = tmp_path / "test.txt" + fake_file.write_text("not an excel file") + + handler = ExcelHandler(str(fake_file)) + with pytest.raises(UnsupportedFormatError): + handler._detect_format() + + +def test_save_without_output_path_raises_error(): + """ + Test that save() raises ValueError when output_path is None or empty. + """ + handler = ExcelHandler(XLSX_TEST_FILE) + handler.read() + handler.wipe() + with pytest.raises(ValueError): + handler.save("") + + +def test_save_with_none_raises_error(): + """ + Test that save() raises ValueError when output_path is None. + """ + handler = ExcelHandler(XLSX_TEST_FILE) + handler.read() + handler.wipe() + with pytest.raises((ValueError, TypeError)): + handler.save(None) + + +# ============== Edge Case Tests ============== + + +def test_corrupted_excel_graceful_error(tmp_path): + """ + Test that corrupted Excel files are handled gracefully. + """ + # Create a corrupted Excel file (invalid structure) + corrupted_xlsx = tmp_path / "corrupted.xlsx" + corrupted_xlsx.write_bytes(b"not a valid xlsx content at all") + + handler = ExcelHandler(str(corrupted_xlsx)) + # Should raise InvalidFileException or similar from openpyxl + with pytest.raises((InvalidFileException, Exception)): + handler.read() + + +def test_format_detection_all_excel_types(tmp_path): + """ + Test format detection for all supported Excel extensions. + """ + for ext in ["xlsx", "xlsm", "xltx", "xltm"]: + fake_file = tmp_path / f"test.{ext}" + fake_file.write_bytes(b"dummy") # Not valid, but we're only testing detection + + handler = ExcelHandler(str(fake_file)) + detected = handler._detect_format() + assert detected == ext diff --git a/uv.lock b/uv.lock index 97a4212e..fe384a1e 100644 --- a/uv.lock +++ b/uv.lock @@ -127,6 +127,15 @@ toml = [ { name = "tomli", marker = "python_full_version <= '3.11'" }, ] +[[package]] +name = "et-xmlfile" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d3/38/af70d7ab1ae9d4da450eeec1fa3918940a5fafb9055e934af8d6eb0c2313/et_xmlfile-2.0.0.tar.gz", hash = "sha256:dab3f4764309081ce75662649be815c4c9081e88f0837825f90fd28317d4da54", size = 17234, upload-time = "2024-10-25T17:25:40.039Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/8b/5fe2cc11fee489817272089c4203e679c63b570a5aaeb18d852ae3cbba6a/et_xmlfile-2.0.0-py3-none-any.whl", hash = "sha256:7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa", size = 18059, upload-time = "2024-10-25T17:25:39.051Z" }, +] + [[package]] name = "exceptiongroup" version = "1.3.1" @@ -247,6 +256,7 @@ name = "metadata-scrubber" version = "0.1.1" source = { editable = "." } dependencies = [ + { name = "openpyxl" }, { name = "piexif" }, { name = "pillow" }, { name = "pypdf" }, @@ -265,6 +275,7 @@ dev = [ [package.metadata] requires-dist = [ { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.19.0" }, + { name = "openpyxl", specifier = ">=3.1.5" }, { name = "piexif", specifier = ">=1.1.3" }, { name = "pillow", specifier = ">=12.0.0" }, { name = "pypdf", specifier = ">=6.5.0" }, @@ -331,6 +342,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, ] +[[package]] +name = "openpyxl" +version = "3.1.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "et-xmlfile" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/f9/88d94a75de065ea32619465d2f77b29a0469500e99012523b91cc4141cd1/openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050", size = 186464, upload-time = "2024-06-28T14:03:44.161Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2", size = 250910, upload-time = "2024-06-28T14:03:41.161Z" }, +] + [[package]] name = "packaging" version = "25.0" From bbbeff0e3218b581da455872fc34bd3c978ef8c7 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Fri, 9 Jan 2026 22:58:49 +0100 Subject: [PATCH 24/38] metadata-scrubber-tool: added handler for powerpoint files, add comprehensive tests --- pyproject.toml | 13 +- src/services/metadata_factory.py | 5 +- src/services/powerpoint_handler.py | 171 +++++++++++++++++ src/utils/display.py | 1 + tests/assets/test_pptx/Extlst-test.pptx | Bin 0 -> 60908 bytes tests/assets/test_pptx/sample3.pptx | Bin 0 -> 45680 bytes tests/conftest.py | 32 ++++ tests/e2e/test_read_command.py | 26 +++ tests/e2e/test_scrub_command.py | 67 +++++++ tests/integration/test_metadata_factory.py | 60 ++++++ tests/unit/test_powerpoint_handler.py | 208 +++++++++++++++++++++ uv.lock | 165 ++++++++++++++++ 12 files changed, 745 insertions(+), 3 deletions(-) create mode 100644 src/services/powerpoint_handler.py create mode 100644 tests/assets/test_pptx/Extlst-test.pptx create mode 100644 tests/assets/test_pptx/sample3.pptx create mode 100644 tests/unit/test_powerpoint_handler.py diff --git a/pyproject.toml b/pyproject.toml index 43d9c2ad..dbb88f36 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,6 +11,8 @@ dependencies = [ "piexif>=1.1.3", "pypdf>=6.5.0", "openpyxl>=3.1.5", + "python-pptx>=1.0.2", + "python-docx>=1.2.0", ] [project.optional-dependencies] @@ -71,6 +73,15 @@ show_missing = true [tool.mypy] python_version = "3.10" warn_return_any = true -warn_unused_ignores = true +warn_unused_ignores = false ignore_missing_imports = true +# pptx library doesn't have type stubs +[[tool.mypy.overrides]] +module = "pptx.*" +ignore_missing_imports = true +ignore_errors = true + +[[tool.mypy.overrides]] +module = "src.services.powerpoint_handler" +ignore_errors = true diff --git a/src/services/metadata_factory.py b/src/services/metadata_factory.py index 06beff3f..6550c6a6 100644 --- a/src/services/metadata_factory.py +++ b/src/services/metadata_factory.py @@ -11,6 +11,7 @@ from pathlib import Path from src.services.excel_handler import ExcelHandler from src.services.image_handler import ImageHandler from src.services.pdf_handler import PDFHandler +from src.services.powerpoint_handler import PowerpointHandler from src.utils.exceptions import UnsupportedFormatError @@ -51,10 +52,10 @@ class MetadataFactory: return PDFHandler(filepath) elif ext in [".xlsx", ".xlsm", ".xltx", ".xltm"]: return ExcelHandler(filepath) + elif ext in [".pptx", ".pptm", ".potx", ".potm"]: + return PowerpointHandler(filepath) # TODO: implement other handlers - # elif ext == ".pptx": - # return PowerPointHandler(filepath) else: raise UnsupportedFormatError( f"No handler defined for {ext} files. we curently only support {supported_extensions} files." diff --git a/src/services/powerpoint_handler.py b/src/services/powerpoint_handler.py new file mode 100644 index 00000000..92739a40 --- /dev/null +++ b/src/services/powerpoint_handler.py @@ -0,0 +1,171 @@ +""" +PowerPoint metadata handler for presentation files. + +This module provides the PowerpointHandler class which implements the MetadataHandler +interface for PowerPoint presentation files (.pptx, .pptm, .potx, .potm). Uses python-pptx +for reading and writing presentation properties. + +Note: + Does not support password-protected/encrypted presentations. +""" + +import shutil +from pathlib import Path +from typing import Any + +from pptx import Presentation + +from src.services.metadata_handler import MetadataHandler +from src.utils.exceptions import ( + MetadataNotFoundError, + UnsupportedFormatError, +) + +# Supported PowerPoint formats +FORMAT_MAP = { + "pptx": "pptx", + "pptm": "pptm", + "potx": "potx", + "potm": "potm", +} + +# Properties to preserve (not deleted during wipe) +PRESERVED_PROPERTIES = {"created", "modified", "language", "last_printed", "revision"} + +# Core properties available in PowerPoint presentations +CORE_PROPERTIES = [ + "author", + "category", + "comments", + "content_status", + "created", + "identifier", + "keywords", + "language", + "last_modified_by", + "last_printed", + "modified", + "revision", + "subject", + "title", + "version", +] + + +class PowerpointHandler(MetadataHandler): + """ + PowerPoint metadata handler for presentation files. + + Handles extraction and removal of document properties from PowerPoint presentations + including author, title, subject, keywords, and other core properties. + + Attributes: + keys_to_delete: List of property names to be wiped. + """ + + def __init__(self, filepath: str): + """ + Initialize the PowerPoint handler. + + Args: + filepath: Path to the PowerPoint file to process. + """ + super().__init__(filepath) + self.keys_to_delete: list[str] = [] + + def _detect_format(self) -> str: + """ + Detect PowerPoint format from file extension. + + Returns: + Normalized format string ('pptx', 'pptm', 'potx', or 'potm'). + + Raises: + UnsupportedFormatError: If file extension is not a supported PowerPoint format. + """ + ext = Path(self.filepath).suffix.lower() + normalised = FORMAT_MAP.get(ext[1:]) # Remove leading dot + if normalised is None: + raise UnsupportedFormatError(f"Unsupported format: {ext}") + + return normalised + + def read(self) -> dict[str, Any]: + """ + Extract metadata properties from the PowerPoint presentation. + + Reads all document properties from the presentation and identifies + which properties should be wiped (excludes created, modified, language, etc.). + + Returns: + Dictionary of property names to their values. + + Raises: + MetadataNotFoundError: If no properties are found. + """ + prs = Presentation(str(Path(self.filepath))) + try: + if prs.core_properties is None: + raise MetadataNotFoundError("No metadata found in the file.") + + for attr in CORE_PROPERTIES: + if hasattr(prs.core_properties, attr): + self.metadata[attr] = getattr(prs.core_properties, attr) + if attr not in PRESERVED_PROPERTIES: + self.keys_to_delete.append(attr) + + return self.metadata + finally: + del prs + + def wipe(self) -> None: + """ + Remove metadata properties from the PowerPoint presentation. + + Clears all properties identified during read() except for + preserved properties (created, modified, language, etc.). + + Raises: + MetadataNotFoundError: If no properties are found. + """ + prs = Presentation(str(Path(self.filepath))) + try: + if prs.core_properties is None: + raise MetadataNotFoundError("No metadata found in the file.") + + # Clear each property marked for deletion + for attr in self.keys_to_delete: + self.processed_metadata[attr] = None + + finally: + del prs + + def save(self, output_path: str | None = None) -> None: + """ + Save the presentation with cleaned metadata to the output path. + + Creates a copy of the original file and applies the wiped + metadata properties to it. + + Args: + output_path: Path where the cleaned file should be saved. + + Raises: + ValueError: If output_path is None or empty. + """ + if not output_path: + raise ValueError("output_path is required") + + destination_file_path = Path(output_path) + shutil.copy2(self.filepath, destination_file_path) + + prs = Presentation(str(Path(destination_file_path))) + try: + # Apply wiped properties + for attr in self.processed_metadata: + if hasattr(prs.core_properties, attr): + setattr(prs.core_properties, attr, self.processed_metadata[attr]) + + prs.save(str(destination_file_path)) + finally: + del prs diff --git a/src/utils/display.py b/src/utils/display.py index ae1fe4cc..c815ed3d 100644 --- a/src/utils/display.py +++ b/src/utils/display.py @@ -33,6 +33,7 @@ def print_metadata_table(metadata: dict[str, Any]): groups = { "📄 Document Info": [ "Author", + "author", "/Author", "/Creator", ], diff --git a/tests/assets/test_pptx/Extlst-test.pptx b/tests/assets/test_pptx/Extlst-test.pptx new file mode 100644 index 0000000000000000000000000000000000000000..e94b88ab9e6ff1dcdbfb96f154c810ba9095c1b7 GIT binary patch literal 60908 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 literal 0 HcmV?d00001 diff --git a/tests/assets/test_pptx/sample3.pptx b/tests/assets/test_pptx/sample3.pptx new file mode 100644 index 0000000000000000000000000000000000000000..c970c944f649c3bbcdcc6f2d4d3d9531e323c5e9 GIT binary patch literal 45680 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 str: def get_test_xlsx_dir() -> str: """Get test XLSX directory path as string.""" return str(TEST_XLSX_DIR) + + +# PowerPoint fixtures +TEST_PPTX_DIR = ASSETS_DIR / "test_pptx" + + +@pytest.fixture +def pptx_test_file() -> Path: + """Return path to a PPTX test file with metadata.""" + return TEST_PPTX_DIR / "Extlst-test.pptx" + + +@pytest.fixture +def test_pptx_dir() -> Path: + """Return path to test PPTX directory.""" + return TEST_PPTX_DIR + + +# String versions for parametrize (PowerPoint) +def get_pptx_test_file() -> str: + """Get PPTX test file path as string.""" + return str(TEST_PPTX_DIR / "Extlst-test.pptx") + + +def get_large_pptx_test_file() -> str: + """Get second PPTX test file path as string.""" + return str(TEST_PPTX_DIR / "sample3.pptx") + + +def get_test_pptx_dir() -> str: + """Get test PPTX directory path as string.""" + return str(TEST_PPTX_DIR) diff --git a/tests/e2e/test_read_command.py b/tests/e2e/test_read_command.py index 173cc44e..33270fae 100644 --- a/tests/e2e/test_read_command.py +++ b/tests/e2e/test_read_command.py @@ -118,3 +118,29 @@ def test_read_command_recursive_xlsx_success(): assert result.exit_code == 0, f"Failed with: {result.stdout}" assert "Reading" in result.stdout + + +# ============== PowerPoint Tests ============== + + +def test_read_command_pptx_single_file_success(): + """Test the 'read' command with a single PowerPoint file.""" + from tests.conftest import get_pptx_test_file + + PPTX_TEST_FILE = get_pptx_test_file() + result = runner.invoke(app, ["read", PPTX_TEST_FILE]) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + assert "Reading" in result.stdout + assert Path(PPTX_TEST_FILE).name in result.stdout + + +def test_read_command_recursive_pptx_success(): + """Test the 'read' command with recursive PowerPoint directory processing.""" + from tests.conftest import get_test_pptx_dir + + PPTX_DIR = get_test_pptx_dir() + result = runner.invoke(app, ["read", PPTX_DIR, "-r", "-ext", "pptx"]) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + assert "Reading" in result.stdout diff --git a/tests/e2e/test_scrub_command.py b/tests/e2e/test_scrub_command.py index 2d974696..e0c6e17e 100644 --- a/tests/e2e/test_scrub_command.py +++ b/tests/e2e/test_scrub_command.py @@ -209,3 +209,70 @@ def test_scrub_command_xlsx_with_workers(output_dir): ) assert result.exit_code == 0, f"Failed with: {result.stdout}" + + +# ============== PowerPoint Tests ============== + + +def test_scrub_command_pptx_single_file_success(output_dir): + """Test the 'scrub' command with a single PowerPoint file.""" + from tests.conftest import get_pptx_test_file + + PPTX_TEST_FILE = get_pptx_test_file() + result = runner.invoke(app, ["scrub", PPTX_TEST_FILE, "--output", str(output_dir)]) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + output_file = output_dir / f"processed_{Path(PPTX_TEST_FILE).name}" + assert output_file.exists() + + +def test_scrub_command_recursive_pptx_success(output_dir): + """Test the 'scrub' command with recursive directory processing for PowerPoint.""" + from tests.conftest import get_test_pptx_dir + + PPTX_DIR = get_test_pptx_dir() + result = runner.invoke( + app, ["scrub", PPTX_DIR, "-r", "-ext", "pptx", "--output", str(output_dir)] + ) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + output_files = list(output_dir.glob("processed_*.pptx")) + assert len(output_files) > 0 + + +def test_scrub_command_pptx_dry_run(output_dir): + """Test that --dry-run doesn't create PowerPoint files.""" + from tests.conftest import get_pptx_test_file + + PPTX_TEST_FILE = get_pptx_test_file() + result = runner.invoke( + app, ["scrub", PPTX_TEST_FILE, "--output", str(output_dir), "--dry-run"] + ) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" + assert "DRY-RUN" in result.stdout + output_file = output_dir / f"processed_{Path(PPTX_TEST_FILE).name}" + assert not output_file.exists() + + +def test_scrub_command_pptx_with_workers(output_dir): + """Test the --workers option for concurrent PowerPoint processing.""" + from tests.conftest import get_test_pptx_dir + + PPTX_DIR = get_test_pptx_dir() + result = runner.invoke( + app, + [ + "scrub", + PPTX_DIR, + "-r", + "-ext", + "pptx", + "--output", + str(output_dir), + "--workers", + "2", + ], + ) + + assert result.exit_code == 0, f"Failed with: {result.stdout}" diff --git a/tests/integration/test_metadata_factory.py b/tests/integration/test_metadata_factory.py index 18bffb66..e9cd8ecc 100644 --- a/tests/integration/test_metadata_factory.py +++ b/tests/integration/test_metadata_factory.py @@ -182,6 +182,66 @@ def test_excel_format_detection(): assert handler._detect_format() == "xlsx" +# ============== PowerPoint Tests ============== + + +def test_read_pptx_metadata_via_factory(): + """Test reading PowerPoint metadata through MetadataFactory.""" + from tests.conftest import get_pptx_test_file + + PPTX_TEST_FILE = get_pptx_test_file() + assert Path(PPTX_TEST_FILE).exists(), f"Test file not found: {PPTX_TEST_FILE}" + + from src.services.powerpoint_handler import PowerpointHandler + + handler = MetadataFactory.get_handler(PPTX_TEST_FILE) + assert isinstance(handler, PowerpointHandler) + + metadata = handler.read() + assert handler.metadata == metadata + assert isinstance(metadata, dict) + + +def test_wipe_pptx_metadata_via_factory(): + """Test wiping PowerPoint metadata through MetadataFactory.""" + from tests.conftest import get_pptx_test_file + + PPTX_TEST_FILE = get_pptx_test_file() + handler = MetadataFactory.get_handler(PPTX_TEST_FILE) + handler.read() + handler.wipe() + + assert handler.processed_metadata is not None + + +def test_save_processed_pptx_metadata_via_factory(): + """Test saving processed PowerPoint metadata through MetadataFactory.""" + from tests.conftest import get_pptx_test_file + + PPTX_TEST_FILE = get_pptx_test_file() + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + handler = MetadataFactory.get_handler(PPTX_TEST_FILE) + handler.read() + handler.wipe() + + output_file = output_dir / Path(PPTX_TEST_FILE).name + handler.save(str(output_file)) + + assert output_file.exists() + shutil.rmtree(output_dir) + + +def test_pptx_format_detection(): + """Test format detection for PowerPoint files.""" + from tests.conftest import get_pptx_test_file + + PPTX_TEST_FILE = get_pptx_test_file() + handler = MetadataFactory.get_handler(PPTX_TEST_FILE) + assert handler._detect_format() == "pptx" + + # ============== Error Tests ============== diff --git a/tests/unit/test_powerpoint_handler.py b/tests/unit/test_powerpoint_handler.py new file mode 100644 index 00000000..c85358e9 --- /dev/null +++ b/tests/unit/test_powerpoint_handler.py @@ -0,0 +1,208 @@ +""" +Unit tests for PowerpointHandler. + +Tests the PowerpointHandler class in isolation, focusing on individual methods +and edge cases including missing metadata and corrupted files. +""" + +import shutil +from pathlib import Path + +import pytest + +from src.services.powerpoint_handler import PowerpointHandler +from src.utils.exceptions import ( + MetadataNotFoundError, + UnsupportedFormatError, +) + +# Import path helpers from conftest +from tests.conftest import get_large_pptx_test_file, get_pptx_test_file + +# Test file paths (cross-platform) +PPTX_TEST_FILE = get_pptx_test_file() +LARGE_PPTX_TEST_FILE = get_large_pptx_test_file() + + +# ============== Success Case Tests ============== + + +@pytest.mark.parametrize("pptx_file", [PPTX_TEST_FILE, LARGE_PPTX_TEST_FILE]) +def test_read_pptx_metadata(pptx_file): + """ + Test reading metadata from PowerPoint files. + Verifies that read() extracts metadata and populates keys_to_delete. + """ + assert Path(pptx_file).exists(), f"Test file not found: {pptx_file}" + handler = PowerpointHandler(pptx_file) + metadata = handler.read() + + # Check metadata was extracted + assert handler.metadata == metadata + assert isinstance(metadata, dict) + + # Check keys_to_delete is populated + assert handler.keys_to_delete is not None + + +@pytest.mark.parametrize("pptx_file", [PPTX_TEST_FILE, LARGE_PPTX_TEST_FILE]) +def test_wipe_pptx_metadata(pptx_file): + """ + Test wiping metadata from PowerPoint files. + Verifies that wipe() prepares metadata for removal. + """ + assert Path(pptx_file).exists(), f"Test file not found: {pptx_file}" + handler = PowerpointHandler(pptx_file) + handler.read() + handler.wipe() + + # processed_metadata should have entries set to None + assert handler.processed_metadata is not None + + +@pytest.mark.parametrize("pptx_file", [PPTX_TEST_FILE, LARGE_PPTX_TEST_FILE]) +def test_save_processed_pptx_metadata(pptx_file): + """ + Test saving processed PowerPoint to output path. + """ + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + handler = PowerpointHandler(pptx_file) + handler.read() + handler.wipe() + + output_file = output_dir / Path(pptx_file).name + handler.save(str(output_file)) + + # Verify output file exists + assert output_file.exists() + + # Cleanup + shutil.rmtree(output_dir) + + +def test_format_detection_pptx(): + """ + Test that _detect_format() correctly identifies PPTX files. + """ + handler = PowerpointHandler(PPTX_TEST_FILE) + detected = handler._detect_format() + assert detected == "pptx" + + +@pytest.mark.parametrize("pptx_file", [PPTX_TEST_FILE, LARGE_PPTX_TEST_FILE]) +def test_output_file_has_wiped_metadata(pptx_file): + """ + Test that the output file has metadata wiped. + """ + output_dir = Path("./tests/assets/output") + output_dir.mkdir(parents=True, exist_ok=True) + + # Process original file + handler = PowerpointHandler(pptx_file) + handler.read() + handler.wipe() + + # Save processed file + output_file = output_dir / Path(pptx_file).name + handler.save(str(output_file)) + + # Verify output file exists and can be read + assert output_file.exists() + + # Read output file and verify it's valid + try: + output_handler = PowerpointHandler(str(output_file)) + output_metadata = output_handler.read() + # Just verify we can read it - the wipe worked if we're here + assert isinstance(output_metadata, dict) + except MetadataNotFoundError: + # If no metadata found, that's expected for fully stripped files + pass + + # Cleanup + shutil.rmtree(output_dir) + + +def test_preserved_properties_not_deleted(): + """ + Test that created, modified, language, last_printed, revision are preserved. + """ + handler = PowerpointHandler(PPTX_TEST_FILE) + handler.read() + + # These should NOT be in keys_to_delete + assert "created" not in handler.keys_to_delete + assert "modified" not in handler.keys_to_delete + assert "language" not in handler.keys_to_delete + assert "last_printed" not in handler.keys_to_delete + assert "revision" not in handler.keys_to_delete + + +# ============== Error Case Tests ============== + + +def test_unsupported_format_raises_error(tmp_path): + """ + Test that non-PowerPoint files raise UnsupportedFormatError. + """ + # Create a fake text file with .txt extension + fake_file = tmp_path / "test.txt" + fake_file.write_text("not a powerpoint file") + + handler = PowerpointHandler(str(fake_file)) + with pytest.raises(UnsupportedFormatError): + handler._detect_format() + + +def test_save_without_output_path_raises_error(): + """ + Test that save() raises ValueError when output_path is empty. + """ + handler = PowerpointHandler(PPTX_TEST_FILE) + handler.read() + handler.wipe() + with pytest.raises(ValueError): + handler.save("") + + +def test_save_with_none_raises_error(): + """ + Test that save() raises ValueError when output_path is None. + """ + handler = PowerpointHandler(PPTX_TEST_FILE) + handler.read() + handler.wipe() + with pytest.raises((ValueError, TypeError)): + handler.save(None) + + +# ============== Edge Case Tests ============== + + +def test_corrupted_pptx_graceful_error(tmp_path): + """ + Test that corrupted PowerPoint files are handled gracefully. + """ + # Create a corrupted PowerPoint file (invalid structure) + corrupted_pptx = tmp_path / "corrupted.pptx" + corrupted_pptx.write_bytes(b"not a valid pptx content at all") + + handler = PowerpointHandler(str(corrupted_pptx)) + # Should raise an exception from python-pptx + with pytest.raises(Exception): + handler.read() + + +def test_format_detection_all_pptx_types(tmp_path): + """ + Test format detection for all supported PowerPoint extensions. + """ + for ext in ["pptx", "pptm", "potx", "potm"]: + fake_file = tmp_path / f"test.{ext}" + fake_file.write_bytes(b"dummy") # Not valid, but we're only testing detection + + handler = PowerpointHandler(str(fake_file)) + detected = handler._detect_format() + assert detected == ext diff --git a/uv.lock b/uv.lock index fe384a1e..339984bd 100644 --- a/uv.lock +++ b/uv.lock @@ -230,6 +230,130 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/51/0e/b756c7708143a63fca65a51ca07990fa647db2cc8fcd65177b9e96680255/librt-0.7.7-cp314-cp314t-win_arm64.whl", hash = "sha256:142c2cd91794b79fd0ce113bd658993b7ede0fe93057668c2f98a45ca00b7e91", size = 39724, upload-time = "2026-01-01T23:52:09.745Z" }, ] +[[package]] +name = "lxml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/88/262177de60548e5a2bfc46ad28232c9e9cbde697bd94132aeb80364675cb/lxml-6.0.2.tar.gz", hash = "sha256:cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62", size = 4073426, upload-time = "2025-09-22T04:04:59.287Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/8a/f8192a08237ef2fb1b19733f709db88a4c43bc8ab8357f01cb41a27e7f6a/lxml-6.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e77dd455b9a16bbd2a5036a63ddbd479c19572af81b624e79ef422f929eef388", size = 8590589, upload-time = "2025-09-22T04:00:10.51Z" }, + { url = "https://files.pythonhosted.org/packages/12/64/27bcd07ae17ff5e5536e8d88f4c7d581b48963817a13de11f3ac3329bfa2/lxml-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d444858b9f07cefff6455b983aea9a67f7462ba1f6cbe4a21e8bf6791bf2153", size = 4629671, upload-time = "2025-09-22T04:00:15.411Z" }, + { url = "https://files.pythonhosted.org/packages/02/5a/a7d53b3291c324e0b6e48f3c797be63836cc52156ddf8f33cd72aac78866/lxml-6.0.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f952dacaa552f3bb8834908dddd500ba7d508e6ea6eb8c52eb2d28f48ca06a31", size = 4999961, upload-time = "2025-09-22T04:00:17.619Z" }, + { url = "https://files.pythonhosted.org/packages/f5/55/d465e9b89df1761674d8672bb3e4ae2c47033b01ec243964b6e334c6743f/lxml-6.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:71695772df6acea9f3c0e59e44ba8ac50c4f125217e84aab21074a1a55e7e5c9", size = 5157087, upload-time = "2025-09-22T04:00:19.868Z" }, + { url = "https://files.pythonhosted.org/packages/62/38/3073cd7e3e8dfc3ba3c3a139e33bee3a82de2bfb0925714351ad3d255c13/lxml-6.0.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:17f68764f35fd78d7c4cc4ef209a184c38b65440378013d24b8aecd327c3e0c8", size = 5067620, upload-time = "2025-09-22T04:00:21.877Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d3/1e001588c5e2205637b08985597827d3827dbaaece16348c8822bfe61c29/lxml-6.0.2-cp310-cp310-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:058027e261afed589eddcfe530fcc6f3402d7fd7e89bfd0532df82ebc1563dba", size = 5406664, upload-time = "2025-09-22T04:00:23.714Z" }, + { url = "https://files.pythonhosted.org/packages/20/cf/cab09478699b003857ed6ebfe95e9fb9fa3d3c25f1353b905c9b73cfb624/lxml-6.0.2-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8ffaeec5dfea5881d4c9d8913a32d10cfe3923495386106e4a24d45300ef79c", size = 5289397, upload-time = "2025-09-22T04:00:25.544Z" }, + { url = "https://files.pythonhosted.org/packages/a3/84/02a2d0c38ac9a8b9f9e5e1bbd3f24b3f426044ad618b552e9549ee91bd63/lxml-6.0.2-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:f2e3b1a6bb38de0bc713edd4d612969dd250ca8b724be8d460001a387507021c", size = 4772178, upload-time = "2025-09-22T04:00:27.602Z" }, + { url = "https://files.pythonhosted.org/packages/56/87/e1ceadcc031ec4aa605fe95476892d0b0ba3b7f8c7dcdf88fdeff59a9c86/lxml-6.0.2-cp310-cp310-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d6690ec5ec1cce0385cb20896b16be35247ac8c2046e493d03232f1c2414d321", size = 5358148, upload-time = "2025-09-22T04:00:29.323Z" }, + { url = "https://files.pythonhosted.org/packages/fe/13/5bb6cf42bb228353fd4ac5f162c6a84fd68a4d6f67c1031c8cf97e131fc6/lxml-6.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2a50c3c1d11cad0ebebbac357a97b26aa79d2bcaf46f256551152aa85d3a4d1", size = 5112035, upload-time = "2025-09-22T04:00:31.061Z" }, + { url = "https://files.pythonhosted.org/packages/e4/e2/ea0498552102e59834e297c5c6dff8d8ded3db72ed5e8aad77871476f073/lxml-6.0.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:3efe1b21c7801ffa29a1112fab3b0f643628c30472d507f39544fd48e9549e34", size = 4799111, upload-time = "2025-09-22T04:00:33.11Z" }, + { url = "https://files.pythonhosted.org/packages/6a/9e/8de42b52a73abb8af86c66c969b3b4c2a96567b6ac74637c037d2e3baa60/lxml-6.0.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:59c45e125140b2c4b33920d21d83681940ca29f0b83f8629ea1a2196dc8cfe6a", size = 5351662, upload-time = "2025-09-22T04:00:35.237Z" }, + { url = "https://files.pythonhosted.org/packages/28/a2/de776a573dfb15114509a37351937c367530865edb10a90189d0b4b9b70a/lxml-6.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:452b899faa64f1805943ec1c0c9ebeaece01a1af83e130b69cdefeda180bb42c", size = 5314973, upload-time = "2025-09-22T04:00:37.086Z" }, + { url = "https://files.pythonhosted.org/packages/50/a0/3ae1b1f8964c271b5eec91db2043cf8c6c0bce101ebb2a633b51b044db6c/lxml-6.0.2-cp310-cp310-win32.whl", hash = "sha256:1e786a464c191ca43b133906c6903a7e4d56bef376b75d97ccbb8ec5cf1f0a4b", size = 3611953, upload-time = "2025-09-22T04:00:39.224Z" }, + { url = "https://files.pythonhosted.org/packages/d1/70/bd42491f0634aad41bdfc1e46f5cff98825fb6185688dc82baa35d509f1a/lxml-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:dacf3c64ef3f7440e3167aa4b49aa9e0fb99e0aa4f9ff03795640bf94531bcb0", size = 4032695, upload-time = "2025-09-22T04:00:41.402Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d0/05c6a72299f54c2c561a6c6cbb2f512e047fca20ea97a05e57931f194ac4/lxml-6.0.2-cp310-cp310-win_arm64.whl", hash = "sha256:45f93e6f75123f88d7f0cfd90f2d05f441b808562bf0bc01070a00f53f5028b5", size = 3680051, upload-time = "2025-09-22T04:00:43.525Z" }, + { url = "https://files.pythonhosted.org/packages/77/d5/becbe1e2569b474a23f0c672ead8a29ac50b2dc1d5b9de184831bda8d14c/lxml-6.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:13e35cbc684aadf05d8711a5d1b5857c92e5e580efa9a0d2be197199c8def607", size = 8634365, upload-time = "2025-09-22T04:00:45.672Z" }, + { url = "https://files.pythonhosted.org/packages/28/66/1ced58f12e804644426b85d0bb8a4478ca77bc1761455da310505f1a3526/lxml-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b1675e096e17c6fe9c0e8c81434f5736c0739ff9ac6123c87c2d452f48fc938", size = 4650793, upload-time = "2025-09-22T04:00:47.783Z" }, + { url = "https://files.pythonhosted.org/packages/11/84/549098ffea39dfd167e3f174b4ce983d0eed61f9d8d25b7bf2a57c3247fc/lxml-6.0.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8ac6e5811ae2870953390452e3476694196f98d447573234592d30488147404d", size = 4944362, upload-time = "2025-09-22T04:00:49.845Z" }, + { url = "https://files.pythonhosted.org/packages/ac/bd/f207f16abf9749d2037453d56b643a7471d8fde855a231a12d1e095c4f01/lxml-6.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5aa0fc67ae19d7a64c3fe725dc9a1bb11f80e01f78289d05c6f62545affec438", size = 5083152, upload-time = "2025-09-22T04:00:51.709Z" }, + { url = "https://files.pythonhosted.org/packages/15/ae/bd813e87d8941d52ad5b65071b1affb48da01c4ed3c9c99e40abb266fbff/lxml-6.0.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de496365750cc472b4e7902a485d3f152ecf57bd3ba03ddd5578ed8ceb4c5964", size = 5023539, upload-time = "2025-09-22T04:00:53.593Z" }, + { url = "https://files.pythonhosted.org/packages/02/cd/9bfef16bd1d874fbe0cb51afb00329540f30a3283beb9f0780adbb7eec03/lxml-6.0.2-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:200069a593c5e40b8f6fc0d84d86d970ba43138c3e68619ffa234bc9bb806a4d", size = 5344853, upload-time = "2025-09-22T04:00:55.524Z" }, + { url = "https://files.pythonhosted.org/packages/b8/89/ea8f91594bc5dbb879734d35a6f2b0ad50605d7fb419de2b63d4211765cc/lxml-6.0.2-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7d2de809c2ee3b888b59f995625385f74629707c9355e0ff856445cdcae682b7", size = 5225133, upload-time = "2025-09-22T04:00:57.269Z" }, + { url = "https://files.pythonhosted.org/packages/b9/37/9c735274f5dbec726b2db99b98a43950395ba3d4a1043083dba2ad814170/lxml-6.0.2-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:b2c3da8d93cf5db60e8858c17684c47d01fee6405e554fb55018dd85fc23b178", size = 4677944, upload-time = "2025-09-22T04:00:59.052Z" }, + { url = "https://files.pythonhosted.org/packages/20/28/7dfe1ba3475d8bfca3878365075abe002e05d40dfaaeb7ec01b4c587d533/lxml-6.0.2-cp311-cp311-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:442de7530296ef5e188373a1ea5789a46ce90c4847e597856570439621d9c553", size = 5284535, upload-time = "2025-09-22T04:01:01.335Z" }, + { url = "https://files.pythonhosted.org/packages/e7/cf/5f14bc0de763498fc29510e3532bf2b4b3a1c1d5d0dff2e900c16ba021ef/lxml-6.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2593c77efde7bfea7f6389f1ab249b15ed4aa5bc5cb5131faa3b843c429fbedb", size = 5067343, upload-time = "2025-09-22T04:01:03.13Z" }, + { url = "https://files.pythonhosted.org/packages/1c/b0/bb8275ab5472f32b28cfbbcc6db7c9d092482d3439ca279d8d6fa02f7025/lxml-6.0.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:3e3cb08855967a20f553ff32d147e14329b3ae70ced6edc2f282b94afbc74b2a", size = 4725419, upload-time = "2025-09-22T04:01:05.013Z" }, + { url = "https://files.pythonhosted.org/packages/25/4c/7c222753bc72edca3b99dbadba1b064209bc8ed4ad448af990e60dcce462/lxml-6.0.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:2ed6c667fcbb8c19c6791bbf40b7268ef8ddf5a96940ba9404b9f9a304832f6c", size = 5275008, upload-time = "2025-09-22T04:01:07.327Z" }, + { url = "https://files.pythonhosted.org/packages/6c/8c/478a0dc6b6ed661451379447cdbec77c05741a75736d97e5b2b729687828/lxml-6.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b8f18914faec94132e5b91e69d76a5c1d7b0c73e2489ea8929c4aaa10b76bbf7", size = 5248906, upload-time = "2025-09-22T04:01:09.452Z" }, + { url = "https://files.pythonhosted.org/packages/2d/d9/5be3a6ab2784cdf9accb0703b65e1b64fcdd9311c9f007630c7db0cfcce1/lxml-6.0.2-cp311-cp311-win32.whl", hash = "sha256:6605c604e6daa9e0d7f0a2137bdc47a2e93b59c60a65466353e37f8272f47c46", size = 3610357, upload-time = "2025-09-22T04:01:11.102Z" }, + { url = "https://files.pythonhosted.org/packages/e2/7d/ca6fb13349b473d5732fb0ee3eec8f6c80fc0688e76b7d79c1008481bf1f/lxml-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e5867f2651016a3afd8dd2c8238baa66f1e2802f44bc17e236f547ace6647078", size = 4036583, upload-time = "2025-09-22T04:01:12.766Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a2/51363b5ecd3eab46563645f3a2c3836a2fc67d01a1b87c5017040f39f567/lxml-6.0.2-cp311-cp311-win_arm64.whl", hash = "sha256:4197fb2534ee05fd3e7afaab5d8bfd6c2e186f65ea7f9cd6a82809c887bd1285", size = 3680591, upload-time = "2025-09-22T04:01:14.874Z" }, + { url = "https://files.pythonhosted.org/packages/f3/c8/8ff2bc6b920c84355146cd1ab7d181bc543b89241cfb1ebee824a7c81457/lxml-6.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a59f5448ba2ceccd06995c95ea59a7674a10de0810f2ce90c9006f3cbc044456", size = 8661887, upload-time = "2025-09-22T04:01:17.265Z" }, + { url = "https://files.pythonhosted.org/packages/37/6f/9aae1008083bb501ef63284220ce81638332f9ccbfa53765b2b7502203cf/lxml-6.0.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e8113639f3296706fbac34a30813929e29247718e88173ad849f57ca59754924", size = 4667818, upload-time = "2025-09-22T04:01:19.688Z" }, + { url = "https://files.pythonhosted.org/packages/f1/ca/31fb37f99f37f1536c133476674c10b577e409c0a624384147653e38baf2/lxml-6.0.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a8bef9b9825fa8bc816a6e641bb67219489229ebc648be422af695f6e7a4fa7f", size = 4950807, upload-time = "2025-09-22T04:01:21.487Z" }, + { url = "https://files.pythonhosted.org/packages/da/87/f6cb9442e4bada8aab5ae7e1046264f62fdbeaa6e3f6211b93f4c0dd97f1/lxml-6.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:65ea18d710fd14e0186c2f973dc60bb52039a275f82d3c44a0e42b43440ea534", size = 5109179, upload-time = "2025-09-22T04:01:23.32Z" }, + { url = "https://files.pythonhosted.org/packages/c8/20/a7760713e65888db79bbae4f6146a6ae5c04e4a204a3c48896c408cd6ed2/lxml-6.0.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c371aa98126a0d4c739ca93ceffa0fd7a5d732e3ac66a46e74339acd4d334564", size = 5023044, upload-time = "2025-09-22T04:01:25.118Z" }, + { url = "https://files.pythonhosted.org/packages/a2/b0/7e64e0460fcb36471899f75831509098f3fd7cd02a3833ac517433cb4f8f/lxml-6.0.2-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:700efd30c0fa1a3581d80a748157397559396090a51d306ea59a70020223d16f", size = 5359685, upload-time = "2025-09-22T04:01:27.398Z" }, + { url = "https://files.pythonhosted.org/packages/b9/e1/e5df362e9ca4e2f48ed6411bd4b3a0ae737cc842e96877f5bf9428055ab4/lxml-6.0.2-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c33e66d44fe60e72397b487ee92e01da0d09ba2d66df8eae42d77b6d06e5eba0", size = 5654127, upload-time = "2025-09-22T04:01:29.629Z" }, + { url = "https://files.pythonhosted.org/packages/c6/d1/232b3309a02d60f11e71857778bfcd4acbdb86c07db8260caf7d008b08f8/lxml-6.0.2-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:90a345bbeaf9d0587a3aaffb7006aa39ccb6ff0e96a57286c0cb2fd1520ea192", size = 5253958, upload-time = "2025-09-22T04:01:31.535Z" }, + { url = "https://files.pythonhosted.org/packages/35/35/d955a070994725c4f7d80583a96cab9c107c57a125b20bb5f708fe941011/lxml-6.0.2-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:064fdadaf7a21af3ed1dcaa106b854077fbeada827c18f72aec9346847cd65d0", size = 4711541, upload-time = "2025-09-22T04:01:33.801Z" }, + { url = "https://files.pythonhosted.org/packages/1e/be/667d17363b38a78c4bd63cfd4b4632029fd68d2c2dc81f25ce9eb5224dd5/lxml-6.0.2-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fbc74f42c3525ac4ffa4b89cbdd00057b6196bcefe8bce794abd42d33a018092", size = 5267426, upload-time = "2025-09-22T04:01:35.639Z" }, + { url = "https://files.pythonhosted.org/packages/ea/47/62c70aa4a1c26569bc958c9ca86af2bb4e1f614e8c04fb2989833874f7ae/lxml-6.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6ddff43f702905a4e32bc24f3f2e2edfe0f8fde3277d481bffb709a4cced7a1f", size = 5064917, upload-time = "2025-09-22T04:01:37.448Z" }, + { url = "https://files.pythonhosted.org/packages/bd/55/6ceddaca353ebd0f1908ef712c597f8570cc9c58130dbb89903198e441fd/lxml-6.0.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6da5185951d72e6f5352166e3da7b0dc27aa70bd1090b0eb3f7f7212b53f1bb8", size = 4788795, upload-time = "2025-09-22T04:01:39.165Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e8/fd63e15da5e3fd4c2146f8bbb3c14e94ab850589beab88e547b2dbce22e1/lxml-6.0.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:57a86e1ebb4020a38d295c04fc79603c7899e0df71588043eb218722dabc087f", size = 5676759, upload-time = "2025-09-22T04:01:41.506Z" }, + { url = "https://files.pythonhosted.org/packages/76/47/b3ec58dc5c374697f5ba37412cd2728f427d056315d124dd4b61da381877/lxml-6.0.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:2047d8234fe735ab77802ce5f2297e410ff40f5238aec569ad7c8e163d7b19a6", size = 5255666, upload-time = "2025-09-22T04:01:43.363Z" }, + { url = "https://files.pythonhosted.org/packages/19/93/03ba725df4c3d72afd9596eef4a37a837ce8e4806010569bedfcd2cb68fd/lxml-6.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6f91fd2b2ea15a6800c8e24418c0775a1694eefc011392da73bc6cef2623b322", size = 5277989, upload-time = "2025-09-22T04:01:45.215Z" }, + { url = "https://files.pythonhosted.org/packages/c6/80/c06de80bfce881d0ad738576f243911fccf992687ae09fd80b734712b39c/lxml-6.0.2-cp312-cp312-win32.whl", hash = "sha256:3ae2ce7d6fedfb3414a2b6c5e20b249c4c607f72cb8d2bb7cc9c6ec7c6f4e849", size = 3611456, upload-time = "2025-09-22T04:01:48.243Z" }, + { url = "https://files.pythonhosted.org/packages/f7/d7/0cdfb6c3e30893463fb3d1e52bc5f5f99684a03c29a0b6b605cfae879cd5/lxml-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:72c87e5ee4e58a8354fb9c7c84cbf95a1c8236c127a5d1b7683f04bed8361e1f", size = 4011793, upload-time = "2025-09-22T04:01:50.042Z" }, + { url = "https://files.pythonhosted.org/packages/ea/7b/93c73c67db235931527301ed3785f849c78991e2e34f3fd9a6663ffda4c5/lxml-6.0.2-cp312-cp312-win_arm64.whl", hash = "sha256:61cb10eeb95570153e0c0e554f58df92ecf5109f75eacad4a95baa709e26c3d6", size = 3672836, upload-time = "2025-09-22T04:01:52.145Z" }, + { url = "https://files.pythonhosted.org/packages/53/fd/4e8f0540608977aea078bf6d79f128e0e2c2bba8af1acf775c30baa70460/lxml-6.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9b33d21594afab46f37ae58dfadd06636f154923c4e8a4d754b0127554eb2e77", size = 8648494, upload-time = "2025-09-22T04:01:54.242Z" }, + { url = "https://files.pythonhosted.org/packages/5d/f4/2a94a3d3dfd6c6b433501b8d470a1960a20ecce93245cf2db1706adf6c19/lxml-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6c8963287d7a4c5c9a432ff487c52e9c5618667179c18a204bdedb27310f022f", size = 4661146, upload-time = "2025-09-22T04:01:56.282Z" }, + { url = "https://files.pythonhosted.org/packages/25/2e/4efa677fa6b322013035d38016f6ae859d06cac67437ca7dc708a6af7028/lxml-6.0.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1941354d92699fb5ffe6ed7b32f9649e43c2feb4b97205f75866f7d21aa91452", size = 4946932, upload-time = "2025-09-22T04:01:58.989Z" }, + { url = "https://files.pythonhosted.org/packages/ce/0f/526e78a6d38d109fdbaa5049c62e1d32fdd70c75fb61c4eadf3045d3d124/lxml-6.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bb2f6ca0ae2d983ded09357b84af659c954722bbf04dea98030064996d156048", size = 5100060, upload-time = "2025-09-22T04:02:00.812Z" }, + { url = "https://files.pythonhosted.org/packages/81/76/99de58d81fa702cc0ea7edae4f4640416c2062813a00ff24bd70ac1d9c9b/lxml-6.0.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb2a12d704f180a902d7fa778c6d71f36ceb7b0d317f34cdc76a5d05aa1dd1df", size = 5019000, upload-time = "2025-09-22T04:02:02.671Z" }, + { url = "https://files.pythonhosted.org/packages/b5/35/9e57d25482bc9a9882cb0037fdb9cc18f4b79d85df94fa9d2a89562f1d25/lxml-6.0.2-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:6ec0e3f745021bfed19c456647f0298d60a24c9ff86d9d051f52b509663feeb1", size = 5348496, upload-time = "2025-09-22T04:02:04.904Z" }, + { url = "https://files.pythonhosted.org/packages/a6/8e/cb99bd0b83ccc3e8f0f528e9aa1f7a9965dfec08c617070c5db8d63a87ce/lxml-6.0.2-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:846ae9a12d54e368933b9759052d6206a9e8b250291109c48e350c1f1f49d916", size = 5643779, upload-time = "2025-09-22T04:02:06.689Z" }, + { url = "https://files.pythonhosted.org/packages/d0/34/9e591954939276bb679b73773836c6684c22e56d05980e31d52a9a8deb18/lxml-6.0.2-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ef9266d2aa545d7374938fb5c484531ef5a2ec7f2d573e62f8ce722c735685fd", size = 5244072, upload-time = "2025-09-22T04:02:08.587Z" }, + { url = "https://files.pythonhosted.org/packages/8d/27/b29ff065f9aaca443ee377aff699714fcbffb371b4fce5ac4ca759e436d5/lxml-6.0.2-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:4077b7c79f31755df33b795dc12119cb557a0106bfdab0d2c2d97bd3cf3dffa6", size = 4718675, upload-time = "2025-09-22T04:02:10.783Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9f/f756f9c2cd27caa1a6ef8c32ae47aadea697f5c2c6d07b0dae133c244fbe/lxml-6.0.2-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a7c5d5e5f1081955358533be077166ee97ed2571d6a66bdba6ec2f609a715d1a", size = 5255171, upload-time = "2025-09-22T04:02:12.631Z" }, + { url = "https://files.pythonhosted.org/packages/61/46/bb85ea42d2cb1bd8395484fd72f38e3389611aa496ac7772da9205bbda0e/lxml-6.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8f8d0cbd0674ee89863a523e6994ac25fd5be9c8486acfc3e5ccea679bad2679", size = 5057175, upload-time = "2025-09-22T04:02:14.718Z" }, + { url = "https://files.pythonhosted.org/packages/95/0c/443fc476dcc8e41577f0af70458c50fe299a97bb6b7505bb1ae09aa7f9ac/lxml-6.0.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2cbcbf6d6e924c28f04a43f3b6f6e272312a090f269eff68a2982e13e5d57659", size = 4785688, upload-time = "2025-09-22T04:02:16.957Z" }, + { url = "https://files.pythonhosted.org/packages/48/78/6ef0b359d45bb9697bc5a626e1992fa5d27aa3f8004b137b2314793b50a0/lxml-6.0.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dfb874cfa53340009af6bdd7e54ebc0d21012a60a4e65d927c2e477112e63484", size = 5660655, upload-time = "2025-09-22T04:02:18.815Z" }, + { url = "https://files.pythonhosted.org/packages/ff/ea/e1d33808f386bc1339d08c0dcada6e4712d4ed8e93fcad5f057070b7988a/lxml-6.0.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:fb8dae0b6b8b7f9e96c26fdd8121522ce5de9bb5538010870bd538683d30e9a2", size = 5247695, upload-time = "2025-09-22T04:02:20.593Z" }, + { url = "https://files.pythonhosted.org/packages/4f/47/eba75dfd8183673725255247a603b4ad606f4ae657b60c6c145b381697da/lxml-6.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:358d9adae670b63e95bc59747c72f4dc97c9ec58881d4627fe0120da0f90d314", size = 5269841, upload-time = "2025-09-22T04:02:22.489Z" }, + { url = "https://files.pythonhosted.org/packages/76/04/5c5e2b8577bc936e219becb2e98cdb1aca14a4921a12995b9d0c523502ae/lxml-6.0.2-cp313-cp313-win32.whl", hash = "sha256:e8cd2415f372e7e5a789d743d133ae474290a90b9023197fd78f32e2dc6873e2", size = 3610700, upload-time = "2025-09-22T04:02:24.465Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0a/4643ccc6bb8b143e9f9640aa54e38255f9d3b45feb2cbe7ae2ca47e8782e/lxml-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:b30d46379644fbfc3ab81f8f82ae4de55179414651f110a1514f0b1f8f6cb2d7", size = 4010347, upload-time = "2025-09-22T04:02:26.286Z" }, + { url = "https://files.pythonhosted.org/packages/31/ef/dcf1d29c3f530577f61e5fe2f1bd72929acf779953668a8a47a479ae6f26/lxml-6.0.2-cp313-cp313-win_arm64.whl", hash = "sha256:13dcecc9946dca97b11b7c40d29fba63b55ab4170d3c0cf8c0c164343b9bfdcf", size = 3671248, upload-time = "2025-09-22T04:02:27.918Z" }, + { url = "https://files.pythonhosted.org/packages/03/15/d4a377b385ab693ce97b472fe0c77c2b16ec79590e688b3ccc71fba19884/lxml-6.0.2-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:b0c732aa23de8f8aec23f4b580d1e52905ef468afb4abeafd3fec77042abb6fe", size = 8659801, upload-time = "2025-09-22T04:02:30.113Z" }, + { url = "https://files.pythonhosted.org/packages/c8/e8/c128e37589463668794d503afaeb003987373c5f94d667124ffd8078bbd9/lxml-6.0.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4468e3b83e10e0317a89a33d28f7aeba1caa4d1a6fd457d115dd4ffe90c5931d", size = 4659403, upload-time = "2025-09-22T04:02:32.119Z" }, + { url = "https://files.pythonhosted.org/packages/00/ce/74903904339decdf7da7847bb5741fc98a5451b42fc419a86c0c13d26fe2/lxml-6.0.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:abd44571493973bad4598a3be7e1d807ed45aa2adaf7ab92ab7c62609569b17d", size = 4966974, upload-time = "2025-09-22T04:02:34.155Z" }, + { url = "https://files.pythonhosted.org/packages/1f/d3/131dec79ce61c5567fecf82515bd9bc36395df42501b50f7f7f3bd065df0/lxml-6.0.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:370cd78d5855cfbffd57c422851f7d3864e6ae72d0da615fca4dad8c45d375a5", size = 5102953, upload-time = "2025-09-22T04:02:36.054Z" }, + { url = "https://files.pythonhosted.org/packages/3a/ea/a43ba9bb750d4ffdd885f2cd333572f5bb900cd2408b67fdda07e85978a0/lxml-6.0.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:901e3b4219fa04ef766885fb40fa516a71662a4c61b80c94d25336b4934b71c0", size = 5055054, upload-time = "2025-09-22T04:02:38.154Z" }, + { url = "https://files.pythonhosted.org/packages/60/23/6885b451636ae286c34628f70a7ed1fcc759f8d9ad382d132e1c8d3d9bfd/lxml-6.0.2-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:a4bf42d2e4cf52c28cc1812d62426b9503cdb0c87a6de81442626aa7d69707ba", size = 5352421, upload-time = "2025-09-22T04:02:40.413Z" }, + { url = "https://files.pythonhosted.org/packages/48/5b/fc2ddfc94ddbe3eebb8e9af6e3fd65e2feba4967f6a4e9683875c394c2d8/lxml-6.0.2-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2c7fdaa4d7c3d886a42534adec7cfac73860b89b4e5298752f60aa5984641a0", size = 5673684, upload-time = "2025-09-22T04:02:42.288Z" }, + { url = "https://files.pythonhosted.org/packages/29/9c/47293c58cc91769130fbf85531280e8cc7868f7fbb6d92f4670071b9cb3e/lxml-6.0.2-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:98a5e1660dc7de2200b00d53fa00bcd3c35a3608c305d45a7bbcaf29fa16e83d", size = 5252463, upload-time = "2025-09-22T04:02:44.165Z" }, + { url = "https://files.pythonhosted.org/packages/9b/da/ba6eceb830c762b48e711ded880d7e3e89fc6c7323e587c36540b6b23c6b/lxml-6.0.2-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:dc051506c30b609238d79eda75ee9cab3e520570ec8219844a72a46020901e37", size = 4698437, upload-time = "2025-09-22T04:02:46.524Z" }, + { url = "https://files.pythonhosted.org/packages/a5/24/7be3f82cb7990b89118d944b619e53c656c97dc89c28cfb143fdb7cd6f4d/lxml-6.0.2-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8799481bbdd212470d17513a54d568f44416db01250f49449647b5ab5b5dccb9", size = 5269890, upload-time = "2025-09-22T04:02:48.812Z" }, + { url = "https://files.pythonhosted.org/packages/1b/bd/dcfb9ea1e16c665efd7538fc5d5c34071276ce9220e234217682e7d2c4a5/lxml-6.0.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9261bb77c2dab42f3ecd9103951aeca2c40277701eb7e912c545c1b16e0e4917", size = 5097185, upload-time = "2025-09-22T04:02:50.746Z" }, + { url = "https://files.pythonhosted.org/packages/21/04/a60b0ff9314736316f28316b694bccbbabe100f8483ad83852d77fc7468e/lxml-6.0.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:65ac4a01aba353cfa6d5725b95d7aed6356ddc0a3cd734de00124d285b04b64f", size = 4745895, upload-time = "2025-09-22T04:02:52.968Z" }, + { url = "https://files.pythonhosted.org/packages/d6/bd/7d54bd1846e5a310d9c715921c5faa71cf5c0853372adf78aee70c8d7aa2/lxml-6.0.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b22a07cbb82fea98f8a2fd814f3d1811ff9ed76d0fc6abc84eb21527596e7cc8", size = 5695246, upload-time = "2025-09-22T04:02:54.798Z" }, + { url = "https://files.pythonhosted.org/packages/fd/32/5643d6ab947bc371da21323acb2a6e603cedbe71cb4c99c8254289ab6f4e/lxml-6.0.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d759cdd7f3e055d6bc8d9bec3ad905227b2e4c785dc16c372eb5b5e83123f48a", size = 5260797, upload-time = "2025-09-22T04:02:57.058Z" }, + { url = "https://files.pythonhosted.org/packages/33/da/34c1ec4cff1eea7d0b4cd44af8411806ed943141804ac9c5d565302afb78/lxml-6.0.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:945da35a48d193d27c188037a05fec5492937f66fb1958c24fc761fb9d40d43c", size = 5277404, upload-time = "2025-09-22T04:02:58.966Z" }, + { url = "https://files.pythonhosted.org/packages/82/57/4eca3e31e54dc89e2c3507e1cd411074a17565fa5ffc437c4ae0a00d439e/lxml-6.0.2-cp314-cp314-win32.whl", hash = "sha256:be3aaa60da67e6153eb15715cc2e19091af5dc75faef8b8a585aea372507384b", size = 3670072, upload-time = "2025-09-22T04:03:38.05Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e0/c96cf13eccd20c9421ba910304dae0f619724dcf1702864fd59dd386404d/lxml-6.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:fa25afbadead523f7001caf0c2382afd272c315a033a7b06336da2637d92d6ed", size = 4080617, upload-time = "2025-09-22T04:03:39.835Z" }, + { url = "https://files.pythonhosted.org/packages/d5/5d/b3f03e22b3d38d6f188ef044900a9b29b2fe0aebb94625ce9fe244011d34/lxml-6.0.2-cp314-cp314-win_arm64.whl", hash = "sha256:063eccf89df5b24e361b123e257e437f9e9878f425ee9aae3144c77faf6da6d8", size = 3754930, upload-time = "2025-09-22T04:03:41.565Z" }, + { url = "https://files.pythonhosted.org/packages/5e/5c/42c2c4c03554580708fc738d13414801f340c04c3eff90d8d2d227145275/lxml-6.0.2-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:6162a86d86893d63084faaf4ff937b3daea233e3682fb4474db07395794fa80d", size = 8910380, upload-time = "2025-09-22T04:03:01.645Z" }, + { url = "https://files.pythonhosted.org/packages/bf/4f/12df843e3e10d18d468a7557058f8d3733e8b6e12401f30b1ef29360740f/lxml-6.0.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:414aaa94e974e23a3e92e7ca5b97d10c0cf37b6481f50911032c69eeb3991bba", size = 4775632, upload-time = "2025-09-22T04:03:03.814Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0c/9dc31e6c2d0d418483cbcb469d1f5a582a1cd00a1f4081953d44051f3c50/lxml-6.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48461bd21625458dd01e14e2c38dd0aea69addc3c4f960c30d9f59d7f93be601", size = 4975171, upload-time = "2025-09-22T04:03:05.651Z" }, + { url = "https://files.pythonhosted.org/packages/e7/2b/9b870c6ca24c841bdd887504808f0417aa9d8d564114689266f19ddf29c8/lxml-6.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:25fcc59afc57d527cfc78a58f40ab4c9b8fd096a9a3f964d2781ffb6eb33f4ed", size = 5110109, upload-time = "2025-09-22T04:03:07.452Z" }, + { url = "https://files.pythonhosted.org/packages/bf/0c/4f5f2a4dd319a178912751564471355d9019e220c20d7db3fb8307ed8582/lxml-6.0.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5179c60288204e6ddde3f774a93350177e08876eaf3ab78aa3a3649d43eb7d37", size = 5041061, upload-time = "2025-09-22T04:03:09.297Z" }, + { url = "https://files.pythonhosted.org/packages/12/64/554eed290365267671fe001a20d72d14f468ae4e6acef1e179b039436967/lxml-6.0.2-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:967aab75434de148ec80597b75062d8123cadf2943fb4281f385141e18b21338", size = 5306233, upload-time = "2025-09-22T04:03:11.651Z" }, + { url = "https://files.pythonhosted.org/packages/7a/31/1d748aa275e71802ad9722df32a7a35034246b42c0ecdd8235412c3396ef/lxml-6.0.2-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d100fcc8930d697c6561156c6810ab4a508fb264c8b6779e6e61e2ed5e7558f9", size = 5604739, upload-time = "2025-09-22T04:03:13.592Z" }, + { url = "https://files.pythonhosted.org/packages/8f/41/2c11916bcac09ed561adccacceaedd2bf0e0b25b297ea92aab99fd03d0fa/lxml-6.0.2-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ca59e7e13e5981175b8b3e4ab84d7da57993eeff53c07764dcebda0d0e64ecd", size = 5225119, upload-time = "2025-09-22T04:03:15.408Z" }, + { url = "https://files.pythonhosted.org/packages/99/05/4e5c2873d8f17aa018e6afde417c80cc5d0c33be4854cce3ef5670c49367/lxml-6.0.2-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:957448ac63a42e2e49531b9d6c0fa449a1970dbc32467aaad46f11545be9af1d", size = 4633665, upload-time = "2025-09-22T04:03:17.262Z" }, + { url = "https://files.pythonhosted.org/packages/0f/c9/dcc2da1bebd6275cdc723b515f93edf548b82f36a5458cca3578bc899332/lxml-6.0.2-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b7fc49c37f1786284b12af63152fe1d0990722497e2d5817acfe7a877522f9a9", size = 5234997, upload-time = "2025-09-22T04:03:19.14Z" }, + { url = "https://files.pythonhosted.org/packages/9c/e2/5172e4e7468afca64a37b81dba152fc5d90e30f9c83c7c3213d6a02a5ce4/lxml-6.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e19e0643cc936a22e837f79d01a550678da8377d7d801a14487c10c34ee49c7e", size = 5090957, upload-time = "2025-09-22T04:03:21.436Z" }, + { url = "https://files.pythonhosted.org/packages/a5/b3/15461fd3e5cd4ddcb7938b87fc20b14ab113b92312fc97afe65cd7c85de1/lxml-6.0.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:1db01e5cf14345628e0cbe71067204db658e2fb8e51e7f33631f5f4735fefd8d", size = 4764372, upload-time = "2025-09-22T04:03:23.27Z" }, + { url = "https://files.pythonhosted.org/packages/05/33/f310b987c8bf9e61c4dd8e8035c416bd3230098f5e3cfa69fc4232de7059/lxml-6.0.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:875c6b5ab39ad5291588aed6925fac99d0097af0dd62f33c7b43736043d4a2ec", size = 5634653, upload-time = "2025-09-22T04:03:25.767Z" }, + { url = "https://files.pythonhosted.org/packages/70/ff/51c80e75e0bc9382158133bdcf4e339b5886c6ee2418b5199b3f1a61ed6d/lxml-6.0.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:cdcbed9ad19da81c480dfd6dd161886db6096083c9938ead313d94b30aadf272", size = 5233795, upload-time = "2025-09-22T04:03:27.62Z" }, + { url = "https://files.pythonhosted.org/packages/56/4d/4856e897df0d588789dd844dbed9d91782c4ef0b327f96ce53c807e13128/lxml-6.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:80dadc234ebc532e09be1975ff538d154a7fa61ea5031c03d25178855544728f", size = 5257023, upload-time = "2025-09-22T04:03:30.056Z" }, + { url = "https://files.pythonhosted.org/packages/0f/85/86766dfebfa87bea0ab78e9ff7a4b4b45225df4b4d3b8cc3c03c5cd68464/lxml-6.0.2-cp314-cp314t-win32.whl", hash = "sha256:da08e7bb297b04e893d91087df19638dc7a6bb858a954b0cc2b9f5053c922312", size = 3911420, upload-time = "2025-09-22T04:03:32.198Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1a/b248b355834c8e32614650b8008c69ffeb0ceb149c793961dd8c0b991bb3/lxml-6.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:252a22982dca42f6155125ac76d3432e548a7625d56f5a273ee78a5057216eca", size = 4406837, upload-time = "2025-09-22T04:03:34.027Z" }, + { url = "https://files.pythonhosted.org/packages/92/aa/df863bcc39c5e0946263454aba394de8a9084dbaff8ad143846b0d844739/lxml-6.0.2-cp314-cp314t-win_arm64.whl", hash = "sha256:bb4c1847b303835d89d785a18801a883436cdfd5dc3d62947f9c49e24f0f5a2c", size = 3822205, upload-time = "2025-09-22T04:03:36.249Z" }, + { url = "https://files.pythonhosted.org/packages/e7/9c/780c9a8fce3f04690b374f72f41306866b0400b9d0fdf3e17aaa37887eed/lxml-6.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:e748d4cf8fef2526bb2a589a417eba0c8674e29ffcb570ce2ceca44f1e567bf6", size = 3939264, upload-time = "2025-09-22T04:04:32.892Z" }, + { url = "https://files.pythonhosted.org/packages/f5/5a/1ab260c00adf645d8bf7dec7f920f744b032f69130c681302821d5debea6/lxml-6.0.2-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4ddb1049fa0579d0cbd00503ad8c58b9ab34d1254c77bc6a5576d96ec7853dba", size = 4216435, upload-time = "2025-09-22T04:04:34.907Z" }, + { url = "https://files.pythonhosted.org/packages/f2/37/565f3b3d7ffede22874b6d86be1a1763d00f4ea9fc5b9b6ccb11e4ec8612/lxml-6.0.2-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cb233f9c95f83707dae461b12b720c1af9c28c2d19208e1be03387222151daf5", size = 4325913, upload-time = "2025-09-22T04:04:37.205Z" }, + { url = "https://files.pythonhosted.org/packages/22/ec/f3a1b169b2fb9d03467e2e3c0c752ea30e993be440a068b125fc7dd248b0/lxml-6.0.2-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bc456d04db0515ce3320d714a1eac7a97774ff0849e7718b492d957da4631dd4", size = 4269357, upload-time = "2025-09-22T04:04:39.322Z" }, + { url = "https://files.pythonhosted.org/packages/77/a2/585a28fe3e67daa1cf2f06f34490d556d121c25d500b10082a7db96e3bcd/lxml-6.0.2-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2613e67de13d619fd283d58bda40bff0ee07739f624ffee8b13b631abf33083d", size = 4412295, upload-time = "2025-09-22T04:04:41.647Z" }, + { url = "https://files.pythonhosted.org/packages/7b/d9/a57dd8bcebd7c69386c20263830d4fa72d27e6b72a229ef7a48e88952d9a/lxml-6.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:24a8e756c982c001ca8d59e87c80c4d9dcd4d9b44a4cbeb8d9be4482c514d41d", size = 3516913, upload-time = "2025-09-22T04:04:43.602Z" }, + { url = "https://files.pythonhosted.org/packages/0b/11/29d08bc103a62c0eba8016e7ed5aeebbf1e4312e83b0b1648dd203b0e87d/lxml-6.0.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1c06035eafa8404b5cf475bb37a9f6088b0aca288d4ccc9d69389750d5543700", size = 3949829, upload-time = "2025-09-22T04:04:45.608Z" }, + { url = "https://files.pythonhosted.org/packages/12/b3/52ab9a3b31e5ab8238da241baa19eec44d2ab426532441ee607165aebb52/lxml-6.0.2-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c7d13103045de1bdd6fe5d61802565f1a3537d70cd3abf596aa0af62761921ee", size = 4226277, upload-time = "2025-09-22T04:04:47.754Z" }, + { url = "https://files.pythonhosted.org/packages/a0/33/1eaf780c1baad88224611df13b1c2a9dfa460b526cacfe769103ff50d845/lxml-6.0.2-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a3c150a95fbe5ac91de323aa756219ef9cf7fde5a3f00e2281e30f33fa5fa4f", size = 4330433, upload-time = "2025-09-22T04:04:49.907Z" }, + { url = "https://files.pythonhosted.org/packages/7a/c1/27428a2ff348e994ab4f8777d3a0ad510b6b92d37718e5887d2da99952a2/lxml-6.0.2-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60fa43be34f78bebb27812ed90f1925ec99560b0fa1decdb7d12b84d857d31e9", size = 4272119, upload-time = "2025-09-22T04:04:51.801Z" }, + { url = "https://files.pythonhosted.org/packages/f0/d0/3020fa12bcec4ab62f97aab026d57c2f0cfd480a558758d9ca233bb6a79d/lxml-6.0.2-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:21c73b476d3cfe836be731225ec3421fa2f048d84f6df6a8e70433dff1376d5a", size = 4417314, upload-time = "2025-09-22T04:04:55.024Z" }, + { url = "https://files.pythonhosted.org/packages/6c/77/d7f491cbc05303ac6801651aabeb262d43f319288c1ea96c66b1d2692ff3/lxml-6.0.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:27220da5be049e936c3aca06f174e8827ca6445a4353a1995584311487fc4e3e", size = 3518768, upload-time = "2025-09-22T04:04:57.097Z" }, +] + [[package]] name = "markdown-it-py" version = "4.0.0" @@ -260,6 +384,8 @@ dependencies = [ { name = "piexif" }, { name = "pillow" }, { name = "pypdf" }, + { name = "python-docx" }, + { name = "python-pptx" }, { name = "rich" }, { name = "typer" }, ] @@ -281,6 +407,8 @@ requires-dist = [ { name = "pypdf", specifier = ">=6.5.0" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.0.0" }, { name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=6.0.0" }, + { name = "python-docx", specifier = ">=1.2.0" }, + { name = "python-pptx", specifier = ">=1.0.2" }, { name = "rich", specifier = ">=14.0.0" }, { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.14.0" }, { name = "typer", specifier = ">=0.21.0" }, @@ -541,6 +669,34 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl", hash = "sha256:3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861", size = 22424, upload-time = "2025-09-09T10:57:00.695Z" }, ] +[[package]] +name = "python-docx" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lxml" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/f7/eddfe33871520adab45aaa1a71f0402a2252050c14c7e3009446c8f4701c/python_docx-1.2.0.tar.gz", hash = "sha256:7bc9d7b7d8a69c9c02ca09216118c86552704edc23bac179283f2e38f86220ce", size = 5723256, upload-time = "2025-06-16T20:46:27.921Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/00/1e03a4989fa5795da308cd774f05b704ace555a70f9bf9d3be057b680bcf/python_docx-1.2.0-py3-none-any.whl", hash = "sha256:3fd478f3250fbbbfd3b94fe1e985955737c145627498896a8a6bf81f4baf66c7", size = 252987, upload-time = "2025-06-16T20:46:22.506Z" }, +] + +[[package]] +name = "python-pptx" +version = "1.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lxml" }, + { name = "pillow" }, + { name = "typing-extensions" }, + { name = "xlsxwriter" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/52/a9/0c0db8d37b2b8a645666f7fd8accea4c6224e013c42b1d5c17c93590cd06/python_pptx-1.0.2.tar.gz", hash = "sha256:479a8af0eaf0f0d76b6f00b0887732874ad2e3188230315290cd1f9dd9cc7095", size = 10109297, upload-time = "2024-08-07T17:33:37.772Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/4f/00be2196329ebbff56ce564aa94efb0fbc828d00de250b1980de1a34ab49/python_pptx-1.0.2-py3-none-any.whl", hash = "sha256:160838e0b8565a8b1f67947675886e9fea18aa5e795db7ae531606d68e785cba", size = 472788, upload-time = "2024-08-07T17:33:28.192Z" }, +] + [[package]] name = "rich" version = "14.2.0" @@ -661,3 +817,12 @@ sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac8 wheels = [ { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, ] + +[[package]] +name = "xlsxwriter" +version = "3.2.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/46/2c/c06ef49dc36e7954e55b802a8b231770d286a9758b3d936bd1e04ce5ba88/xlsxwriter-3.2.9.tar.gz", hash = "sha256:254b1c37a368c444eac6e2f867405cc9e461b0ed97a3233b2ac1e574efb4140c", size = 215940, upload-time = "2025-09-16T00:16:21.63Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/0c/3662f4a66880196a590b202f0db82d919dd2f89e99a27fadef91c4a33d41/xlsxwriter-3.2.9-py3-none-any.whl", hash = "sha256:9a5db42bc5dff014806c58a20b9eae7322a134abb6fce3c92c181bfb275ec5b3", size = 175315, upload-time = "2025-09-16T00:16:20.108Z" }, +] From 0bbfe84fd1f5c9b3a2912a25e91f1530d88629f9 Mon Sep 17 00:00:00 2001 From: HERITAGE-XION Date: Sat, 10 Jan 2026 13:51:50 +0100 Subject: [PATCH 25/38] metadata-scrubber-tool: added handler for docx files, add comprehensive tests --- pyproject.toml | 11 + src/services/metadata_factory.py | 7 +- src/services/worddoc_handler.py | 165 +++++++++++++++ tests/assets/test_docx/file-sample_1MB.docx | Bin 0 -> 1026736 bytes tests/assets/test_docx/file-sample_500kB.docx | Bin 0 -> 551820 bytes tests/conftest.py | 32 +++ tests/e2e/test_read_command.py | 26 +++ tests/e2e/test_scrub_command.py | 67 ++++++ tests/integration/test_metadata_factory.py | 59 ++++++ tests/unit/test_worddoc_handler.py | 195 ++++++++++++++++++ 10 files changed, 559 insertions(+), 3 deletions(-) create mode 100644 src/services/worddoc_handler.py create mode 100644 tests/assets/test_docx/file-sample_1MB.docx create mode 100644 tests/assets/test_docx/file-sample_500kB.docx create mode 100644 tests/unit/test_worddoc_handler.py diff --git a/pyproject.toml b/pyproject.toml index dbb88f36..212485c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -85,3 +85,14 @@ ignore_errors = true [[tool.mypy.overrides]] module = "src.services.powerpoint_handler" ignore_errors = true + +# docx library doesn't have type stubs +[[tool.mypy.overrides]] +module = "docx.*" +ignore_missing_imports = true +ignore_errors = true + +[[tool.mypy.overrides]] +module = "src.services.worddoc_handler" +ignore_errors = true + diff --git a/src/services/metadata_factory.py b/src/services/metadata_factory.py index 6550c6a6..6fdb8992 100644 --- a/src/services/metadata_factory.py +++ b/src/services/metadata_factory.py @@ -12,6 +12,7 @@ from src.services.excel_handler import ExcelHandler from src.services.image_handler import ImageHandler from src.services.pdf_handler import PDFHandler from src.services.powerpoint_handler import PowerpointHandler +from src.services.worddoc_handler import WorddocHandler from src.utils.exceptions import UnsupportedFormatError @@ -43,7 +44,7 @@ class MetadataFactory: UnsupportedFormatError: If no handler is defined for the file type. ValueError: If the path is not a valid file. """ - supported_extensions = ".jpg, .jpeg, .png" + supported_extensions = ".jpg, .jpeg, .png .docx .xlsx .pptx" ext = Path(filepath).suffix.lower() if Path(filepath).is_file(): if ext in [".jpg", ".jpeg", ".png"]: @@ -54,8 +55,8 @@ class MetadataFactory: return ExcelHandler(filepath) elif ext in [".pptx", ".pptm", ".potx", ".potm"]: return PowerpointHandler(filepath) - - # TODO: implement other handlers + elif ext == ".docx": + return WorddocHandler(filepath) else: raise UnsupportedFormatError( f"No handler defined for {ext} files. we curently only support {supported_extensions} files." diff --git a/src/services/worddoc_handler.py b/src/services/worddoc_handler.py new file mode 100644 index 00000000..8118fec0 --- /dev/null +++ b/src/services/worddoc_handler.py @@ -0,0 +1,165 @@ +""" +Word document metadata handler for .docx files. + +This module provides the WorddocHandler class which implements the MetadataHandler +interface for Word document files (.docx). Uses python-docx for reading and writing +document properties. + +Note: + Does not support password-protected/encrypted documents. +""" + +import shutil +from pathlib import Path +from typing import Any + +from docx import Document # type: ignore[import-untyped] + +from src.services.metadata_handler import MetadataHandler +from src.utils.exceptions import MetadataNotFoundError, UnsupportedFormatError + +# Supported Word document formats +FORMAT_MAP = { + "docx": "docx", +} + +# Properties to preserve (not deleted during wipe) +PRESERVED_PROPERTIES = {"created", "modified", "language", "last_printed", "revision"} + +# Core properties available in Word documents +CORE_PROPERTIES = [ + "author", + "category", + "comments", + "content_status", + "created", + "identifier", + "keywords", + "language", + "last_modified_by", + "last_printed", + "modified", + "revision", + "subject", + "title", + "version", +] + + +class WorddocHandler(MetadataHandler): + """ + Word document metadata handler for .docx files. + + Handles extraction and removal of document properties from Word documents + including author, title, subject, keywords, and other core properties. + + Attributes: + keys_to_delete: List of property names to be wiped. + """ + + def __init__(self, filepath: str): + """ + Initialize the Word document handler. + + Args: + filepath: Path to the Word document file to process. + """ + super().__init__(filepath) + self.keys_to_delete: list[str] = [] + + def _detect_format(self) -> str: + """ + Detect Word document format from file extension. + + Returns: + Normalized format string ('docx'). + + Raises: + UnsupportedFormatError: If file extension is not a supported Word format. + """ + ext = Path(self.filepath).suffix.lower() + normalised = FORMAT_MAP.get(ext[1:]) # Remove leading dot + if normalised is None: + raise UnsupportedFormatError(f"Unsupported format: {ext}") + + return normalised + + def read(self) -> dict[str, Any]: + """ + Extract metadata properties from the Word document. + + Reads all document properties and identifies which properties + should be wiped (excludes created, modified, language, etc.). + + Returns: + Dictionary of property names to their values. + + Raises: + MetadataNotFoundError: If no properties are found. + """ + doc = Document(str(Path(self.filepath))) + try: + if doc.core_properties is None: + raise MetadataNotFoundError("No metadata found in the file.") + + for attr in CORE_PROPERTIES: + if hasattr(doc.core_properties, attr): + self.metadata[attr] = getattr(doc.core_properties, attr) + if attr not in PRESERVED_PROPERTIES: + self.keys_to_delete.append(attr) + + return self.metadata + finally: + del doc + + def wipe(self) -> None: + """ + Remove metadata properties from the Word document. + + Clears all properties identified during read() except for + preserved properties (created, modified, language, etc.). + + Raises: + MetadataNotFoundError: If no properties are found. + """ + doc = Document(str(Path(self.filepath))) + try: + if doc.core_properties is None: + raise MetadataNotFoundError("No metadata found in the file.") + + # Clear each property marked for deletion + for attr in self.keys_to_delete: + self.processed_metadata[attr] = None + + finally: + del doc + + def save(self, output_path: str | None = None) -> None: + """ + Save the document with cleaned metadata to the output path. + + Creates a copy of the original file and applies the wiped + metadata properties to it. + + Args: + output_path: Path where the cleaned file should be saved. + + Raises: + ValueError: If output_path is None or empty. + """ + if not output_path: + raise ValueError("output_path is required") + + destination_file_path = Path(output_path) + shutil.copy2(self.filepath, destination_file_path) + + doc = Document(str(Path(destination_file_path))) + try: + # Apply wiped properties + for attr in self.processed_metadata: + if hasattr(doc.core_properties, attr): + setattr(doc.core_properties, attr, self.processed_metadata[attr]) + + doc.save(str(destination_file_path)) + finally: + del doc diff --git a/tests/assets/test_docx/file-sample_1MB.docx b/tests/assets/test_docx/file-sample_1MB.docx new file mode 100644 index 0000000000000000000000000000000000000000..b36cfed5323299cc02cef08271e496a4b539688d GIT binary patch literal 1026736 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 lQllH`bz8YP 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%0DKhHx%f!jc(r52`-OY9P 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

bsoHwVTS!f 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

qPS);D0pm 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%0AFmRt@>odyP31aOuPg`dj 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