This commit is contained in:
Lars Noack 2022-11-30 16:15:38 +01:00
parent a050680dd7
commit 8d484bde68
7 changed files with 34 additions and 20 deletions

View File

@ -1,19 +1,15 @@
import music_kraken as mk import music_kraken
print(mk.__file__)
""" artist = music_kraken.Artist(
mk.clear_cache() name="I'm in a Coffin"
song_list = mk.cache.get_custom_track([]) )
print(mk.cache, len(song_list))
id_="694bfd3c-9d2d-4d67-9bfc-cee5bf77166e" song = music_kraken.Song(
id_="5cc28584-10c6-40e2-b6d4-6891e7e7c575" title="Vein Deep in the Solution",
mk.fetch_metadata(id_=id_, type_="recording") release="One Final Action",
artists=[artist]
)
song = mk.cache.get_track_metadata(musicbrainz_releasetrackid=id_)
print(song) print(song)
print(song.length)
mk.set_targets(genre="test")
song = mk.cache.get_track_metadata(musicbrainz_releasetrackid=id_) music_kraken.fetch_sources([song])
"""
mk.fetch_audios(mk.cache.get_tracks_to_download())

View File

@ -39,6 +39,7 @@ musicbrainzngs.set_useragent("metadata receiver", "0.1", "https://github.com/HeI
# define the most important values and function for import in the __init__ file # define the most important values and function for import in the __init__ file
Song = database.Song Song = database.Song
Artist = database.Artist
MetadataSearch = metadata.MetadataSearch MetadataSearch = metadata.MetadataSearch
MetadataDownload = metadata.MetadataDownload MetadataDownload = metadata.MetadataDownload

View File

@ -39,9 +39,10 @@ class Download:
@classmethod @classmethod
def fetch_sources(cls, songs: List[song_object], skip_existing_files: bool = False): def fetch_sources(cls, songs: List[song_object], skip_existing_files: bool = False):
for song in songs: for song in songs:
if os.path.exists(song.target.file) and skip_existing_files: if song.target.is_set():
logger.info(f"skipping the fetching of the download links, cuz {song.target.file} already exists.") if os.path.exists(song.target.file) and skip_existing_files:
continue logger.info(f"skipping the fetching of the download links, cuz {song.target.file} already exists.")
continue
sucess = False sucess = False
for src in AUDIO_SOURCES: for src in AUDIO_SOURCES:

View File

@ -8,7 +8,7 @@ from . import (
) )
Song = song.Song Song = song.Song
Artist = artist.Artist Artist = song.Artist
Source = source.Source Source = source.Source
Target = target.Target Target = target.Target
Metadata = metadata.Metadata Metadata = metadata.Metadata

View File

@ -13,7 +13,7 @@ from .song import (
def get_song_from_response(response: dict) -> Song: def get_song_from_response(response: dict) -> Song:
# artists # artists
artists = [Artist(a) for a in response['artists']] artists = [Artist(id_=a['id'], name=a['name']) for a in response['artists']]
# metadata # metadata
metadata = Metadata() metadata = Metadata()

View File

@ -6,6 +6,19 @@ from .source import Source
from .target import Target from .target import Target
class Artist:
def __init__(self, id_: str = None, name: str = None) -> None:
self.id = id_
self.name = name
def __eq__(self, __o: object) -> bool:
if type(__o) != type(self):
return False
return self.id == __o.id
def __str__(self) -> str:
return self.name
class Lyrics: class Lyrics:
def __init__(self, text: str, language: str) -> None: def __init__(self, text: str, language: str) -> None:

View File

@ -25,6 +25,9 @@ class Target:
if self._path is None: if self._path is None:
return None return None
return os.path.join(MUSIC_DIR, self._path) return os.path.join(MUSIC_DIR, self._path)
def is_set(self) -> bool:
return not (self._file is None or self._path is None)
file = property(fget=get_file, fset=set_file) file = property(fget=get_file, fset=set_file)
path = property(fget=get_path, fset=set_path) path = property(fget=get_path, fset=set_path)