music-kraken-core/src/create_custom_objects.py

91 lines
2.1 KiB
Python
Raw Normal View History

2023-01-23 23:16:10 +00:00
import music_kraken
2023-03-10 07:42:10 +00:00
from music_kraken import objects
2023-01-23 23:16:10 +00:00
from music_kraken.tagging import (
AudioMetadata,
write_metadata,
write_many_metadata
)
import music_kraken.database.old_database as db
2023-01-23 23:16:10 +00:00
import pycountry
import logging
logging.disable()
2023-01-23 23:16:10 +00:00
def div(msg: str = ""):
print("-" * 50 + msg + "-" * 50)
cache.reset()
2023-01-30 13:41:02 +00:00
def print_song(song_: Song):
print(str(song_.metadata))
print("----album--")
print(song_.album)
2023-01-30 13:41:02 +00:00
print("----src----")
print("song:")
print(song_.source_list)
print("album:")
print(song_.album.source_list)
print("\n")
2023-01-23 23:16:10 +00:00
2023-01-30 13:41:02 +00:00
song = Song(
2023-01-23 23:16:10 +00:00
genre="HS Core",
title="Vein Deep in the Solution",
length=666,
isrc="US-S1Z-99-00001",
tracksort=2,
target=Target(file="song.mp3", path="~/Music"),
lyrics=[
Lyrics(text="these are some depressive lyrics", language="en"),
2023-01-30 13:41:02 +00:00
Lyrics(text="Dies sind depressive Lyrics", language="de")
2023-01-23 23:16:10 +00:00
],
2023-01-30 13:41:02 +00:00
source_list=[
2023-01-23 23:16:10 +00:00
Source(SourcePages.YOUTUBE, "https://youtu.be/dfnsdajlhkjhsd"),
Source(SourcePages.MUSIFY, "https://ln.topdf.de/Music-Kraken/")
],
2023-01-30 13:41:02 +00:00
album=Album(
title="One Final Action",
date=ID3Timestamp(year=1986, month=3, day=1),
language=pycountry.languages.get(alpha_2="en"),
label="cum productions",
source_list=[
Source(SourcePages.ENCYCLOPAEDIA_METALLUM,
"https://www.metal-archives.com/albums/I%27m_in_a_Coffin/One_Final_Action/207614")
2023-01-30 13:41:02 +00:00
]
),
main_artist_list=[
Artist(
name="I'm in a coffin",
source_list=[
Source(SourcePages.ENCYCLOPAEDIA_METALLUM,
"https://www.metal-archives.com/bands/I%27m_in_a_Coffin/127727")
2023-01-30 13:41:02 +00:00
]
),
Artist(name="some_split_artist")
],
feature_artist_list=[Artist(name="Ruffiction")],
2023-01-23 23:16:10 +00:00
)
2023-01-30 13:41:02 +00:00
print_song(song)
2023-01-23 23:16:10 +00:00
div()
2023-01-30 13:41:02 +00:00
song_ref = song.reference
cache.push([song])
2023-01-23 23:16:10 +00:00
# getting song by song ref
2023-01-30 13:41:02 +00:00
song_list = cache.pull_songs(song_ref=song_ref)
song_from_db = song_list[0]
print_song(song_from_db)
2023-01-23 23:16:10 +00:00
# try writing metadata
write_metadata(song)
# getting song by album ref
div()