class BaseConfig(object):
    # category id mapping
    CATEGORY = {
        'recommend': [0],  # 推荐
        'other': [1, 2, 3]  # 其他类别
    }
    # 前k个从ROV召回池中获取视频
    K = 3
    # 从流量池获取视频的概率设置
    P = 0.5
    # ROV召回池redis key前缀,完整格式:com.weiqu.video.recall.hot.item.score.{date}
    RECALL_KEY_NAME_PREFIX = 'com.weiqu.video.recall.hot.item.score.'
    # 流量池redis key
    FLOW_POOL_KEY_NAME = 'com.weiqu.video.flowpool.hot.item.score'
    # 首页推荐预曝光列表redis key 前缀,完整key格式:PSEUDO_EXPOSURE_KEY_PREFIX.{appType}.{mid}
    PSEUDO_EXPOSURE_KEY_PREFIX = 'com.weiqu.video.hot.recommend.pseudo.exposure.'


class DevelopmentConfig(BaseConfig):
    """测试环境配置"""
    # 测试环境redis地址
    REDIS_INFO = {
        'host': 'r-bp1ps6my7lzg8rdhwx682.redis.rds.aliyuncs.com',
        'port': 6379,
        'password': 'Wqsd@2019',
    }

    # Hologres连接参数,本地使用
    HOLOGRES_INFO = {
        'host': 'hgprecn-cn-7pp28y18c00c-cn-hangzhou.hologres.aliyuncs.com',
        'port': 80,
        'dbname': 'dssm',
        'user': 'LTAI5tMPqPy9yboQAf1mBCCN',
        'password': '4BEcOgxREOPq7t3A7EWkjciVULeQGj'
    }

    # Hologres视频状态存储表名
    VIDEO_STATUS = 'longvideo_test.dwd_mdm_item_video_stat'

    # 用户已观看视频过滤 & 视频审核条件过滤 & 是否进入老年人社区过滤 & 话题状态过滤 接口地址
    # 参数types: 1-已观看 2-视频状态 3-是否进入老年人社区过滤 4-话题状态
    VIDEO_FILTER_URL = 'http://videotest-internal.yishihui.com/longvideoapi/openapi/recommend/filterVideos'


class TestConfig(BaseConfig):
    """测试环境配置"""
    # 测试环境redis地址
    REDIS_INFO = {
        'host': 'r-bp1ps6my7lzg8rdhwx682.redis.rds.aliyuncs.com',
        'port': 6379,
        'password': 'Wqsd@2019',
    }

    # Hologres连接参数,服务器使用
    HOLOGRES_INFO = {
        'host': 'hgprecn-cn-7pp28y18c00c-cn-hangzhou-vpc.hologres.aliyuncs.com',
        'port': 80,
        'dbname': 'dssm',
        'user': 'LTAI5tMPqPy9yboQAf1mBCCN',
        'password': '4BEcOgxREOPq7t3A7EWkjciVULeQGj'
    }


def set_config():
    return DevelopmentConfig()