Ejemplo n.º 1
0
    def convert(self,fields):
        '''
        :REF 换算
        '''
        if len(fields)!=2:
            return [1,"input_error"]
        else:
            if fields[0] is None or fields[0]=="":
                return [0,""]
            else:
                _res_cpn=dict_win_page_type.get(fields[0])
                if _res_cpn is None or _res_cpn=="":
                    return [0, "未知"]
                else:
                    _res_cpn_type_id=dict_win_page_id.get(fields[0])

                    if _res_cpn_type_id is None or _res_cpn_type_id=="":
                        return [0,_res_cpn]
                    else:
                        # 如果FPNID没有值 如果为离线播放(5005) 返回type_name 其它报错
                        if str(fields[0]) == "5005":
                            if fields[1] is None or fields[1] == "":
                                return [0, _res_cpn]
                        else:
                            if fields[1] is None or fields[1] == "":
                                return [1, "CPNID_NO_VALUE"]

                        if _res_cpn_type_id=="cid":
                            #后续要加上
                            _res = mpp_cms_cid_name_map_client.get_c_name_by_cid([fields[1]])
                            if _res[0] != 0:
                                _res = media_vrs_fstlvlid_map_client.get_c_name_by_cid([fields[1]])
                        elif _res_cpn_type_id=="vid":
                            # fpn fpid均为5005时,是正常的
                            if str(fields[1]) == "5005" and str(fields[0]) == "5005":
                                return [0, _res_cpn+"||"+_res_cpn]
                            _res=MediaVrsVidName().convert([fields[1]])
                        else:
                            _res=[4,"FPNID_TYPE_UNKWON"]

                        if _res[0]==0:
                            return [0,_res_cpn+"||"+_res[1]]
                        else:
                            return [1,_res[1]]
Ejemplo n.º 2
0
    def convert(self, field):
        """
        :param field:  input field data(vid)
        :return: plid
        """
        if len(field) < 1:
            return [1, "input_err"]

        # 当vid大于1亿时, 表示是关系id, 需要通过改id查询vid、bdid
        if str(field[0]).isdigit() and int(field[0]) > 100000000:
            _res = media_cms_playlist_vid_map_client.get_vid_by_rid([field[0]])

            if _res[0] == 0:
                field[0] = _res[1]
            else:
                return _res
        _res_cid = mpp_cms_id_map_client.get_c_id_by_vid(field)
        if _res_cid[0] == 0:
            return mpp_cms_cid_name_map_client.get_c_name_by_cid([_res_cid[1]])
        else:
            return _res_cid
Ejemplo n.º 3
0
    def convert(self, fields):
        '''
        :URL 换算
        '''
        if len(fields) != 2:
            return [1, "input_error"]
        else:
            if fields[0] is None or fields[0] == "":
                return [1, "input_error_cpn"]
            else:
                _res_cpn = dist_win10_page_type.get(fields[0])
                if _res_cpn is None or _res_cpn == "":
                    return [0, "未知"]
                else:
                    _res_cpn_type_id = dist_win10_page_id.get(fields[0])

                    if _res_cpn_type_id is None or _res_cpn_type_id == "":
                        return [0, _res_cpn]
                    else:
                        #如果FPNID没有值
                        if fields[1] is None or fields[1] == "":
                            return [1, "CPNID_NO_VALUE"]

                        if _res_cpn_type_id == "cid":
                            #后续要加上
                            _res = mpp_cms_cid_name_map_client.get_c_name_by_cid(
                                [fields[1]])
                            if _res[0] != 0:
                                _res = media_vrs_fstlvlid_map_client.get_c_name_by_cid(
                                    [fields[1]])
                        elif _res_cpn_type_id == "vid":
                            _res = MediaVrsVidName().convert([fields[1]])
                        else:
                            _res = [4, "FPNID_TYPE_UNKWON"]

                        if _res[0] == 0:
                            return [0, _res_cpn + "||" + _res[1]]
                        else:
                            return [1, _res[1]]
Ejemplo n.º 4
0
    def convert(self, fields):
        '''
        :Mobile REF转换类,FPN FPID,VERSION,CHANNEL_ID,SOURCE_ID,PT,VID 根据版本做对应的规则
        '''
        #FPN FPID为空
        if len(fields) < 3:
            return [1, "input_error"]
        else:
            if fields[0] is None or fields[0] == "":
                return [0, ""]
            else:
                _ver = fields[2]
                if _ver is None:
                    return [1, "VERION"]

                if "pad" in str(_ver).lower():
                    device_name = "pad"
                    com_page = ipad_page
                    com_page_id_type = ipad_page_id_type
                else:
                    device_name = "phone"
                    com_page = mobile_page
                    com_page_id_type = mobile_page_id_type

                _page_type_name = com_page.get(fields[0])
                if _page_type_name is None or len(
                        _page_type_name) < 1 or _page_type_name == "":
                    return [0, "未知"]
                else:
                    #如果发现了页面类型,则需要看页面类型对应的ID是否需要进行转换,如果需要进行转换则进行换算
                    #点播和PT为0,直播PT为4
                    _page_type_name = _page_type_name[0]
                    _page_type = com_page_id_type.get(fields[0])

                    if _page_type is None or _page_type == "":
                        return [0, _page_type_name]
                    else:
                        # 如果FPNID没有值 如果为离线播放(43) 返回type_name 其它报错
                        if str(fields[0]) == "43" or str(fields[0]) == "56":
                            if fields[1] is None or fields[1] == "":
                                return [0, _page_type_name]
                        else:
                            if fields[1] is None or fields[1] == "":
                                return [1, "CPNID_NO_VALUE"]

                        if _page_type == "app_cid":
                            _res = MediaAppCidName().convert(
                                [fields[1], device_name])
                            if _res[0] != 0:
                                _res = media_vrs_cid_for_client_map_client.get_c_name_by_cid_for_client(
                                    [fields[1]])
                        elif _page_type == "cid":
                            #后续要加上
                            _res = mpp_cms_cid_name_map_client.get_c_name_by_cid(
                                [fields[1]])
                            if _res[0] != 0:
                                _res = media_vrs_fstlvlid_map_client.get_c_name_by_cid(
                                    [fields[1]])
                        elif _page_type == "vid":
                            _res = MediaVrsVidName().convert([fields[1]])
                        elif _page_type == "source_id":
                            #直播,后续要加上
                            if _ver == "":
                                return [1, "VERION"]
                            else:
                                _ver = _ver.lower()
                                if _ver.find('iphone') >= 0:
                                    # 针对42类型, >4.7.0 都通换source_ID换算,<=4.7.0是channel_ID
                                    if str(fields[0]) == "42":
                                        _re_version_num = get_version_num(_ver)
                                        if _re_version_num[0] == 0:
                                            if _re_version_num[1] < 470:
                                                _res = media_live_channel_id_client.get_channel_name_by_channel_id(
                                                    [fields[1]])
                                            else:
                                                _res = media_live_source_id_client.get_source_name_name_by_source_id(
                                                    [fields[1]])
                                        else:
                                            return _re_version_num
                                    else:
                                        _res = media_live_source_id_client.get_source_name_name_by_source_id(
                                            [fields[1]])
                                elif _ver.find('aphone') >= 0:
                                    _res = media_live_source_id_client.get_source_name_name_by_source_id(
                                        [fields[1]])
                                elif _ver.find('pad') >= 0:
                                    _res = media_live_source_id_client.get_source_name_name_by_source_id(
                                        [fields[1]])
                                else:
                                    _res = [4, "VERSION_UNKOWN"]
                        elif _page_type == "ztid":
                            _res = MediaAppZtName().convert(
                                [fields[1], device_name])
                            if _res[0] != 0:
                                _res = media_vrs_cid_for_client_map_client.get_c_name_by_cid_for_client(
                                    [fields[1]])
                        elif _page_type == "h5_url":
                            _res = cn_mobile_activity.get_activity_url(
                                fields[1])
                        else:
                            _res = [4, "FPNID_TYPE_UNKWON"]
                        #判断值
                        if _res[0] == 0:
                            if _page_type == "h5_url" and _res[1] == "":
                                return [0, _page_type_name]
                            else:
                                return [0, _page_type_name + "||" + _res[1]]
                        else:
                            return [1, _res[1]]
Ejemplo n.º 5
0
    def convert(self, fields):
        """
        :Mobile REF转换类,FPN FPID根据版本做对应的规则
        """
        # FPN FPID为空
        if len(fields) < 3:
            return [1, "input_error"]
        else:
            if fields[0] is None or fields[0] == "" or fields[0] == "-":
                return [0, ""]
            else:
                _ver = fields[2]
                if _ver is None:
                    return [1, "VERION"]

                if "pad" in str(_ver).lower():
                    device_name = "pad"
                    com_page = ipad_page
                    com_page_id_type = ipad_page_id_type
                else:
                    device_name = "phone"
                    com_page = mobile_page
                    com_page_id_type = mobile_page_id_type

                _page_type_name = com_page.get(fields[0])
                if _page_type_name is None or len(
                        _page_type_name) < 1 or _page_type_name == "":
                    return [0, "未知"]
                else:
                    # 如果发现了页面类型,则需要看页面类型对应的ID是否需要进行转换,如果需要进行转换则进行换算
                    # 点播和PT为0,直播PT为4
                    _page_type_name = _page_type_name[0]
                    _page_type = com_page_id_type.get(fields[0])

                    if _page_type is None or _page_type == "":
                        return [0, _page_type_name]
                    else:
                        # 如果FPNID没有值 如果为离线播放(43) 返回type_name 其它报错
                        if str(fields[0]) == "43" or str(fields[0]) == "56":
                            if fields[1] is None or fields[1] == "":
                                return [0, _page_type_name]
                        else:
                            if fields[1] is None or fields[1] == "":
                                return [1, "CPNID_NO_VALUE"]

                        if _page_type == "app_cid":
                            _res = MediaAppCidName().convert(
                                [fields[1], device_name])
                            if _res[0] != 0:
                                _res = media_vrs_cid_for_client_map_client.get_c_name_by_cid_for_client(
                                    [fields[1]])
                        elif _page_type == "cid":
                            #后续要加上
                            _res = mpp_cms_cid_name_map_client.get_c_name_by_cid(
                                [fields[1]])
                            if _res[0] != 0:
                                _res = media_vrs_fstlvlid_map_client.get_c_name_by_cid(
                                    [fields[1]])
                        elif _page_type == "vid":
                            _res = MediaVrsVidName().convert([fields[1]])
                        elif _page_type == "source_id":
                            _res = media_live_source_id_client.get_source_name_name_by_source_id(
                                [fields[1]])
                        elif _page_type == "ztid":
                            _res = MediaAppZtName().convert(
                                [fields[1], device_name])
                            if _res[0] != 0:
                                _res = media_vrs_cid_for_client_map_client.get_c_name_by_cid_for_client(
                                    [fields[1]])
                        elif _page_type == "h5_url":
                            _res = cn_mobile_activity.get_activity_url(
                                fields[1])
                        else:
                            _res = [4, "FPNID_TYPE_UNKWON"]
                        # 判断值
                        if _res[0] == 0:
                            if _page_type == "h5_url" and _res[1] == "":
                                return [0, _page_type_name]
                            else:
                                return [0, _page_type_name + "||" + _res[1]]
                        else:
                            return [1, _res[1]]