music-kraken-core/src/metal_archives.py

76 lines
1.8 KiB
Python
Raw Normal View History

2023-03-02 15:23:02 +00:00
from music_kraken import objects
2023-01-30 22:54:21 +00:00
2023-03-02 06:59:53 +00:00
2023-01-23 23:16:10 +00:00
from music_kraken.pages import (
EncyclopaediaMetallum
2022-12-06 16:55:07 +00:00
)
2022-11-24 13:13:55 +00:00
2023-03-02 06:59:53 +00:00
"""
2023-01-30 22:54:21 +00:00
test_db = Database("test.db")
# test_db.reset()
def print_source(source_obj):
for source in source_obj.source_list:
print(source)
2023-01-30 22:54:21 +00:00
def print_song(song_: Song):
print(str(song_.metadata))
print("----album--")
print(song_.album)
print("----src----")
print("song:")
print(song_.source_list)
print("album:")
print(song_.album.source_list)
print("artist:")
print([a.source_list for a in song_.main_artist_list])
print([a.source_list for a in song_.feature_artist_list])
2023-01-30 22:54:21 +00:00
print("\n")
def print_artist(artist: Artist):
print(artist)
2023-02-08 16:14:51 +00:00
print_source(artist)
print("---discography---")
for album in artist.discography:
2023-02-08 16:14:51 +00:00
print_album(album)
def print_album(album: Album):
print(album)
print_source(album)
2023-01-30 22:54:21 +00:00
2023-01-24 17:15:07 +00:00
# only_smile = EncyclopaediaMetallum.search_by_query("only smile")
# print(EncyclopaediaMetallum.search_by_query("#a Ghost Bath"))
# print(EncyclopaediaMetallum.search_by_query("#a Ghost Bath #r Self Loather"))
2023-01-30 22:54:21 +00:00
songs_in_db = test_db.pull_songs()
song: Song
if len(songs_in_db) <= 0:
print("didn't find song in db.... downloading")
song: Song = EncyclopaediaMetallum.search_by_query("#a Ghost Bath #r Self Loather #t hide from the sun")[0]
test_db.push_song(song)
else:
print("found song in database")
song = songs_in_db[0]
print_song(song)
artist = song.main_artist_list[0]
2023-02-08 16:14:51 +00:00
artist = EncyclopaediaMetallum.fetch_artist_details(artist, flat=False)
print_artist(artist)
2023-03-02 06:59:53 +00:00
"""
results = EncyclopaediaMetallum.search_by_query("#a only smile")
2023-03-02 15:23:02 +00:00
artist = results[0]
print(artist)
artist: objects.Artist = EncyclopaediaMetallum.fetch_details(artist)
for release in artist.main_album_collection:
print(release)
print(release.song_collection)