"""Constants related to projects and campaigns.""" from enum import Enum from typing import List, Optional MAX_PRIMARY_ARTISTS = 3 MAX_FEATURED_ARTISTS = 20 MAX_PRODUCT_FAMILIES_TO_ATTACH = 20 MAX_RECENTLY_VIEWED_PROJECTS = 9 MAX_NEWLY_ADDED_PROJECT = 4 class ProjectTargetTypes(Enum): ARTIST = "Artist" PLAYLIST = "Playlist" @staticmethod def all_values() -> List[str]: # noinspection PyTypeChecker return list(map(lambda c: c.value, ProjectTargetTypes)) @staticmethod def from_value(value: str) -> Optional["ProjectTargetTypes"]: try: target_type = ProjectTargetTypes(value) except ValueError: return None return target_type