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]]
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
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]]
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]]
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]]