mirror of
https://github.com/tcsenpai/swingmusic.git
synced 2025-06-06 19:25:34 +00:00
clean album title on tracks too if cleaning is set to true
This commit is contained in:
parent
740f45b9ac
commit
f6dc28f80d
@ -2,7 +2,8 @@ from dataclasses import dataclass
|
|||||||
|
|
||||||
from app.settings import get_flag, ParserFlags
|
from app.settings import get_flag, ParserFlags
|
||||||
from app.utils.hashing import create_hash
|
from app.utils.hashing import create_hash
|
||||||
from app.utils.parsers import split_artists, remove_prod, parse_feat_from_title, clean_title
|
from app.utils.parsers import split_artists, remove_prod, parse_feat_from_title, clean_title, \
|
||||||
|
get_base_title_and_versions
|
||||||
from .artist import ArtistMinimal
|
from .artist import ArtistMinimal
|
||||||
|
|
||||||
|
|
||||||
@ -33,9 +34,11 @@ class Track:
|
|||||||
artist_hashes: str = ""
|
artist_hashes: str = ""
|
||||||
is_favorite: bool = False
|
is_favorite: bool = False
|
||||||
og_title: str = ""
|
og_title: str = ""
|
||||||
|
og_album: str = ""
|
||||||
|
|
||||||
def __post_init__(self):
|
def __post_init__(self):
|
||||||
self.og_title = self.title
|
self.og_title = self.title
|
||||||
|
self.og_album = self.album
|
||||||
|
|
||||||
if self.artist is not None:
|
if self.artist is not None:
|
||||||
artists = split_artists(self.artist)
|
artists = split_artists(self.artist)
|
||||||
@ -58,6 +61,9 @@ class Track:
|
|||||||
|
|
||||||
self.title = new_title
|
self.title = new_title
|
||||||
|
|
||||||
|
if get_flag(ParserFlags.CLEAN_ALBUM_TITLE):
|
||||||
|
self.album, _ = get_base_title_and_versions(self.album, get_versions=False)
|
||||||
|
|
||||||
self.artist_hashes = "-".join(create_hash(a, decode=True) for a in artists)
|
self.artist_hashes = "-".join(create_hash(a, decode=True) for a in artists)
|
||||||
self.artist = [ArtistMinimal(a) for a in artists]
|
self.artist = [ArtistMinimal(a) for a in artists]
|
||||||
|
|
||||||
@ -79,10 +85,10 @@ class Track:
|
|||||||
Recreates a track hash if the track title was altered
|
Recreates a track hash if the track title was altered
|
||||||
to prevent duplicate tracks having different hashes.
|
to prevent duplicate tracks having different hashes.
|
||||||
"""
|
"""
|
||||||
if self.og_title == self.title:
|
if self.og_title == self.title and self.og_album == self.album:
|
||||||
return
|
return
|
||||||
|
|
||||||
self.trackhash = create_hash(", ".join([a.name for a in self.artist]), self.album, self.title)
|
self.trackhash = create_hash(", ".join([a.name for a in self.artist]), self.og_album, self.title)
|
||||||
|
|
||||||
def recreate_artists_hash(self):
|
def recreate_artists_hash(self):
|
||||||
self.artist_hashes = "-".join(a.artisthash for a in self.artist)
|
self.artist_hashes = "-".join(a.artisthash for a in self.artist)
|
||||||
|
@ -20,7 +20,7 @@ class AlbumStore:
|
|||||||
return Album(
|
return Album(
|
||||||
albumhash=track.albumhash,
|
albumhash=track.albumhash,
|
||||||
albumartists=track.albumartist, # type: ignore
|
albumartists=track.albumartist, # type: ignore
|
||||||
title=track.album,
|
title=track.og_album,
|
||||||
)
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
Loading…
x
Reference in New Issue
Block a user