continued tagging
This commit is contained in:
parent
8fc2351c93
commit
be8a3084e3
@ -1,5 +1,5 @@
|
|||||||
import os.path
|
import os.path
|
||||||
from select import select
|
|
||||||
|
|
||||||
import musicbrainzngs
|
import musicbrainzngs
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
@ -81,7 +81,7 @@ class Search:
|
|||||||
|
|
||||||
return tracklist_metadata
|
return tracklist_metadata
|
||||||
|
|
||||||
def download_track(self, mb_id, is_various_artist: bool = None, track: int = None, total_tracks: int = None):
|
def download_track(self, mb_id, is_various_artist: bool = None, track: int = None, total_tracks: int = None, album_sort: int = None):
|
||||||
"""
|
"""
|
||||||
TODO
|
TODO
|
||||||
bpm its kind of possible via the AcousticBrainz API. however, the data may not be of very good
|
bpm its kind of possible via the AcousticBrainz API. however, the data may not be of very good
|
||||||
@ -91,10 +91,19 @@ class Search:
|
|||||||
Either enter the value 1 or delete the field. https://en.wikipedia.org/wiki/Compilation_album
|
Either enter the value 1 or delete the field. https://en.wikipedia.org/wiki/Compilation_album
|
||||||
How should I get it? I don't fucking know
|
How should I get it? I don't fucking know
|
||||||
|
|
||||||
composer
|
composer, copyright
|
||||||
|
|
||||||
|
isrc
|
||||||
|
|
||||||
DONE
|
DONE
|
||||||
|
|
||||||
album
|
album
|
||||||
|
title
|
||||||
|
artist
|
||||||
|
albumartist
|
||||||
|
tracknumber
|
||||||
|
!!!albumsort can sort albums cronological
|
||||||
|
titlesort is just set to the tracknumber to sort by track order to sort correctly
|
||||||
|
|
||||||
Album Art
|
Album Art
|
||||||
"""
|
"""
|
||||||
@ -102,14 +111,27 @@ class Search:
|
|||||||
aliases, tags, user-tags, ratings, user-ratings, area-rels, artist-rels, label-rels, place-rels, event-rels,
|
aliases, tags, user-tags, ratings, user-ratings, area-rels, artist-rels, label-rels, place-rels, event-rels,
|
||||||
recording-rels, release-rels, release-group-rels, series-rels, url-rels, work-rels, instrument-rels """
|
recording-rels, release-rels, release-group-rels, series-rels, url-rels, work-rels, instrument-rels """
|
||||||
|
|
||||||
result = musicbrainzngs.get_recording_by_id(mb_id, includes=["artists", "releases", "recording-rels"])
|
result = musicbrainzngs.get_recording_by_id(mb_id, includes=["artists", "releases", "recording-rels", "isrcs"])
|
||||||
print(result)
|
print(result)
|
||||||
recording_data = result['recording']
|
recording_data = result['recording']
|
||||||
release_data = recording_data['release-list'][0]
|
release_data = recording_data['release-list'][0]
|
||||||
|
mb_release_id = release_data['id']
|
||||||
|
|
||||||
title = recording_data['title']
|
title = recording_data['title']
|
||||||
artist = [artist_['artist']['name'] for artist_ in recording_data['artist-credit']]
|
artist = [artist_['artist']['name'] for artist_ in recording_data['artist-credit']]
|
||||||
artist_ids = [artist_['artist']['id'] for artist_ in recording_data['artist-credit']]
|
mb_artist_ids = [artist_['artist']['id'] for artist_ in recording_data['artist-credit']]
|
||||||
|
|
||||||
|
def get_additional_artist_info(mb_id_):
|
||||||
|
r = musicbrainzngs.get_artist_by_id(mb_id_, includes=["releases"])
|
||||||
|
|
||||||
|
album_sort = 0
|
||||||
|
for i, release in enumerate(r["artist"]["release-list"]):
|
||||||
|
id_ = release["id"]
|
||||||
|
if id_ == mb_release_id:
|
||||||
|
album_sort = i
|
||||||
|
break
|
||||||
|
|
||||||
|
return album_sort
|
||||||
|
|
||||||
def get_additional_release_info(mb_id_):
|
def get_additional_release_info(mb_id_):
|
||||||
r = musicbrainzngs.get_release_by_id(mb_id_, includes=["artists", "recordings", "recording-rels"])
|
r = musicbrainzngs.get_release_by_id(mb_id_, includes=["artists", "recordings", "recording-rels"])
|
||||||
@ -128,16 +150,19 @@ class Search:
|
|||||||
year = release_data['date'].split("-")[0]
|
year = release_data['date'].split("-")[0]
|
||||||
if is_various_artist is None or track is None or total_tracks is None:
|
if is_various_artist is None or track is None or total_tracks is None:
|
||||||
is_various_artist, track, total_tracks = get_additional_release_info(album_id)
|
is_various_artist, track, total_tracks = get_additional_release_info(album_id)
|
||||||
|
if album_sort is None:
|
||||||
|
album_sort = get_additional_artist_info(mb_artist_ids[0])
|
||||||
album_artist = "Various Artists" if is_various_artist else artist[0]
|
album_artist = "Various Artists" if is_various_artist else artist[0]
|
||||||
|
|
||||||
return [{
|
return [{
|
||||||
'id': mb_id,
|
'album': album,
|
||||||
'title': title,
|
'title': title,
|
||||||
'artist': artist,
|
'artist': artist,
|
||||||
'album_artist': album_artist,
|
'album_artist': album_artist,
|
||||||
'album': album,
|
'tracknumber': track,
|
||||||
|
'albumsort': album_sort,
|
||||||
|
'titlesort': track,
|
||||||
'year': year,
|
'year': year,
|
||||||
'track': track,
|
|
||||||
'total_tracks': total_tracks
|
'total_tracks': total_tracks
|
||||||
}]
|
}]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user