1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- # coding=utf-8
- from sdk.tool.ad_json_6 import *
- def _find_and_add_facebook_platform_app_id(ad_json):
- fb_pool = ad_json.get_pool(AD_TYPE.INTERSTITIAL, AD_PLATFROM.FACEBOOK)
- if fb_pool is None:
- Logging.error("未找到facebook的插屏池,请确认原ad.json是否正常,或已经转换成了bidding")
- exit(0)
- max_priority_fb_ad_id = fb_pool.max_priority_ad_id()
- fb_app_id = max_priority_fb_ad_id.split("_")[0]
- print "读取到facebook的AppId: {}".format(fb_app_id)
- ad_json.add_platform_id(RED_SDK_AD_PLATFORM.FACEBOOK_BID, fb_app_id)
- print fb_app_id
- def _trans_facebook_waterfull_to_bidding(ad_json, ad_type):
- pool = ad_json.get_pool(ad_type, AD_PLATFROM.FACEBOOK)
- if pool is None:
- Logging.error("未找到facebook的插屏池,请确认原ad.json是否正常,或已经转换成了bidding")
- exit(0)
- max_id = pool.max_priority_ad_id()
- bidders = ad_json.get_bidders(ad_type)
- bidders.add_bidder(AD_PLATFROM.FACEBOOK, max_id)
- ad_json.remove_pool(ad_type, AD_PLATFROM.FACEBOOK)
- ad_json.remove_strategy(ad_type, AD_PLATFROM.FACEBOOK)
- def _print_script_info():
- print "************************************************************"
- print "* 脚本作用: 升级ad.json到6.1.4所需要的格式 "
- print "* 参数说明:"
- print "* 源ad.json文件路径"
- print "* 转换后写入ad.json文件路径(为空则写入源文件)"
- print "* 例:"
- print "* python ad_json_facebook_bidding.py /user/test/ad.json"
- print "************************************************************"
- print ""
- def add_facebook_bidding(old_ad_json_path, to_ad_json_path):
- print "源ad.json: {}".format(old_ad_json_path)
- ad_json = AdJson6()
- ad_json.read(old_ad_json_path)
- _find_and_add_facebook_platform_app_id(ad_json)
- _trans_facebook_waterfull_to_bidding(ad_json, AD_TYPE.INTERSTITIAL)
- _trans_facebook_waterfull_to_bidding(ad_json, AD_TYPE.VIDEO)
- print "--------------------------"
- ad_json.print_desc()
- # 写入
- if to_ad_json_path is None:
- to_ad_json_path = old_ad_json_path
- ad_json.write(to_ad_json_path)
- print "目标ad.json写入成功: {}".format(to_ad_json_path)
- def run(argv):
- _print_script_info()
- if len(argv) < 3:
- Logging.error("参数个数小于2个")
- exit(0)
- from_path = argv[1]
- to_path = argv[2]
- add_facebook_bidding(from_path, to_path)
- if __name__ == '__main__':
- arg_v = [
- "ad_json_facebook_bidding.py",
- "/Users/zhuge/Temp/20201226/test/ad.json",
- "/Users/zhuge/Temp/20201226/test/ad_facebook_bidding.json",
- ]
- run(arg_v)
|