def charts_format(chart_list): formatted_list = [] for entry in chart_list: genre_tag = entry[0] artist_tag = genre_tag + str(entry[1]) album_tag = artist_tag + entry[2] genre = get_entity_from_tag(genre_tag) artist = get_entity_from_tag(artist_tag) album = get_entity_from_tag(album_tag) formatted_album = { "album_id": album_tag, "rank": chart_list.index(entry) + 1, "genre": genre.name, "artist_name": artist.name, "album_name": album.name, "label_name": None if album.label_id is None else album.label.name, "promoter_name": None if album.promoter_id is None else album.promoter.name, "times_played": entry[3] } formatted_list.append(formatted_album) return formatted_list
def __init__(self, **kwargs): if "id" in kwargs: decomposed_tag = decompose_tag(kwargs["id"]) kwargs["album_id"] = find_album_id(decomposed_tag.genre_abbr, decomposed_tag.artist_num, decomposed_tag.album_letter) if decomposed_tag.song_num is not None: kwargs["number"] = decomposed_tag.song_num kwargs.pop("id") if "number" not in kwargs: from klap4.db_entities import get_entity_from_tag album = get_entity_from_tag(f"{kwargs['genre_abbr']}{kwargs['artist_num']}{kwargs['album_letter']}") kwargs["number"] = len(album.songs) + 1 if "fcc_status" not in kwargs: kwargs["fcc_status"] = Song.FCC_STATUS.UNRATED if "times_played" not in kwargs: kwargs["times_played"] = 0 if "recommended" not in kwargs: kwargs["recommended"] = False if "last_played" not in kwargs: kwargs["last_played"] = datetime.fromtimestamp(0) super().__init__(**kwargs)
def __init__(self, **kwargs): if "id" in kwargs: decomposed_tag = decompose_tag(kwargs["id"], regex_hint="playlist") kwargs["playlist_id"] = find_playlist_id(decomposed_tag.dj_id, decomposed_tag.name) if decomposed_tag.song_num is not None: kwargs["index"] = decomposed_tag.song_num kwargs.pop("id") if "index" not in kwargs: from klap4.db_entities import get_entity_from_tag playlist = get_entity_from_tag( f"{kwargs['dj_id']}+{kwargs['playlist_name']}") kwargs["index"] = len(playlist.playlist_entries) + 1 kwargs["playlist_id"] = playlist.id kwargs.pop("dj_id") kwargs.pop("playlist_name") print(playlist) #kwargs["reference"] = normalize_metadata[kwargs["reference_type"]](kwargs["reference"]) super().__init__(**kwargs)
def get_klap4_metadata(song_key: str) -> json: from klap4.db_entities import get_entity_from_tag song = get_entity_from_tag(song_key) return { "artist": song.artist.name, "album": song.album.name, "song": song.name }
def change_album_fcc(ref, fcc): from klap4.db import Session session = Session() album = get_entity_from_tag(ref) for song in album.songs: song.fcc_status = fcc session.commit() return get_json(album)
def __init__(self, **kwargs): if "id" in kwargs: decomposed_tag = decompose_tag(kwargs["id"]) kwargs["genre_id"] = find_genre_id(decomposed_tag.genre_abbr) if decomposed_tag.artist_num is not None: kwargs["number"] = decomposed_tag.artist_num kwargs.pop("id") if "number" not in kwargs: from klap4.db_entities import get_entity_from_tag genre = get_entity_from_tag(kwargs["genre_abbr"]) kwargs["number"] = genre.next_artist_num super().__init__(**kwargs)
def change_single_fcc(ref, song_number, fcc): from klap4.db import Session session = Session() album = get_entity_from_tag(ref) album_id = album.id update_song = session.query(Song) \ .join(Album, and_(Album.id == Song.album_id, album.id == album_id)) \ .filter(Song.number == song_number) \ .one() update_song.fcc_status = fcc session.commit() return get_json(update_song)
def __init__(self, **kwargs): if "id" in kwargs: decomposed_tag = decompose_tag(kwargs["id"]) kwargs["artist_id"] = find_artist_id(decomposed_tag.genre_abbr, decomposed_tag.artist_num) if decomposed_tag.album_letter is not None: kwargs["letter"] = decomposed_tag.album_letter kwargs.pop("id") if "letter" not in kwargs: from klap4.db_entities import get_entity_from_tag artist = get_entity_from_tag( f"{kwargs['genre_abbr']}{kwargs['artist_num']}") kwargs["letter"] = artist.next_album_letter defaults = { "date_added": datetime.now(), "missing": False, } kwargs = {**defaults, **kwargs} super().__init__(**kwargs)
def get(self, ref): album = get_entity_from_tag(ref) serialized_album = album.serialize() return serialized_album
def get(self, ref): artist = get_entity_from_tag(ref) serialized_artist = artist.serialize() return jsonify(serialized_artist)