#!/usr/bin/env python3 import re import mutagen from mutagen.flac import FLAC from mutagen.mp3 import MP3 # noinspection PyProtectedMember from mutagen.id3 import ID3Tags # noinspection PyProtectedMember from mutagen.mp4 import Tags from mutagen.oggvorbis import OggVorbis from typing import Dict, List, Union format_lookup: Dict[str, str] = { "mp3": "id3", "m4a": "m4a", "ogg": "vorbis", "flac": "vorbis", "wav": "id3", "aiff": "id3" } fully_supported: List[str] = ["ogg", "flac", "mp3", "m4a", "wav", "aiff"] MutagenFile = Union[MP3, FLAC, OggVorbis, mutagen.FileType] MutagenTags = Union[ID3Tags, Tags, mutagen.oggvorbis.OggVCommentDict] sanitisation_regex = re.compile(r"[?\\/:|*\"<>]")