Source code for transparentmeta.use_case.read.mp3_metadata_reader
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright (c) 2025 Transparent Audio
# Author: Valerio Velardo - valerio@transparentaudio.ai
"""
This module provides an `MP3MetadataReader` class that reads transparency
metadata and a digital signature from MP3 files using Mutagen's ID3 tagging
system.
"""
from pathlib import Path
from mutagen.id3 import ID3
from mutagen.mp3 import MP3
from transparentmeta.use_case.read.metadata_reader import MetadataReader
[docs]
class MP3MetadataReader(MetadataReader):
"""Reads transparency metadata and a digital signature from MP3 files.
This class loads an MP3 file and retrieves values from custom ID3 TXXX
fields, providing consistent access to signed metadata.
"""
def _load_audio(self, filepath: Path) -> MP3:
"""Loads the MP3 file and returns an object that supports ID3 tags.
Args:
filepath (Path): The path to the MP3 file.
Returns:
MP3: A Mutagen MP3 object with ID3 tag support.
"""
return MP3(filepath, ID3=ID3)