added playlist
This commit is contained in:
@@ -446,19 +446,6 @@ class EncyclopaediaMetallum(Page):
|
||||
LOGGER.warning(f"code {r.status_code} at {source.url}")
|
||||
return album
|
||||
|
||||
# prepare tracklist
|
||||
track_by_url = dict()
|
||||
track_by_name = dict()
|
||||
for track in album._tracklist:
|
||||
track_by_name[string_processing.unify(track.title)] = track
|
||||
for source in track.get_sources_from_page(cls.SOURCE_TYPE):
|
||||
track_by_url[source.url] = album
|
||||
old_tracklist = album._tracklist.copy()
|
||||
# save the ids of the albums, that are added to this set, so I can
|
||||
# efficiently add all leftover albums from the discography to the new one
|
||||
used_ids = set()
|
||||
new_tracklist = []
|
||||
|
||||
soup = BeautifulSoup(r.text, 'html.parser')
|
||||
|
||||
tracklist_soup = soup.find("table", {"class": "table_lyrics"}).find("tbody")
|
||||
@@ -488,34 +475,26 @@ class EncyclopaediaMetallum(Page):
|
||||
minutes, seconds = duration_stamp.split(":")
|
||||
length = (int(minutes) * 60 + int(seconds))*1000 # in milliseconds
|
||||
|
||||
track: Song
|
||||
if track_id in track_by_url:
|
||||
track = track_by_url[track_id]
|
||||
used_ids.add(track.id)
|
||||
elif title in track_by_name:
|
||||
track = track_by_name[title]
|
||||
used_ids.add(track.id)
|
||||
else:
|
||||
track = Song(
|
||||
id_=track_id,
|
||||
title=title,
|
||||
length=length,
|
||||
tracksort=track_sort
|
||||
)
|
||||
track.add_source(Source(cls.SOURCE_TYPE, track_id))
|
||||
|
||||
new_tracklist.append(track)
|
||||
track: Song = album.tracklist.get_object_with_source(track_id) or album.tracklist.get_object_with_attribute("title", title)
|
||||
|
||||
print(track)
|
||||
print("-"*20)
|
||||
# print(row)
|
||||
|
||||
for old_track in old_tracklist:
|
||||
if old_track.dynamic:
|
||||
if track is not None:
|
||||
track.add_source(Source(cls.SOURCE_TYPE, track_id))
|
||||
track.length = length
|
||||
track.tracksort = track_sort
|
||||
continue
|
||||
if old_track.id not in used_ids:
|
||||
new_tracklist.append(old_track)
|
||||
album.tracklist = new_tracklist
|
||||
|
||||
|
||||
track = Song(
|
||||
id_=track_id,
|
||||
title=title,
|
||||
length=length,
|
||||
tracksort=track_sort,
|
||||
source_list=[
|
||||
Source(cls.SOURCE_TYPE, track_id)
|
||||
]
|
||||
)
|
||||
|
||||
album.tracklist.append(track)
|
||||
|
||||
return album
|
||||
|
||||
|
Reference in New Issue
Block a user