Implemented custom casing and refactored some code

This commit is contained in:
RemixDev
2020-03-30 11:59:18 +02:00
parent 157fbcc169
commit d14be6ad46
7 changed files with 79 additions and 51 deletions

View File

@ -18,6 +18,25 @@ def getBitrateInt(txt):
else:
return None
def changeCase(string, type):
if type == "lower":
return string.lower()
elif type == "upper":
return string.upper()
elif type == "start":
string = string.split(" ")
res = []
for index, value in enumerate(string):
res.append(value[0].upper() + value[0:].lower())
})
res = " ".join(res)
return res
elif type == "sentence":
res = string[0].upper() + string[0:].lower()
return res
else:
return string
def getIDFromLink(link, type):
if '?' in link:
link = link[:link.find('?')]

View File

@ -29,12 +29,12 @@ def fixLongName(name):
name = name[:200]
return name
def antiDot(str):
while str[-1:] == "." or str[-1:] == " " or str[-1:] == "\n":
str = str[:-1]
if len(str) < 1:
str = "dot"
return str
def antiDot(string):
while string[-1:] == "." or string[-1:] == " " or string[-1:] == "\n":
string = string[:-1]
if len(string) < 1:
string = "dot"
return string
def pad(num, max, dopad=True):
paddingsize = len(str(max))
@ -97,6 +97,7 @@ def generateFilepath(track, trackAPI, settings):
def settingsRegex(filename, track, settings, playlist=None):
filename = filename.replace("%title%", fixName(track['title'], settings['illegalCharacterReplacer']))
filename = filename.replace("%artist%", fixName(track['mainArtist']['name'], settings['illegalCharacterReplacer']))
filename = filename.replace("%artists%", fixName(track['artistString'], settings['illegalCharacterReplacer']))
filename = filename.replace("%album%", fixName(track['album']['title'], settings['illegalCharacterReplacer']))
filename = filename.replace("%albumartist%", fixName(track['album']['mainArtist']['name'], settings['illegalCharacterReplacer']))
filename = filename.replace("%tracknumber%", pad(track['trackNumber'], track['album']['trackTotal'] if int(settings['paddingSize']) == 0 else 10 ** (int(settings['paddingSize'])-1), settings['padTracks']))

View File

@ -4,7 +4,7 @@ from mutagen.id3 import ID3, ID3NoHeaderError, TXXX, TIT2, TPE1, TALB, TPE2, TRC
TPUB, TSRC, USLT, APIC, IPLS, TCOM, TCOP
def tagID3(stream, track, save, id3v1=False, nullSeparator=True):
def tagID3(stream, track, save):
try:
tag = ID3(stream)
except ID3NoHeaderError:
@ -13,7 +13,7 @@ def tagID3(stream, track, save, id3v1=False, nullSeparator=True):
if save['title']:
tag.add(TIT2(text=track['title']))
if save['artist']:
if 'artistsString' in track:
if save['multitagSeparator'] != "default":
tag.add(TPE1(text=track['artistsString']))
tag.add(TXXX(desc="ARTISTS", text=track['artists']))
else:
@ -62,7 +62,7 @@ def tagID3(stream, track, save, id3v1=False, nullSeparator=True):
with open(track['album']['picPath'], 'rb') as f:
tag.add(APIC(3, 'image/jpeg' if track['album']['picPath'].endswith('jpg') else 'image/png', 3, data=f.read()))
tag.save(stream, v1=2 if id3v1 else 0, v2_version=3, v23_sep=None if nullSeparator else '/')
tag.save(stream, v1=2 if save['saveID3v1'] else 0, v2_version=3, v23_sep=None if save['useNullSeparator'] else ' / ')
def tagFLAC(stream, track, save):
@ -71,7 +71,7 @@ def tagFLAC(stream, track, save):
if save['title']:
tag["TITLE"] = track['title']
if save['artist']:
if 'artistsString' in track:
if save['multitagSeparator'] != "default":
tag["ARTIST"] = track['artistsString']
tag["ARTISTS"] = track['artists']
else: