"""Validation Constants.""" TRACK_FIELD_MIN_VOL = 1 TRACK_FIELD_MAX_VOL = 255 TRACK_NAME_MAX_LENGTH = 200 # Classical Track.track_name consists from work + movement fields # joined via ': ' so it leaves 253 characters for fields themselves CLASSICAL_TRACK_NAME_MAX_LENGTH = 253 MAX_LOCALIZATIONS_PER_TRACK = 5 ERRORS = 'errors' VARIOUS_ARTISTS = set(map(str.lower, [ 'Various Artists', 'V/A', 'V.A.', 'Various', 'Various Artist', 'Varios', 'Verschillende artiesten', 'Multi-interprètes', 'Verschiedene Interpreten', 'Artisti Vari', 'Vários intérpretes', 'Varios Artistas', 'Blandade Artiste' ])) SOUNDTRACK_SUBGENRE = { 'Theatre Scores', 'TV Soundtracks', 'Chinese Soundtrack', 'Soundtracks', 'Indian Carnatic Classical', 'Indian Hindustani Classical', 'Indian Tamil Film', 'Indian Telugu Film', 'Turkish Soundtrack', 'Original Score', 'Indian Bollywood', 'Indian Carnatic Classical', 'Instrumental', 'Indian Classical', 'Indian Hindustani Classical Instrumental', 'Indian Regional Film' } MAX_ISRC_REUSE = 'max_isrc_reuse' MAX_ISRC_REUSE_VALUE = 5 POTENTIAL_AUDIO_INFRINGEMENT = 'potential_audio_infringement' POTENTIAL_AUDIO_INFRINGEMENT_VALUE = True CROSS_ACCOUNT_OSR_CONFLICT = 'cross_account_osr_conflict' CROSS_ISRC_OSR_MISMATCH = 'cross_isrc_osr_mismatch' CROSS_TRACK_ISRC_MISMATCH = 'cross_track_isrc_mismatch' AI_GENERATED_AUDIO = 'ai_generated_audio' AI_GENERATED_AUDIO_VALUE = True SPOTIFY_WATCHLIST_ARTIST = 'spotify_watchlist_artist' SPOTIFY_WATCHLIST_ARTIST_VALUE = True PRODUCER_REQUIRED_START_DATE = '2024-11-05'