feat: improved cleanup of song title
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Hellow 2024-04-26 00:23:04 +02:00
parent 90a352153d
commit a015b8918e
3 changed files with 12 additions and 4 deletions

View File

@ -161,3 +161,8 @@ class Collection(Generic[T]):
def __getitem__(self, item: int): def __getitem__(self, item: int):
return self._data[item] return self._data[item]
def get(self, item: int, default = None):
if item >= len(self._data):
return default
return self._data[item]

View File

@ -26,6 +26,7 @@ from ..objects import (
) )
from ..utils.config import logging_settings from ..utils.config import logging_settings
from ..utils import string_processing, shared from ..utils import string_processing, shared
from ..utils.string_processing import clean_song_title
from ..utils.support_classes.query import Query from ..utils.support_classes.query import Query
from ..utils.support_classes.download_result import DownloadResult from ..utils.support_classes.download_result import DownloadResult
@ -355,8 +356,10 @@ class Musify(Page):
if raw_id.isdigit(): if raw_id.isdigit():
_id = raw_id _id = raw_id
return Song( return Song(
title=song_title, title=clean_song_title(song_title, artist_name=artist_list[0].name if len(artist_list) > 0 else None),
main_artist_list=artist_list, main_artist_list=artist_list,
source_list=source_list source_list=source_list
) )
@ -502,7 +505,7 @@ class Musify(Page):
)) ))
return Song( return Song(
title=track_name, title=clean_song_title(track_name, artist_name=artist_list[0].name if len(artist_list) > 0 else None),
source_list=source_list, source_list=source_list,
lyrics_list=lyrics_list, lyrics_list=lyrics_list,
main_artist_list=artist_list, main_artist_list=artist_list,
@ -645,7 +648,7 @@ class Musify(Page):
)) ))
return Song( return Song(
title=song_name, title=clean_song_title(song_name, artist_name=artist_list[0].name if len(artist_list) > 0 else None),
tracksort=tracksort, tracksort=tracksort,
main_artist_list=artist_list, main_artist_list=artist_list,
source_list=source_list source_list=source_list

View File

@ -93,7 +93,7 @@ def clean_song_title(raw_song_title: str, artist_name: Optional[str] = None) ->
break break
substring = raw_song_title[open_bracket_index + 1:close_bracket_index] substring = raw_song_title[open_bracket_index + 1:close_bracket_index]
if any(disallowed_substring in substring for disallowed_substring in DISALLOWED_SUBSTRING_IN_BRACKETS): if any(disallowed_substring in substring.lower() for disallowed_substring in DISALLOWED_SUBSTRING_IN_BRACKETS):
raw_song_title = raw_song_title[:open_bracket_index] + raw_song_title[close_bracket_index + 1:] raw_song_title = raw_song_title[:open_bracket_index] + raw_song_title[close_bracket_index + 1:]
else: else:
start = close_bracket_index + 1 start = close_bracket_index + 1