hf fix tmdb filename filters

main
Maveno 11 months ago
parent 3672474ff5
commit 222234f978

@ -653,7 +653,7 @@ def convert(ctx,
ctx.obj['logger'].debug(f"tmdbEpisodeResult={tmdbEpisodeResult}") ctx.obj['logger'].debug(f"tmdbEpisodeResult={tmdbEpisodeResult}")
if tmdbEpisodeResult: if tmdbEpisodeResult:
substitutedEpisodeName = substituteTmdbFilename(filterFilename(tmdbEpisodeResult['name'])) substitutedEpisodeName = filterFilename(substituteTmdbFilename(tmdbEpisodeResult['name']))
sourceFileBasename = getEpisodeFileBasename(showFilenamePrefix, sourceFileBasename = getEpisodeFileBasename(showFilenamePrefix,
substitutedEpisodeName, substitutedEpisodeName,
shiftedShowSeason, shiftedShowSeason,

@ -78,6 +78,7 @@ def filterFilename(fileName: str) -> str:
"""This filter replaces charactes from TMDB responses with characters """This filter replaces charactes from TMDB responses with characters
less problemating when using in filenames or removes them""" less problemating when using in filenames or removes them"""
fileName = str(fileName).replace('/', '-')
fileName = str(fileName).replace(':', ';') fileName = str(fileName).replace(':', ';')
fileName = str(fileName).replace('*', '') fileName = str(fileName).replace('*', '')
fileName = str(fileName).replace("'", '') fileName = str(fileName).replace("'", '')
@ -86,17 +87,20 @@ def filterFilename(fileName: str) -> str:
return fileName.strip() return fileName.strip()
def substituteTmdbFilename(fileName: str) -> str: def substituteTmdbFilename(fileName: str) -> str:
"""If chaining this method with filterFilename use this one first as the latter will destroy some patterns"""
# This appears in TMDB episode names # This indicates filler episodes in TMDB episode names
fileName = str(fileName).replace(' (*)', '') fileName = str(fileName).replace(' (*)', '')
fileName = str(fileName).replace('(*)', '') fileName = str(fileName).replace('(*)', '')
# This indicates the index of multi-episode files
episodePartMatch = re.search("\\(([0-9]+)\\)$", fileName) episodePartMatch = re.search("\\(([0-9]+)\\)$", fileName)
if episodePartMatch is not None: if episodePartMatch is not None:
partSuffix = str(episodePartMatch.group(0)) partSuffix = str(episodePartMatch.group(0))
partIndex = episodePartMatch.groups()[0] partIndex = episodePartMatch.groups()[0]
fileName = str(fileName).replace(partSuffix, f"Teil {partIndex}") fileName = str(fileName).replace(partSuffix, f"Teil {partIndex}")
# Also multi-episodes with first and last episode index
episodePartMatch = re.search("\\(([0-9]+)[-\\/]([0-9]+)\\)$", fileName) episodePartMatch = re.search("\\(([0-9]+)[-\\/]([0-9]+)\\)$", fileName)
if episodePartMatch is not None: if episodePartMatch is not None:
partSuffix = str(episodePartMatch.group(0)) partSuffix = str(episodePartMatch.group(0))

Loading…
Cancel
Save