Set year tag properly
This commit is contained in:
@@ -5,7 +5,7 @@ from mutagen.mp3 import MP3
|
|||||||
from mutagen.id3 import ID3
|
from mutagen.id3 import ID3
|
||||||
from mutagen.wave import WAVE
|
from mutagen.wave import WAVE
|
||||||
from mutagen.oggvorbis import OggVorbis
|
from mutagen.oggvorbis import OggVorbis
|
||||||
from mutagen.id3 import ID3, TIT2, TALB, TPE1, TPE2, COMM, TCOM, TCON, TDRC, TRCK, TPUB, POPM, APIC
|
from mutagen.id3 import ID3, TIT2, TALB, TPE1, TPE2, COMM, TCOM, TCON, TDRC, TDRL, TRCK, TPUB, POPM, APIC
|
||||||
from mutagen.easyid3 import EasyID3
|
from mutagen.easyid3 import EasyID3
|
||||||
import os
|
import os
|
||||||
from os import listdir
|
from os import listdir
|
||||||
@@ -102,6 +102,10 @@ def search_google_images_and_save(x: str, audio):
|
|||||||
else:
|
else:
|
||||||
artist_val = str(audio.get("TPE2", audio.get("TPE1", "Unknown Artist")))
|
artist_val = str(audio.get("TPE2", audio.get("TPE1", "Unknown Artist")))
|
||||||
album_val = str(audio.get("TALB", "Unknown Album"))
|
album_val = str(audio.get("TALB", "Unknown Album"))
|
||||||
|
# Skip Google search if artist or album is unknown
|
||||||
|
if "Unknown Artist" in artist_val or "Unknown Album" in album_val:
|
||||||
|
logging.info("Artist or album is unknown, skipping Google image search")
|
||||||
|
else:
|
||||||
google_keyword = artist_val + " " + album_val + " album"
|
google_keyword = artist_val + " " + album_val + " album"
|
||||||
logging.info("Moved file! Now searching for album art... keyword is " + google_keyword)
|
logging.info("Moved file! Now searching for album art... keyword is " + google_keyword)
|
||||||
google_Crawler = GoogleImageCrawler(storage = {'root_dir': songpath})
|
google_Crawler = GoogleImageCrawler(storage = {'root_dir': songpath})
|
||||||
@@ -129,7 +133,13 @@ def search_google_images_and_save(x: str, audio):
|
|||||||
songpath = join(".",str(audio.get("TPE2", "Unknown Artist")),str(audio.get("TIT2", "Unknown Title")))
|
songpath = join(".",str(audio.get("TPE2", "Unknown Artist")),str(audio.get("TIT2", "Unknown Title")))
|
||||||
make_folder(songpath)
|
make_folder(songpath)
|
||||||
os.replace(join(".",x),join(songpath,x))
|
os.replace(join(".",x),join(songpath,x))
|
||||||
song_keyword = str(audio.get("TPE2", "Unknown Artist")) + " " + str(audio.get("TIT2", "Unknown Title"))
|
artist_keyword = str(audio.get("TPE2", "Unknown Artist"))
|
||||||
|
title_keyword = str(audio.get("TIT2", "Unknown Title"))
|
||||||
|
# Skip Google search if artist or title is unknown
|
||||||
|
if "Unknown Artist" in artist_keyword or "Unknown Title" in title_keyword:
|
||||||
|
logging.info("Artist or title is unknown, skipping Google image search")
|
||||||
|
else:
|
||||||
|
song_keyword = artist_keyword + " " + title_keyword
|
||||||
logging.info("Moved file! Now searching for album art... keyword is " + song_keyword)
|
logging.info("Moved file! Now searching for album art... keyword is " + song_keyword)
|
||||||
google_Crawler = GoogleImageCrawler(storage = {'root_dir': songpath})
|
google_Crawler = GoogleImageCrawler(storage = {'root_dir': songpath})
|
||||||
try:
|
try:
|
||||||
@@ -176,6 +186,11 @@ def create_ID3_tag(audio, tagname: str, textvalue: str):
|
|||||||
audio[tagname] = TDRC(encoding=3,text=textvalue)
|
audio[tagname] = TDRC(encoding=3,text=textvalue)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
elif tagname == "TDRL":
|
||||||
|
try:
|
||||||
|
audio[tagname] = TDRL(encoding=3,text=textvalue)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
elif tagname == "TPUB":
|
elif tagname == "TPUB":
|
||||||
audio[tagname] = TPUB(encoding=3,text=textvalue)
|
audio[tagname] = TPUB(encoding=3,text=textvalue)
|
||||||
|
|
||||||
@@ -440,10 +455,24 @@ def check_spotify_album_and_save(spotify, audio,x: str) -> bool:
|
|||||||
elif (str(audio["TALB"]) != album_name):
|
elif (str(audio["TALB"]) != album_name):
|
||||||
audio["TALB"] = TALB(encoding=3,text=album_name)
|
audio["TALB"] = TALB(encoding=3,text=album_name)
|
||||||
|
|
||||||
|
# Parse release date to extract year
|
||||||
|
try:
|
||||||
|
year = str(datetime.strptime(album["release_date"], '%Y-%m-%d').year)
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
year = str(datetime.strptime(album["release_date"], '%Y-%m').year)
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
year = str(datetime.strptime(album["release_date"], '%Y').year)
|
||||||
|
except:
|
||||||
|
year = str(album["release_date"])
|
||||||
|
|
||||||
if (x.endswith(".flac")):
|
if (x.endswith(".flac")):
|
||||||
audio["year"] = album["release_date"]
|
audio["year"] = year
|
||||||
|
audio["date"] = album["release_date"]
|
||||||
else:
|
else:
|
||||||
audio["TDRC"] = TDRC(encoding=3,text=album["release_date"])
|
audio["TDRC"] = TDRC(encoding=3,text=year)
|
||||||
|
audio["TDRL"] = TDRL(encoding=3,text=album["release_date"])
|
||||||
|
|
||||||
artist_search = spotify.artist(album['artists'][0]['external_urls']['spotify'])
|
artist_search = spotify.artist(album['artists'][0]['external_urls']['spotify'])
|
||||||
logging.info("genres: " + str(artist_search['genres']))
|
logging.info("genres: " + str(artist_search['genres']))
|
||||||
@@ -593,18 +622,25 @@ def check_spotify_and_save(spotify, audio,x: str) -> bool:
|
|||||||
else:
|
else:
|
||||||
audio["COMM"] = COMM(encoding=3,text=comment)
|
audio["COMM"] = COMM(encoding=3,text=comment)
|
||||||
|
|
||||||
|
# Parse release date to extract year
|
||||||
try:
|
try:
|
||||||
year = str(datetime.strptime(album["release_date"], '%Y-%m-%d').year)
|
year = str(datetime.strptime(album["release_date"], '%Y-%m-%d').year)
|
||||||
|
except:
|
||||||
if x.endswith(".flac"):
|
try:
|
||||||
audio["year"] = year
|
year = str(datetime.strptime(album["release_date"], '%Y-%m').year)
|
||||||
else:
|
except:
|
||||||
audio["TDRC"] = TDRC(encoding=3,text=year)
|
try:
|
||||||
|
year = str(datetime.strptime(album["release_date"], '%Y').year)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
logging.info(err)
|
logging.info(err)
|
||||||
year = str(album["release_date"])
|
year = str(album["release_date"])
|
||||||
|
|
||||||
|
if x.endswith(".flac"):
|
||||||
audio["year"] = year
|
audio["year"] = year
|
||||||
|
audio["date"] = album["release_date"]
|
||||||
|
else:
|
||||||
|
audio["TDRC"] = TDRC(encoding=3,text=year)
|
||||||
|
audio["TDRL"] = TDRL(encoding=3,text=album["release_date"])
|
||||||
|
|
||||||
|
|
||||||
if x.endswith(".flac"):
|
if x.endswith(".flac"):
|
||||||
|
|||||||
Reference in New Issue
Block a user