DSP_TYPE_YOUTUBE = 3 DSP_TYPE_SOUNDCLOUD = 7 DSP_TYPE_SPOTIFY = 14 DSP_TYPE_TIKTOK = 19 ALL_DSP_IDS = (DSP_TYPE_YOUTUBE, DSP_TYPE_SOUNDCLOUD, DSP_TYPE_SPOTIFY, DSP_TYPE_TIKTOK) MAX_LIST_LEN_SF_QUERY = 15000 NON_SIGNED_TRACK_COLUMNS = {"ARTIST_ID", "ARTWORK_URL", "ID", "ISRC", "NAME", "RELEASE_DATE", "SPOTIFY_TRACK_ID"} OK_STATUS = "ok" VALIDATION_STATUS_NON_SIGNED_ARTIST = { "non_signed_artists": "No data in T_NON_SIGNED_ARTIST", "artist_ids_type": "Artists have incorrect type of ID column", "artists_dsp_label": "Artists have different labels for different dsp", "excluded_labels": "Labels weren't excluded", "excluded_artists": "Some artists weren't excluded", "dead_artists": "There are some dead artists", } VALIDATION_STATUS_NON_SIGNED_TRACK = { "non_signed_tracks": "No data in T_NON_SIGNED_TRACK", "non_signed_tracks_columns": "Not expected columns in T_NON_SIGNED_TRACK", "id_is_chartmetric": "Some tracks don't have chartmetric IDs", "track_id_is_chartmetric": "Some artists don't have chartmetric IDs", "one_artist_one_track": "Tracks have few artists", "track_own_isrc": "Tracks have duplicated ISRC", "not_null_columns": "Tracks have wrong NULLs data in columns", } VALIDATION_ES_ARTIST_INDEX = { "es_artist_search_index": "ES artist index is empty", "compare_es_artist_index_with_sf_non_signed_artist": "Quantity of artist in ES and SF is not the same", } VALIDATION_ARTIST_TIKTOK_VIDEO = { "correct_number_video_values": "There are some artists with not correct number of tiktok videos", "missed_tiktok_video_data_for_artist": "Some artists have missed data for TT video", "missed_artist_tiktok_data": "Some artist tiktok data are missed(on charts etc)", } VALIDATION_ARTIST_YOUTUBE_VIDEO = { "correct_number_video_values": "There are some artists with not correct number of youtube videos", "missed_artist_youtube_data": "Some artists have missed data for youtube video", "missed_youtube_video_data_for_artist": "Some artist youtube data are missed(on charts etc)", }