Implemented custom casing and refactored some code
This commit is contained in:
@ -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('?')]
|
||||
|
@ -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']))
|
||||
|
@ -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:
|
||||
|
Reference in New Issue
Block a user