class CelebrityRoleValue:
    DIRECTOR = "director"  # 导演
    AUTHOR = "author"  # 编剧
    ACTOR = "actor"  # 演员
    HOST = "host"  # 主持人


class CategoryValue:
    """
    媒体类型
    """
    MOVIE = "movie"  # 电影
    TVSERIES = "tvseries"  # 电视剧
    ANIMATION = "animation"  # 动漫
    ANIMATION_MOVIE = "animation_movie"  # 动漫电影
    SPORT = "sport"  # 体育
    TRAVEL = "travel"  # 旅游
    WEB_TV = "web_tv"  # 网剧
    WEB_MOVIE = "web_movie"  # 网络电影
    VARIETY = "variety"  # 综艺
    EDUCATION = "education"  # 教育
    MOTHER_BABY = "mother_baby"  # 母婴
    GAME = "game"  # 游戏
    SHORT_FILM = "short_film"  # 短片
    DOCUMENTARY = "documentary"  # 纪录片
    SQUARE_DANCE = "square_dance"  # 广场舞
    IP = "IP"  # IP
    SPECIAL_COLUMN = "SPECIAL_COLUMN"  # 专题栏目
    CHILDREN = "children"  # 儿童
    E_SPORTS = "e_sports"  # 电竞
    OPERA = "opera"  # 戏曲
    HEALTHY = "healthy "  # 健康
    LIFE = "life"  # 生活
    FILM = "film"  # 影视
    SMART_CHILDREN = "smart_child"
    MINI_DRAMA = "mini_drama"
    NO_MATCH = "no_match"
    maps = {
        MOVIE: "电影",
        TVSERIES: "电视剧",
        ANIMATION: "动漫",
        ANIMATION_MOVIE: "动漫电影",
        SPORT: "体育",
        TRAVEL: "旅游",
        WEB_TV: "网剧",
        WEB_MOVIE: "网络电影",
        VARIETY: "综艺",
        EDUCATION: "教育",
        MOTHER_BABY: "母婴",
        GAME: "游戏",
        SHORT_FILM: "短片",
        DOCUMENTARY: "纪录片",
        SQUARE_DANCE: "广场舞",
        IP: "IP",
        SPECIAL_COLUMN: "专题栏目",
        CHILDREN: "儿童",  # 儿童
        E_SPORTS: "电竞",
        OPERA: "戏曲",
        HEALTHY: "健康",
        LIFE: "生活",
        FILM: "影视",
        SMART_CHILDREN: "智慧幼托",
        MINI_DRAMA: "微短剧",
        NO_MATCH: "未定义"
    }

    rev_maps = {v: k for k, v in maps.items()}

    @staticmethod
    def category_map():
        """!!!!请勿随意修改。注入时会用到，修改可能会引发注入问题"""
        return CategoryValue.maps

    @staticmethod
    def desc(category):
        return CategoryValue.category_map()[category]

    @staticmethod
    def movie_category():
        return CategoryValue.MOVIE, CategoryValue.ANIMATION_MOVIE, CategoryValue.WEB_MOVIE

    @staticmethod
    def to_category(chn: str):
        return CategoryValue.rev_maps.get(chn)


class ResFormatValue:
    """
    响应格式
    """
    RAW = "RAW"  # "RAW"
    JSON = "JSON"  # "JSON格式"
