def _get_genres_list(sql_request): """ get list of genres by slq request :param sql_request: slq request :return: list of genres """ sql_data = get_data_from_db(sql_request) genres = create_genres_list(sql_data) return genres
def get_artist(id_artist: int) -> dict: """ get all information (columns) about artist by id :param id_artist: id of artist :return: dict artists data """ sql_request = sql_request_artist(id_artist) sql_data = get_data_from_db(sql_request) artist = create_artist(sql_data) return artist
def get_songs_year(year: int) -> list: """ get year's song data tuple :param year: year :) :return: year's song data dict """ sql_request = sql_request_songs_year(year) sql_data = get_data_from_db(sql_request) songs = create_songs_year(sql_data) return songs
def get_song(id_song: int) -> dict: """ get all information (columns) about song by id :param id_song: id of song :return: dict song data """ sql_request = sql_request_song(id_song) sql_data = get_data_from_db(sql_request) song = create_song(sql_data) return song
def get_genre(id_genre) -> dict: """ get all information (columns) about genre by id :param id_genre: id of song :return: genre """ sql_request = sql_request_genre(id_genre) sql_data = get_data_from_db(sql_request) genre = create_genre(sql_data) return genre
def get_genres_song(id_song) -> list: """ Get song's genre data :param id_song: id of song :return: list song's genre data """ sql_request = sql_request_genres_song(id_song) sql_data = get_data_from_db(sql_request) genres = create_genres(sql_data) return genres
def get_genres_artist(id_artist) -> list: """ Get artist's genre data :param id_artist: id of artist :return:list artist's genre data """ sql_request = sql_request_genres_artist(id_artist) sql_data = get_data_from_db(sql_request) genres = create_genres(sql_data) return genres
def get_genres_year(year) -> list: """ get year's genre data :param year: billboard year :return: list genre data """ sql_request = sql_request_genres_year(year) sql_data = get_data_from_db(sql_request) genres = create_data_of_year(sql_data) return genres
def get_artists_of_year(year: int) -> list: """ get all performer's artists of songs by billboard year :param year: billboard year :return: list artists data """ sql_request = sql_request_artists_year(year) sql_data = get_data_from_db(sql_request) artists = create_data_of_year(sql_data) return artists
def get_performers_of_song(id_song: int) -> list: """ get all performer's artists of song by song id :param id_song: id of song :return: list artists data """ sql_request = sql_request_performers_of_song(id_song) sql_data = get_data_from_db(sql_request) artists = create_artists(sql_data) return artists
def get_featuring_artists(id_artist: int) -> list: """ get all the artists with whom current artist has performed songs :param id_artist: id of artist :return: list artists data """ sql_request = sql_request_featuring_artists(id_artist) sql_data = get_data_from_db(sql_request) artists = create_artists(sql_data) return artists
def get_billboard_of_song(id_song) -> list: """ Get billboard year and position of song :param id_song: id song :return: year and position data """ sql_request = _sql_request_billboard_song(id_song) sql_data = get_data_from_db(sql_request) billboard = create_billboard_of_song(sql_data) return billboard
def get_songs_genre(id_genre: int, limit=0) -> list: """ Get genre's song data tuple :param id_genre: id of genre :param limit: limit songs :return: genre's song data tuple """ sql_request = sql_request_songs_genre(id_genre, limit) sql_data = get_data_from_db(sql_request) songs = create_songs_genre(sql_data) return songs
def get_years_list(years_, order='') -> dict: """ Main function for getting tuple of years data by ids :param years_: list of required years :param order: request information of 'order by' :return: tuple of years data or empty list if doesn't have required information """ sql_request = _sql_constructor_years(years_, order) sql_data = get_data_from_db(sql_request) years = create_years_list(sql_data) return years
def get_artists_genre(id_genre: int, limit=0) -> list: """ get all artist by the genre :param id_genre: id of genre :param limit: limit of genres :return: list artists data """ sql_request = sql_request_artists_genre(id_genre, limit) sql_data = get_data_from_db(sql_request) artists = create_artists(sql_data) return artists
def get_songs_artist(id_artist: int, id_song_pass=0, limit=0) -> list: """ Get artist's songs data tuple :param id_artist: id of artist :param id_song_pass: id song to skip :param limit: limit songs :return: artist's songs data dict """ sql_request = sql_request_songs_artist(id_artist, id_song_pass, limit) sql_data = get_data_from_db(sql_request) songs = create_songs_artist(sql_data) return songs
def get_years_genre(id_genre) -> dict: """ get years that has song with current genre :param id_genre: current genre :return: tuple years data """ # It's look strange, but it's fine, probably sql_request = _sql_request_years_genre(id_genre) sql_data = get_data_from_db(sql_request) years_list = get_ids_by_request(sql_request) years_data = get_years_list(years_list) years = create_years_genre(sql_data, years_data) return years
def _get_artists_list(id_artists: list, order='') -> list: """ Main function for getting list of artists by ids :param id_artists: list of required ids of artists :param order: request information of 'order by' :return: list of artists data or empty list if doesn't have required information """ sql_request = sql_constructor_artists(id_artists, order) if sql_request == '': return [] sql_data = get_data_from_db(sql_request) artists = create_artists_list(sql_data) return artists
def _get_songs_list(id_songs: list, order='') -> list: """ Main function for getting list of songs by ids :param id_songs: list required ids of songs :param order: request information of 'order by' :return: list of songs or empty list if doesn't have required information """ sql_request = _sql_constructor_songs(id_songs, order) if sql_request == '': return [] sql_data = get_data_from_db(sql_request) songs = create_songs_list(sql_data) return songs