Compare commits

..

No commits in common. "4d83b238e4ffacd546022a1ec839b5cc7e52d419" and "4865506dd3424a99e9ff965992ed442380d9f855" have entirely different histories.

3 changed files with 18 additions and 14 deletions

View file

@ -5,6 +5,18 @@ from yt_dlp.postprocessor import PostProcessor
ENC_UTF8 = 3
def add_tags(file: mp3.MP3, info: dict[str, str | int]) -> None:
file['TIT2'] = id3.TIT2(encoding=ENC_UTF8, text=info['track'])
file['TPE1'] = id3.TPE1(encoding=ENC_UTF8, text=info['artist'])
if 'album' in info:
file['TALB'] = id3.TALB(encoding=ENC_UTF8, text=info['album'])
if 'release_year' in info:
file['TDRC'] = id3.TDRC(encoding=ENC_UTF8, text=str(info['release_year']))
if 'track_number' in info:
file['TRCK'] = id3.TRCK(encoding=ENC_UTF8, text=str(info['track_number']))
class InfoYouTubePP(PostProcessor):
'''Generates YT Music fields in info if necessary.
Must be run before downloading and post-processing with
@ -36,23 +48,15 @@ class InfoYouTubePP(PostProcessor):
return [], information
class ID3TagsPP(PostProcessor):
'''Inserts ID3 tags after all PPs (for YT: InfoYouTubePP and FFmpegExtractAudioPP),
class ID3YouTubePP(PostProcessor):
'''Inserts ID3 tags after InfoYouTubePP and FFmpegExtractAudioPP,
triggers searching and parsing lyrics from Genius'''
def run(self, information):
file = mp3.MP3(information['filepath'])
file['TIT2'] = id3.TIT2(encoding=ENC_UTF8, text=information['track'])
file['TPE1'] = id3.TPE1(encoding=ENC_UTF8, text=information['artist'])
if 'album' in information:
file['TALB'] = id3.TALB(encoding=ENC_UTF8, text=information['album'])
if 'release_year' in information:
file['TDRC'] = id3.TDRC(encoding=ENC_UTF8, text=str(information['release_year']))
if 'track_number' in information:
file['TRCK'] = id3.TRCK(encoding=ENC_UTF8, text=str(information['track_number']))
# TODO: lyrics file["USLT"]
add_tags(
mp3.MP3(information['filepath']),
information,
)
return [], information