Merge pull request #3 from kristy-fournier/dev

Update mode working again
This commit is contained in:
Kristy Fournier 2025-03-10 10:33:05 -04:00 committed by GitHub
commit 3bb92bfc73
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -23,25 +23,31 @@ else:
# apikeylastfm = "KeyHere" # apikeylastfm = "KeyHere"
# soundLocation = "directoryHere" # soundLocation = "directoryHere"
songFiles = os.listdir(soundLocation) songFiles = os.listdir(soundLocation)
if args.mode == "update": if args.mode.lower() == "update":
try: try:
with open('songDatabase.json', 'r') as handle: with open('songDatabase.json', 'r') as handle:
songDatabaseList = json.load(handle) songDatabaseList = json.load(handle)
except: except:
songDatabaseList={"songDirectory":soundLocation,'songData':{}} songDatabaseList={"songDirectory":soundLocation,'songData':{}}
deleteySongs = []
for i in songDatabaseList["songData"]: for i in songDatabaseList["songData"]:
try: try:
songFiles.index(i) != -1 if songFiles.index(i) == -1:
deleteySongs.append(i)
except: except:
print("deleted: " + i + " from database") deleteySongs.append(i)
songDatabaseList.remove(i) if deleteySongs:
print("deleted: " + ", ".join(deleteySongs)+ " from database")
for i in deleteySongs:
songDatabaseList["songData"].pop(i)
for i in songDatabaseList["songData"]: for i in songDatabaseList["songData"]:
songFiles.remove(i) songFiles.remove(i)
print("new songs: " + str(songFiles)) print("new songs: " + ", ".join(songFiles))
elif args.mode=="new": elif args.mode.lower()=="new":
songDatabaseList={"songDirectory":soundLocation,'songData':{}} songDatabaseList={"songDirectory":soundLocation,'songData':{}}
if args.art.lower() == "true": else:
raise ValueError("Must be \"new\" or \"update\"")
if args.art.lower() == "true" and not(args.apikey == ""):
x = len(songFiles)*0.25 x = len(songFiles)*0.25
if x > 60: if x > 60:
print("ETA "+ str(x/60) + " minutes") print("ETA "+ str(x/60) + " minutes")
@ -49,6 +55,9 @@ if args.art.lower() == "true":
print("ETA "+ str(x) + " seconds") print("ETA "+ str(x) + " seconds")
for i in songFiles: for i in songFiles:
if i[-4].lower() != ".mp3":
# skip any non-mp3's (like directories or cover art)
continue
try: try:
# get the metadata # get the metadata
song = EasyID3(soundLocation+i) song = EasyID3(soundLocation+i)