Support tagging more formats

This commit is contained in:
7x11x13 2024-07-09 13:55:50 -04:00
parent 51bd01986a
commit 9cf3b3a9be

View File

@ -3,7 +3,18 @@ from dataclasses import dataclass
from functools import singledispatch from functools import singledispatch
from typing import Optional, Union from typing import Optional, Union
from mutagen import FileType, flac, id3, mp3, mp4, oggopus, wave from mutagen import (
FileType,
aiff,
flac,
id3,
mp3,
mp4,
oggopus,
oggspeex,
oggtheora,
wave,
)
JPEG_MIME_TYPE: str = "image/jpeg" JPEG_MIME_TYPE: str = "image/jpeg"
@ -85,6 +96,8 @@ def _(file: flac.FLAC, meta: MetadataInfo) -> None:
file.add_picture(_get_flac_pic(meta.artwork_jpeg)) file.add_picture(_get_flac_pic(meta.artwork_jpeg))
@assemble_metadata.register(oggtheora.OggTheora)
@assemble_metadata.register(oggspeex.OggSpeex)
@assemble_metadata.register(oggopus.OggOpus) @assemble_metadata.register(oggopus.OggOpus)
def _(file: oggopus.OggOpus, meta: MetadataInfo) -> None: def _(file: oggopus.OggOpus, meta: MetadataInfo) -> None:
_assemble_vorbis_tags(file, meta) _assemble_vorbis_tags(file, meta)
@ -94,6 +107,7 @@ def _(file: oggopus.OggOpus, meta: MetadataInfo) -> None:
file["metadata_block_picture"] = b64encode(pic).decode() file["metadata_block_picture"] = b64encode(pic).decode()
@assemble_metadata.register(aiff.AIFF)
@assemble_metadata.register(mp3.MP3) @assemble_metadata.register(mp3.MP3)
@assemble_metadata.register(wave.WAVE) @assemble_metadata.register(wave.WAVE)
def _(file: Union[wave.WAVE, mp3.MP3], meta: MetadataInfo) -> None: def _(file: Union[wave.WAVE, mp3.MP3], meta: MetadataInfo) -> None: